Rosalie's Mupen GUI is a free and open-source mupen64plus front-end written in C++. This fork is focused around netplay with the Kaillera protocol.
- This allows the users to set their own frame delay
- Auto, Server will assign frame delay based on ping.
- 1 - 9 frames = sets your frame delay by spoofing your ping toward the middle of the frame window (every 16ms)
- Notifies lobby and game room of frame delay spoofing
- Clicking Drop will stop emulation (if player 1 does it first, it will stop emulation for everyone. Everyone must still click drop
- After all players drop, the room owner is able to restart emulation for everyone
- Timestamps
- Direct Messaging (with colors)
FOR NOW, the following settings are hard coded when a user starts a netplay session:
| Setting | Local Play | Kaillera Netplay |
|---|---|---|
| RandomizeInterrupt | true (random) | false (deterministic) |
| CPU_Emulator | User's choice (default 2) | 2 (dynarec) |
| CountPerOp | ROM database / overlay | 0 (use ROM database) |
| CountPerOpDenomPot | 0 | 0 |
| SiDmaDuration | -1 | -1 |
| DisableExtraMem | User's choice | false (8MB enabled) |
| DisableSaveFileLoading | false (loads saves) | true (fresh saves) |
| RSP_Plugin | User's choice | Hacktarux/Azimer HLE RSP Plugin |
- Yes, your N64 controller works :D
RMG-Input was changed so it now uses independent per-axis scaling similar to the Ownasaurus USBtoN64v2 adapter and N-Rage input plugin:
- Should support most xinput devices
- Configurable range slider (0-100%) with default 66% to match N-Rage
- Linear scale: 100% = 127 (protocol max)
- Per-axis deadzone handling instead of circular deadzone

-
Portable Debian/Ubuntu
sudo apt-get -y install cmake libusb-1.0-0-dev libhidapi-dev libsamplerate0-dev libspeex-dev libminizip-dev libsdl3-dev libfreetype6-dev libgl1-mesa-dev libglu1-mesa-dev pkg-config zlib1g-dev binutils-dev libspeexdsp-dev qt6-base-dev qt6-websockets-dev libqt6svg6-dev libvulkan-dev build-essential nasm git zip ninja-build ./Source/Script/Build.sh Release
-
Portable Fedora
sudo dnf install libusb1-devel hidapi-devel libsamplerate-devel minizip-compat-devel SDL3-devel freetype-devel mesa-libGL-devel mesa-libGLU-devel pkgconfig zlib-ng-devel binutils-devel speexdsp-devel qt6-qtbase-devel qt6-qtsvg-devel qt6-qtwebsockets-devel vulkan-devel gcc-c++ nasm git ninja-build ./Source/Script/Build.sh Release
-
Portable Arch Linux
sudo pacman -S --needed make cmake gcc libusb hidapi freetype2 libpng qt6 sdl3 libsamplerate nasm minizip pkgconf vulkan-headers git ./Source/Script/Build.sh Release
-
Portable OpenSUSE Tumbleweed
sudo zypper install SDL3-devel cmake freetype2-devel gcc gcc-c++ libusb-1_0-devel libhidapi-devel libhidapi-hidraw0 libpng16-devel libsamplerate-devel make nasm ninja pkgconf-pkg-config speex-devel vulkan-devel zlib-devel qt6-tools-devel qt6-opengl-devel qt6-widgets-devel qt6-svg-devel minizip-devel git ./Source/Script/Build.sh Release
When it's done building, executables can be found in Bin/Release
- Installation/Packaging
export src_dir="$(pwd)"
export build_dir="$(pwd)/build"
mkdir -p "$build_dir"
cmake -S "$src_dir" -B "$build_dir" -DCMAKE_BUILD_TYPE="Release" -DPORTABLE_INSTALL="OFF" -DCMAKE_INSTALL_PREFIX="/usr" -G "Ninja"
cmake --build "$build_dir"
cmake --install "$build_dir" --prefix="/usr"- Download & Install MSYS2 (UCRT64)
pacman -S --needed make mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-libusb mingw-w64-ucrt-x86_64-hidapi mingw-w64-ucrt-x86_64-freetype mingw-w64-ucrt-x86_64-libpng mingw-w64-ucrt-x86_64-qt6 mingw-w64-ucrt-x86_64-sdl3 mingw-w64-ucrt-x86_64-speexdsp mingw-w64-ucrt-x86_64-libsamplerate mingw-w64-ucrt-x86_64-libusb mingw-w64-ucrt-x86_64-nasm mingw-w64-ucrt-x86_64-minizip mingw-w64-ucrt-x86_64-vulkan-headers git
./Source/Script/Build.sh ReleaseWhen it's done building, executables can be found in Bin/Release
Rosalie's Mupen GUI is licensed under the GNU General Public License v3.0.


