18 KiB
Dolphin / Primehack - General Guide
Dolphin feature rich a GameCube and Wii Emulator.
Primehack is a fork of Dolphin intended just to give Metroid Prime Trilogy mouselook controls and other improvements.
Dolphin Links:
Primehack Links
Where to put the games?
Gamecube:
Should be put under the retrodeck/roms/gc/
directory.
Wii:
Should be put under the retrodeck/roms/wii/
directory.
What file formats does Dolphin / Primehack support?
File Format | Description |
---|---|
.ciso | Compressed ISO image file |
.dff | Digital Forensics File |
.dol | GameCube executable file |
.elf | Executable and Linkable Format |
.gcm | GameCube disc image file |
.gcz | Compressed GameCube disc image |
.iso | Standard ISO disc image |
.json | JavaScript Object Notation file |
.m3u | Playlist file |
.rvz | Compressed GameCube/Wii disc image (Recommended) |
.tgc | GameCube disc image format |
.wad | WiiWare and Virtual Console game file |
.wbfs | Wii Backup File System image |
.wia | Compressed Wii disc image |
.7z | Compressed archive file |
.zip | Compressed archive file |
NOTE:
.wbfs
and .wad
are the original format supported by the Wii console.
Does Dolphin require BIOS or Firmware?
Optional IPL.bin
for GameCube boot intros.
Where to put the GameCube BIOS?
Dolphin looks for the IPL.bin
in the save folders. Put each region's IPL.bin
in the corresponding saves folder.
Type | Folder | Flatpak Source | Emulator Folder | Comment |
---|---|---|---|---|
GameCube Saves EU | retrodeck/saves/gc/dolphin/EU/ |
var/data/dolphin-emu/GC/EUR/ |
dolphin-emu/GC/EUR/ |
|
GameCube Saves US | retrodeck/saves/gc/dolphin/US/ |
var/data/dolphin-emu/GC/USA/ |
dolphin-emu/GC/USA/ |
|
GameCube Saves JP | retrodeck/saves/gc/dolphin/JP/ |
var/data/dolphin-emu/GC/JAP/ |
dolphin-emu/GC/JAP/ |
Folder structure
Dolphin
This shows what folder corresponds to each folder in the standard Dolphin structure
Type | Folder | Flatpak Source | Emulator Folder | Comment |
---|---|---|---|---|
GameCube Saves EU | retrodeck/saves/gc/dolphin/EU/ |
var/data/dolphin-emu/GC/EUR/ |
dolphin-emu/GC/EUR/ |
|
GameCube Saves JP | retrodeck/saves/gc/dolphin/JP/ |
var/data/dolphin-emu/GC/JAP/ |
dolphin-emu/GC/JAP/ |
|
GameCube Saves US | retrodeck/saves/gc/dolphin/US/ |
var/data/dolphin-emu/GC/USA/ |
dolphin-emu/GC/USA/ |
|
Mods | retrodeck/mods/Dolphin/ |
var/data/dolphin-emu/Load/GraphicMods |
dolphin-emu/Load/GraphicMods/ |
|
ROMs Gamecube Folder | retrodeck/roms/gc/ |
|||
ROMs Wii Folder | retrodeck/roms/wii/ |
|||
Screenshots | retrodeck/screenshots/ |
var/data/dolphin-emu/ScreenShots/ |
dolphin-emu/ScreenShots/ |
|
States | retrodeck/states/dolphin/ |
var/data/dolphin-emu/StateSaves/ |
dolphin-emu/StateSaves/ |
|
Texture Packs | retrodeck/mods/Dolphin/ |
var/data/dolphin-emu/Load/Textures/ |
dolphin-emu/Load/Textures/ |
|
Wii Saves | retrodeck/saves/wii/dolphin/ |
var/data/dolphin-emu/Wii/ |
dolphin-emu/Wii/ |
PrimeHack
This shows what folder corresponds to each folder in the standard PrimeHack structure
Type | Folder | Flatpak Source | Emulator Folder | Comment |
---|---|---|---|---|
GameCube Saves EU | retrodeck/saves/gc/primehack/EU/ |
var/data/primehack/GC/EUR/ |
primehack/GC/EUR/ |
|
GameCube Saves JP | retrodeck/saves/gc/primehack/JP/ |
var/data/primehack/GC/JAP/ |
primehack/GC/JAP/ |
|
GameCube Saves US | retrodeck/saves/gc/primehack/US/ |
var/data/primehack/GC/USA/ |
primehack/GC/USA/ |
|
Mods | retrodeck/mods/Primehack/ |
var/data/primehack/Load/GraphicMods |
primehack/Load/GraphicMods/ |
|
ROMs Gamecube Folder | retrodeck/roms/gc/ |
|||
ROMs Wii Folder | retrodeck/roms/wii/ |
|||
Screenshots | retrodeck/screenshots/ |
var/data/primehack/ScreenShots/ |
primehack/ScreenShots/ |
|
States | retrodeck/states/primehack/ |
var/data/primehack/StateSaves/ |
primehack/StateSaves/ |
|
Texture Packs | retrodeck/mods/Primehack/ |
var/data/primehack/Load/Textures/ |
primehack/Load/Textures/ |
|
Wii Saves | retrodeck/saves/wii/primehack/ |
var/data/primehack/Wii/ |
primehack/Wii/ |
Where do I change the language of Dolphin / Primehack?
- In the
Configurator
open eitherDolphin
orPrimehack
. - Navigate to
Options
->Configuration
->Interface
. - Select preferred language in the drop-down menu.
- Close the Emulator, Configurator and return to RetroDECK.
Gamecube Controls
The controls here are described as an Xbox Layout style controller.
Action | Button | Comment |
---|---|---|
A | A |
|
B | B |
|
X | X |
|
Y | Y |
|
Z | R2 or L2 |
|
START | START |
|
Control Stick | Left Stick |
|
C Stick | Right Stick |
|
D-Pad Up | D-Pad Up |
|
D-Pad Down | D-Pad Down |
|
D-Pad Left | D-Pad Left |
|
D-Pad Right | D-Pad Right |
Wii Controls for Controllers
The controls here are described as an Xbox Layout style controller.
There are hotkeys in the Radial Menus to change the Wii Mote from Upright / Sidways.
Action | Button | Comment |
---|---|---|
1 | Y |
|
2 | X |
|
A | A or Left Mouse Click |
|
B | B |
|
C | R1 |
|
D-Pad Down | D-Pad Down |
|
D-Pad Left | D-Pad Left |
|
D-Pad Right | D-Pad Right |
|
D-Pad Up | D-Pad Up |
|
Home | R3 |
|
+ | Start |
|
- | Select |
|
Shake Nunchuck | L1 + L2 |
|
Shake Wii Mote | L1 |
|
Z | L2 |
Wii Motion - Pointer Emulation
- Mouse movement is the general way to to get the pointer emulation.
Left Mouse Click
that correspons to a press of theA
button (as that one is the one mostly used for Wii games that are based around pointing as the primary button).- RetroDECK Hotkeys features several ways to enable
Joystick as Mouse
Emulation. - You could also use a mouse / touchpad.
Wii Motion - Tilt Emulation
Tilt emulation is made possible by holding the L2
button and moving the Right Joystick
.
Action | Button | Comment |
---|---|---|
Tilt Down | L2 + Right Joystick Down |
|
Tilt Left | L2 + Right Joystick Left |
|
Tilt Right | L2 + Right Joystick Right |
|
Tilt Up | L2 + Right Joystick Up |
Information: Using Real Wii Remotes
Tip: Sync Wiimote Button Hotkey
RetroDECK has a built-in hotkey for pressing the Dolphin Sync Wiimote
button (Alt + W
) if you get disconnected in Steam Input. It can also be accessed from some controller's radial menu systems.
Hardware Prerequisites
- A Wii Sensor Bar alternative (wireless or wired).
- A Linux compatible Bluetooth dongle or built-in Bluetooth adapter.
On Third Party Wii Remotes
Many third party Wii Remotes lack native Linux support, but several groups are working on it.
- They may work with Bluetooth Passthrough mode in Dolphin.
- They may or may not remember pairing with the Bluetooth adapter, requiring synchronization for each game.
Sources:
xwiimote-ng github - Fork of xwiimote
Related Issues:
Steam Deck Tips: Real Wii Remotes
-
Play docked, connected to a monitor/TV, with a separate Bluetooth dongle attached to the dock.
-
Set a sudo password for the Steam Deck.
-
Connect a keyboard/mouse to the dock while setting up.
-
Sit close to the Steam Deck when pairing the Wiimotes.
-
Configure Wiimotes in
Desktop Mode
first, then switch toGame Mode
when everything is working.- Open Dolphin from the Configurator.
- Make all the settings changes to connect the Wiimotes.
- Launch a game from
Desktop Mode
directly in Dolphin. - If pairing works and the Wiimotes connect and control the game fine in
Desktop Mode
, it will work inGame Mode
when launched from RetroDECK.
Mod: Wii bluetooth adapter to USB
For hardware mod enthusiasts, you can buy a Bluetooth adapter spare part from a Wii console and wire it as a USB Bluetooth adapter for better compatibility.
How to wire a Wii's Bluetooth Module to a PC USB Port
How-to: Use a Real Wii Remote - Method 1: Emulate Wii's Bluetooth Adapter
This method works only with the Official Wii Remote controller and is the easiest method.
Step 1: Open Dolphins Controller Settings

