Dolphin, the GameCube and Wii emulator - Forums

Full Version: Wiimote pairing issues ONLY when using the Metal backend?!?!
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
(I've already posted this in r/DolphinEmulator, because I didn't knew about this forum. But, as I still haven't got any useful response there at the time of writting this, I will post it here, so sorry in advance if I can't post it twice! Sad )

Hi! I'm trying to emulate one of my backups with Dolphin but I'm having issues with the Metal backend and my Wiimote. Initially I though the graphics' backend had nothing to do with Bluetooth pairing, but after my tests, I realized it does. Context:

- My machine is a 2020 MacBook Air (M1 processor, 16GB RAM, 8-core GPU configuration) running macOS Monterrey 12.6.3.
- I'm using a "Nortek BT-USB" USB Bluetooth adapter in order to connect my Wiimote to Dolphin (because after the macOS 12 update, pairing the Wiimote with the MacBook's built-in Bluetooth adapter is impossible). The adapter is plugged into a Thunderbolt 4 to USB-A adapter.
- The game I'm emulating is the PAL version of WarioWare: Smooth Moves.

Initially, I set Dolphin to "Passthrough a Bluetooth Adapter" and to use the "OpenGL" backend. The game started perfectly, and my Wiimote paired with the adapter within 2-5 seconds after pressing 1+2.

But, the game had heavy performance issues, as OpenGL is not natively supported by the M1 GPU (this is a known fact and that's why Dolphin for macOS has the Metal backend, a graphics' API developed by Apple; for those of you who aren't familiar with macOS).

So, I decided to change to the Metal backend. But, to my surprise, the Wiimote wasn't pairing. I had to click "Reset all saved Wii Remote pairings" and to click the "Sync" button for about 45-60 seconds before the remote successfully connected to Dolphin.

I thought this was a one-time thing, but it wasn't. I did exactly this: I stopped the emulation, set the OpenGL backend again and the Wiimote connected instantly. Immediately, I stopped the emulation again, set the backend to Metal and the Wiimote refused to connect again, unless I resetted the connections.

I also used the OpenGL backend, connected the Wiimote within seconds, stopped emulation, and started it again still with OpenGL, and the Wiimote connected again in about 5 seconds. But, Metal still took about a minute and a Reset to all connections.

Is this normal? Is this a known bug? Am I doing something wrong?

Thank you!
There is some correlation between graphic backend and wiimote sync.

I reported this problem many years ago, but nobody was able to replicate it.