Wii Remote (Wiimote) & Nunchuck
The Wiimote, released on November 19, 2006, is the primary game controller for Nintendo's Wii home video game console. It features motion sensing technology, including an accelerometer and infrared sensor, allowing players to interact with games through physical gestures and pointing. The Wiimote has undergone several revisions, including the addition of Wii MotionPlus in 2009, which enhances the accuracy and precision of the motion sensing capabilities.
Steam Input Support
No
Linux Kernel Support
Yes, since 3.1 - hid-wiimote
Emulator usecase
Dolphin
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:
RetroDECK: Sync Wiimote Button Hotkey
RetroDECK has a built-in hotkey for pressing the Dolphin Sync Wiimote
button (Alt + W
) if you get disconnected. It can also be accessed from some controller's radial menu systems, like on the Steam Deck.
Steam Deck Tips: 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.
Dolphin: Hardware Prerequisites
- A Wii Sensor Bar alternative (wireless or wired).
- A Linux compatible Bluetooth dongle or built-in Bluetooth adapter.
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: Configure Dolphin - 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: Configure Dolphin - 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.