Open RetroDECK Configurator
-> Open Emulator
-> Dolphin
-> Options
-> Controller Settings
.
Step 2: Change the Settings
Under Emulate the Wii's Bluetooth adapter
:
- Change the values of Wii Remote dropdown lists from
Emulated Wii Remote
toReal Wii Remote
. - Enable the following checkboxes:
Connect Wii Remotes for Emulated Controllers
Continuous Scanning
Step 3: Syncing the Wiimotes
- Connect the Wiimote by pressing the
Sync Button
when a game is launched. - Reconnect every time when launching a new game.
- If everything works, re-pairing should be quick with the press of the
A
button without needing to press theSync Button
again.
How-to: Use a Real Wii Remote - Method 2: Bluetooth Passthrough
This method works with both 3rd party and official Wiimotes. It is more complex and has some downsides.
🛑 Warning 🛑
- This method makes the Bluetooth adapter unusable for other devices while playing Wii games.
- No other devices can connect to it except Wiimotes, meaning all other devices will disconnect.
- It is recommended to have a backup input method like a wireless keyboard or a controller with a dongle/cable.
Source: Dolphin Wiki: Bluetooth_Passthrough
Step 1: Find Your Vendor and Product IDs
First you need to find our your Vendor ID
Product ID
for the Bluetooth adapter you want to use.
- Open a terminal window.
- Type
lsusb
. - It will display all connected USB or BUS devices.
Example:
Bus 001 Device 003: ID 0bda:5650 Realtek Semiconductor Corp.
Bus 001 Device 004: ID 8087:0025 Intel Corp. Wireless-AC 9260 Bluetooth Adapter
ID 8087:0025 Intel Corp. Wireless-AC 9260 Bluetooth Adapter
is the Bluetooth Adapter in this example. The ID 8087:0025
left value is the Vendor ID
while the right is Product ID
. In this example: Vendor ID
is 8087
and Product ID
is 0025
.
Step 2: Create the rules file
You will need root privileges for this.
- Open a terminal and type the following command, replacing
Vendor ID
andProduct ID
respectively:
sudo echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="Vendor ID", ATTRS{idProduct}=="Product ID", TAG+="uaccess"' | sudo tee -a /etc/udev/rules.d/52-dolphin.rules > /dev/null
From the example above, the result should look like this:
sudo echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="8087", ATTRS{idProduct}=="0025", TAG+="uaccess"' | sudo tee -a /etc/udev/rules.d/52-dolphin.rules > /dev/null
- Reload udev rules with: sudo udevadm control --reload-rules.
- Take out and reinsert the Bluetooth adapter or reboot if a built-in was used.
Step 3: Enable Bluetooth Passthrough in Dolphin
Open RetroDECK Configurator
-> Open Emulator
-> Dolphin
-> Options
-> Controller Settings
.

