![](/images/blog/steamdeck-wiimote/wiideck.png)
Wiimotes, the Steam Deck, and Dolphin
The Beginning
So, the Wii and associated bits are somewhat an old piece of hardware these days. For most of my gaming needs, I end up using my Steam Deck or desktop computer - which are great.
However, I’m really a fan of not sitting down all the time - which is kinda what the Wii is all about. But, it’s yet another thing that I have to plug into the TV, and the bits like the component video cables are showing their age.
So, Naturally I need to
declutter my life
and emulate the Wii on the Steam Deck. One less thing to worry about.
![Wiimote](/images/blog/steamdeck-wiimote/wiimote.png)
However, the Wii is a complex piece of hardware. Emulating it these days is easy enough with Dolphin, but the wiimotes are another story. They have an infrared camera, and accelerometer, and potentially1 a gyroscope.
But, the weirdest part is that these complicated little sticks do this all over Bluetooth. Yes, these controllers released in 2006.
Naturally, they’re a bit funky about it, but that means they can (at least in theory2) work with modern devices!
So, I naturally tried to do it the dumb way (basic controller pairing), and… Nope. A less naïve approach would be needed.
The Problem
So, it turns out that we don’t want Steam Input to bind to the Wiimotes.
It turns out what we want to happen is for Dolphin to take over the Bluetooth stack and talk with the controllers itself.
The Solution
Linux Setup
First, we need to modify SteamOS to allow Dolphin to use Bluetooth Passthrough properly.
You’ll need to add a sudo
password via passwd
if you haven’t already.
To disable the read-only protection (potentially dangerous
):
sudo steamos-readonly disable
Then, we need to go to: /etc/udev/rules.d/
and create a new file named 52-dolphin.rules
.
The contents should be:
# Wiimotes
SUBSYSTEM=="usb", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0306", TAG+="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0330", TAG+="uaccess"
The first is for original (white/black) controllers, the second is the Motion Plus (blue) one.
Then, you can reload the rules as here, but I would just reboot the Deck to be sure.
Once that is done, you can re-enable the read-only protection.
sudo steamos-readonly enable
After that, it’s time to set up Dolphin properly.
Dolphin Setup
Go into Desktop Mode and open Dolphin. If you don’t have it installed already, do so. I recommend Emudeck.
In Dolphin, open the Controller Settings
dialog, then select the “Passthrough a Bluetooth adapter” option in the Wii Remotes section.
You’ll want an easy way to sync the controllers to the Deck, as they won’t automatically connect. Under Hotkey Settings
, go to Wii and Wii Remote
.
Then, you’ll want to bind a button of your choice to the Press Sync Button
option.
I chose a back paddle button3. I would also bind General -> Toggle Fullscreen
while you’re here.
For the next part, you’ll have to have a game running while you do this. I recommend having Graphics Settings -> Start in Fullscreen
unchecked.
- Press the actual sync button4 on the controller.
- Press your bound ‘sync’ button on the Steam Deck every few seconds.
That’s it! It should just work. For me, all Wiimote functionality including the speakers worked, besides remembering the pairing.