A mod loader for the Wii. Play Riivolution-format mods from the disc, a USB drive or the SD card.
Download ·
Guide ·
Troubleshooting ·
Report a problem ·
Discord
- Mods, no patching. Riivolution-format packs (the same XML and folders) load into the game as it starts. Your game files are never changed.
- Play from anywhere. The disc, a USB drive (FAT32, NTFS or formatted as WBFS) or the SD card, as WBFS, ISO or Dolphin's RVZ.
- WiiWare and Virtual Console. The channels on your Wii, and those in an emulated NAND on the SD card, are on Home with the rest, with cheats and video settings. WAD files can be installed into that emulated NAND from Settings.
- GameCube games. GameCube discs as files in their own folders (
sd:/games/<name>/game.iso, same on a USB drive, orgame.rvz), with memory cards, controllers and packs. - Big mods work. Pulsar and CT-CODE packs such as CTGP Revolution 1.02 and other Mario Kart Wii distributions (CTGP Revolution 1.03 does not work yet), plus packs over the network from a PC (RiiFS), and Gecko code builds like Project+ and REX without their launchers.
- Saves kept apart. Modded saves can live on the SD card, away from your Wii saves, or in the same emulated NAND as USB Loader GX's.
- Per game settings. Cheats (downloaded for you), picture width, deflicker, borders, video mode (480p, PAL 60), game language and cIOS.
- Online play. Wiimmfi, WiiLink WFC, AltWFC or your own server.
- Feels like a Wii. Covers, names and game details from GameTDB, several ways to show your games (covers, names, 3D cases on a ring, a carousel, a shelf of boxes, or channels with each game's animated icon and banner), your own order (move games around as on the Wii Menu), themes, optional sounds and music read from your own Wii Menu into memory, favourites, recently played, search, letter jumps (hold B and press a direction), a HOME Menu and seven languages (English, Spanish, Japanese, Portuguese, Italian, French and Korean).
- Any controller. Wii Remote, Classic Controller, GameCube controller, the GameCube adapter for Wii U, the Wii U Pro Controller (in games, as a Classic Controller), the Wii U GamePad (in the menu), and USB DS3/DS4 pads through fakemote; in the menu, a USB keyboard, mouse or pen tablet, and the uDraw GameTablet.
- A Wii Menu channel, on a Wii or a Wii U, and updates from inside RiftWii, always to the latest release.
- Problem reports in one step. When something goes wrong, RiftWii uploads its logs and shows a QR code to send us; no need to take out your SD card.
- Experimental: burned Wii discs, in the Wii's drive or a USB DVD drive.
You need a Wii (or a Wii U in Wii mode) with the Homebrew Channel and a FAT32 SD card. Wii games on USB or SD, and GameCube games on USB, need a d2x cIOS.
- Download the zip from Releases.
- Copy everything inside its
sd-cardfolder to the top of your SD card (and everything insideusb-driveto the top of your USB drive, if you use one). - Put mod packs in
sd:/riivolution(orusb:/riivolution) and games inwbfsorgameson the SD card or USB drive. - Start RiftWii from the Homebrew Channel.
Questions, test builds and help are on the RiftWii Discord. The guide covers everything else: each screen, online play, the GameCube adapter, writing packs, and what to send when something goes wrong.
Yes, RiftWii was written with AI assistance, and I won't pretend otherwise. But it was not vibecoded. Every step was supervised closely, because even the best models make terrible calls when you just throw them at a project and walk away. Left alone, they suggested "fixes" like patching discs at random based on assembly fingerprints to make a problem go away, and seemed to think that was fine. I can't imagine what a truly vibecoded version of this would look like. The design decisions, the testing on real hardware and the refusal to ship shortcuts like that are mine.
This is a hobby project. As a kid I wanted to play mods straight from a USB drive, and Riivolution never allowed it; its developer was firmly against USB loading. RiftWii exists to finally get past that.
RiftWii stands on a lot of other people's work. Code that follows or contains theirs names them in its file header, and NOTICE.md lists each piece: what it is, where it came from (with the commit), and its license.
- USB Loader GX (https://github.com/wiidev/usbloadergx, GPL-3.0):
the online server patches (
PrivateServerPatcher,domainpatcher), the Wiimmfi patches and Mario Kart Wii security fix, the return-to-channel patch, the language patch, the video mode tables, its fixes for particular games (Kirby's Return to Dream Land's MetaFortress, New Super Mario Bros. Wii, Prince of Persia, Resident Evil 4, Excite Truck, the error #002 and 480p fixes), its automatic cIOS choice, the region strings fix and the aspect ratio, rumble and speaker options, how it keeps saves in d2x's emulated NAND and where it keeps that NAND (for the Saves choice "SD, emulated NAND"), the Wiinnertag file the RiiTag support reads (Dimok, zlib), how to find the Wii Menu's fonts for Settings > Menu font (Dimok, giantpune, blackb0x) and read its bitmap font (giantpune and Dimok, zlib), how to drive d2x's USB device on either USB port (Dimok, Rodries, Kwiirk, zlib), and RiftWii's copy of the Gecko code handler; the channel identity and synthetic ticket layout (dude, Miigotu and Dimok, zlib; source commit in NOTICE.md). Thanks to its developers and everyone whose work it carries: ToadKing (wiilauncher-nossl), Leseratte and the Wiimmfi team, giantpune, Nuke and the GeckoOS authors, crediar, dcx2, container12345, blackb0x and WiiPower. - Gecko OS by Nuke, brkirch, Link and the Gecko authors: the cheat code handler (full source in vendor-gecko).
- Brainslug by Alex Chadwick and Florian Bach (MIT): the boot sequence. wup-028-bslug by Alex Chadwick (MIT): the GameCube controller adapter.
- Nintendont by FIX94 and contributors: the USB HID driver and the GameCube sound program patches, used with its developers' permission. WiiDRC by FIX94: the Wii U GamePad. libwiiinput by quatric: the USB keyboard, pen tablet and uDraw GameTablet drivers. dolxz by FIX94 (MIT): the idea of the packed DOL (RiftWii's own stub and format).
- Priiloader by DacoTaco: how to tell it is installed, from its installer (read only; no code copied).
- Mario Party 4 community decompilation: documentation of GameCube font encoding behavior (read only; no code copied).
- OGWS community decompilation: documentation of Wii sequence envelopes, volume controls and pan, checked against the Wii Menu in Dolphin.
- libwiigui by Tantric, FreeTypeGX by Armin Tamzarian, oggplayer and libasnd by Hermes: the menu's toolkit, text and music player, and the streaming mixer API reference.
- WiiLink WFC (wfc-patcher-wii): WiiLink online play.
- wad2bin and Yet Another BlueDump Mod by DarkMatterCore (GPL-3.0): the layout of the content.bin the Wii Menu writes when it moves a channel to the SD card, which RiftWii reads to start such a game.
- wfslib and wfs-tools by koolkdev (MIT), with Dolphin's IOS59 WFS devices: the WFS drive format Dragon Quest X installs to, which RiftWii reads to find the game (its own reader; commits in NOTICE.md).
- WiiFlow Lite (https://github.com/Fledge68/WiiFlow_Lite): channel application type and BI2 setup, checked alongside USB Loader GX; RiftWii's boot context and SD mount lifetime also follow the behavior documented by USB Loader GX, d2x and Dolphin (source commits in NOTICE.md). Its cover flow's boxes are the model for the Home shelf's cases: the plastic showing round the paper in the case's color, chosen from the player's own colors, then GameTDB's, then a series', then black for GameCube cases and white for Wii ones.
- d2x cIOS: the USB and SD game loading interface, and how its FAT module mounts and lets go of the SD card for its emulated NAND.
- devkitPro and libogc (Michael Wiedenbauer, Dave Murphy, Hector Martin, Sven Peter and others): the toolchain and the Wii library; libogc also documents the physical GameCube card read protocol, SRAM behavior and MEM1-only EXI DMA, and SD card initialization when IOS cannot do it.
- Dolphin, wiibrew, the Riivolution patch format wiki and libruntimeiospatch: how the Wii, IOS and the patch format behave (read as documentation); Dolphin also for how the Wii Remote extension's encryption key is used (the Pro Controller translator). libwbfs by Kwiirk and contributors: the WBFS drive layout. Friivolution by december: the launch argument other loaders pass (both read as documentation, nothing copied).
- projectPiki's Pikmin 2 decompilation: GameCube SDK controller lifecycle behaviour, read as documentation; no code copied.
- The Mario Kart: Double Dash!! decompilation (doldecomp): how the game asks SIProbe before it reads a controller port, read as documentation; no code copied.
- pugixml by Arseny Kapoulkine, Zstandard by Meta, BearSSL by Thomas Pornin, FreeType, zlib, libogg, Tremor, libmad.
- GameTDB for game names and covers, RiiConnect24 for the cheat archive, GameHacking.org for the cheat codes RiiConnect24's archive lacks (fetched at most once a month, when a game needs them), M+ Fonts for the menu font, Adobe and the Noto authors for Noto Sans KR (the Korean font, SIL Open Font License 1.1), Zane Little for the menu music, Kenney (kenney.nl) for the controller and button pictures, Wikimedia Commons for the age rating boards' marks (public domain).
- Animated GameCube banners: the community's banners, hosted by RiiConnect24 (banner.rc24.xyz).
- The soyjak in one theme you may find: from soyjak.party, used with their permission.
- DDinghoya for the Korean translation, MidyGamy for the French one.
GPL-3.0-or-later (LICENSE). RiftWii contains no Riivolution
code. Its third-party components, their origins and licenses are in
NOTICE.md. Each release zip carries LICENSE.txt,
NOTICE.md and SOURCE.txt (which commit of this repository it was
built from), and RiftWii shows its license and credits in Settings >
Credits and license.
Good news: RiftWii follows the GPL to the letter, and then some. For anyone who needs it spelled out:
- Every file that follows someone else's work says so at the top, with the project, the file and the functions.
- NOTICE.md lists every component, where it came from (down to the commit) and its license.
- Every release zip carries the full license, the notices and the exact commit it was built from.
- The Gecko code handler ships with its assembly source, which rebuilds it byte for byte. That's more than most Wii loaders bother with.
- RiftWii itself will show you all ~840 lines of the GPL, in Settings > Credits and license. Scrolling to the end is left as an exercise for the reader.
If you still think something is missing a credit, open an issue. It'll be fixed, politely, and probably faster than it took to write the comment.
This is a free hobby project that loads mods into games for a console from 2006. It's not that serious.
Developers and forks: start with docs/MAP.md (every file, and where each feature lives), then docs/ARCHITECTURE.md and docs/DEVELOPING.md.
I don't condone piracy. RiftWii doesn't come with any games and won't download them for you. Play your own games: discs you own, or backups you made from them yourself.
RiftWii exists for preservation, and to move Wii development forward: out of the stone age of needing an aging disc in an aging drive every time you want to play.












