RVVM¶
Background¶
RVVM is a RISC-V CPU & System software implementation written in С, it features
- Passes RISC-V compliance/torture tests for both RV64 & RV32
- OpenSBI, U-Boot, custom firmwares boot and execute properly
- Working Linux, FreeBSD, OpenBSD, Haiku OS & other cool OSes
- Tracing JIT, multicore support
- Framebuffer display, mouse & keyboard, UART shell
- NVMe storage drives
- Networking
The RVVM core has been authored by
The RVVM core is licensed under
A summary of the licenses behind RetroArch and its cores can be found here.
Extensions¶
Content that can be loaded by the RVVM core have the following file extensions:
- .rvvm
See the Usage section for an explanation regarding its format.
Features¶
Frontend-level settings or features that the RVVM core respects.
Feature | Supported |
---|---|
Restart | - |
Saves | ✕ |
States | ✕ |
Rewind | ✕ |
Netplay | ✕ |
Core Options | ✕ |
RetroAchievements | ✕ |
RetroArch Cheats | ✕ |
Native Cheats | ✕ |
Controls | ✔ |
Remapping | - |
Multi-Mouse | - |
Rumble | ✕ |
Sensors | ✕ |
Camera | ✕ |
Location | ✕ |
Subsystem | ✕ |
Softpatching | ✕ |
Disk Control | ✕ |
Username | ✕ |
Language | ✕ |
Crop Overscan | ✕ |
LEDs | ✕ |
Geometry and timing¶
- The RVVM core's core provided FPS is 60.
- The RVVM core's core provided sample rate is 44100.
- The RVVM core's base width is 640.
- The RVVM core's base height is 480.
- The RVVM core's max width is 640.
- The RVVM core's max height is 480.
- The RVVM core's core provided aspect ratio is 4/3.
Usage¶
The RVVM core reads its machine options from a plaintext .rvvm
file, each line should be a supported option, for example a linux.rvvm
file:
Will run Linux on a 64-bit RISC-V machine, firmware image files will be loaded from the same directory of the rvvm file.
And following options are supported:
rv64
: Enable 64-bit RISC-V, which is the default.rv32
: Enable 32-bit RISC-V.mem=N
: Set memory to N MiB, N is an integer like512
, default to256
.smp=N
: Set amount of CPU cores to N, default to1
.bootrom=FILE
: Load M-mode firmware (eg: OpenSBI) from FILE.kernel=FILE
: Load S-mode kernel (eg: Linux, U-Boot, etc.) from FILE.nvme=FILE
: Attach NVMe storage image (RAW format) from FILE, can be repeated at most 4 times (the first one will be /dev/nvme0, the last one will be /dev/nvme3).cmdline=ARGS
: Set kernel command line to ARGS, default toroot=/dev/nvme0n1 rootflags=discard rw console=tty0
.
Device types¶
The RVVM core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):
- Keyboard
- Mouse