Change Bluetooth type:
- From
Emulate the Wii's Bluetooth adapter
toPassthrough a Bluetooth Adapter
Enable the following checkboxes:

Connect Wii Remotes for Emulated Controllers
Continuous Scanning
Step 4: Syncing the Wiimotes
- Connect the Wiimote when a game is launched.
- Reconnect every time when launching a new game.
- Press
1
and2
together on the Wiimote or theSync Button
(under the backplate) when launching a game. - Sometimes, press the
Sync Button
on the Emulated Wii in the Dolphin Interface. RetroDECK has a built-in shortcut for this (Alt + W
), accessible from the Steam Input Radial Menu system.
Extra: Troubleshooting and Tips
- Sit close to the device during initial pairing.
- Pairing may take a while, especially with third-party Wiimotes. Try multiple times with the
Sync Button
+Sync Wiimote
. - To play with normal controllers again, change back to
Emulate the Wii's Bluetooth adapter
setting andEmulated Wii Remote
. - If the udev rules created in Step 2 are incorrect and Dolphin cannot get Bluetooth access, it will display an error message and crash. Ensure the file in
/etc/udev/rules.d/52-dolphin.rules
and its content are correct.
How-to: Add Mods
The ~/retrodeck/mods/dolphin/
/ ~/retrodeck/mods/primehack/
that represents the /load/GraphicMods
folder.
Note:
Some texture packs could made for a specific version or region of a game.
Make sure you have the right game and textures for it.
GAME_ID
is different for every game.
Enable Mods
- Open up Dolphin or Primehack inside
RetroDECK Configurator
by pressingOpen Emulator
-Dolphin
/Primehack
. - Press
Options
->Graphic Settings
. Enable Graphics Mods
and set it toOn
.
Add the mods
- Extract any mod files from compressed
.zip
or any other format into folders. - Go into mods folders, they contain folders that are all named by
GAME_ID
. - Move the mods into the right folder:
Dolphin: ~/retrodeck/mods/dolphin/<GAME_ID>
Primehack: ~/retrodeck/mods/primehack/<GAME_ID>
If all is correct the mods should be loaded on next game launch.
How-to: Add Texture Packs?
Primehack is based on Dolphin so the method is the same.
The ~/retrodeck/texture_packs/dolphin/
& ~/retrodeck/texture_packs/primehack/
represents the /load/Textures
folder.
Some texture packs could made for a specific version or region of a game. Make sure you have the right game and textures for it.
GAME_ID
is different for every game.
Enable Custom Textures
- Open up Dolphin or Primehack inside
RetroDECK Configurator
by pressingOpen Emulator
-Dolphin
/Primehack
. - Press
Options
->Graphic Settings
Load Custom Textures
&Prefetch Custom Textures
and set them toOn
.
Add the textures
- Extract any texture pack files from compressed
.zip
or any other format into folders. - Go into texture pack folders, they contain folders that are all named by
GAME_ID
. - Move the textures into the right folder:
Dolphin: ~/retrodeck/texture_packs/dolphin/<GAME_ID>
Primehack: ~/retrodeck/texture_packs/primehack/<GAME_ID>
If all is correct the textures should be loaded on next game launch.
How-to: Enable GameCube Boot Main Menu
Prerequisite: Place the GameCube IPL.bin
BIOS in the save folders (see above).
- Open Dolphin or Primehack in
RetroDECK Configurator
by selectingOpen Emulator
->Dolphin
/Primehack
. - Go to
Options
->Configuration
->GameCube
and uncheckSkip Main Menu
.