Emulator Issues #5977
Older Wiimotes (Pre -TR) have broken audio in emulated Bluetooth
Revision d5ec631337c7 fixes the input delay regression introduced by Revision 11a4c92325d5 however the wiimote speaker/vibrations are still out of sync and will delay/echo.
This was discussed in IRC, and we tried many values on line 185 of WiimoteReal.cpp without success, so I'm opening this just as a reminder.
I've tested with Zelda: Skyward Sword (SOUE01) and New Super Mario Bros, but it also occurs in the wii menu by adjusting the volume slider. Seems to be worse with a generic bluetooth dongle using generic windows bluetooth stack. To be honest I'm not entirely sure if this is just me or reproducible by others.
Steps to reproduce: Make the wiimote make a lot of sounds or vibrations.
Dolphin Version: 3.5-374 x64 on Windows 7 x64
#12 Updated by zerolagg over 6 years ago
The Wiimote speaker still sounds bad and games like Fragile Dreams is very necesary for listen the tips from characters and listen special sounds for search through sound any characters.
I tried use diferents Wiimotes(White original,Black,Red in box game Mario Kart) and Toshiba BlueTooth stack,DSP HLE LLE but nothing works
Please is the only error that i detected in the emulator any works perfect even High Resolution (2560x2112) except Wiimote speaker and many games use this for add fun to the game.
#18 Updated by JMC4789 almost 5 years ago
-TR Wiimotes now have working Wiimote audio on Windows at the very least.
https://dolphin-emu.org/download/dev/8acf8cf4d07684e9dc515a22b642e66e8fe7e231/ was the fix, aka, 4.0-8325
#26 Updated by Billiard26 about 2 months ago
- Assignee set to Billiard26
- Status changed from Accepted to Won't fix
I've determined the main cause of poor Wii remote audio with emulated Bluetooth.
Genuine Wii Remotes seem to operate at 100hz until "sniff" mode is enabled.
This is observable from the rate of input reports and activity on the i2c extension bus.
The 6khz audio data produces 150 speaker data packets per second.
Remotes tend to not process many of these causing their decoder to desynchronize from the games' encoder.
"TR" remotes seem to buffer the reports better. They still perform poorly without sniff mode, just not as bad as non-TR.
The Wii sends "HCI_Write_Link_Policy_Settings" (0x000D) and "HCI_Sniff_Mode" (0x0003).
Both the min and max intervals are set to 5ms.
Remotes then operate at 200hz and handle the high rate of speaker data.
Unfortunately Bluetooth managers do not expose the ability to configure or enable sniff mode.
I think it's unlikely they ever will. This is something that applications should probably not be controlling.
Without some equivalent of "Bluetooth Passthrough" or elevated permissions to send HCI commands to the Bluetooth hardware this issue appears not fixable.
Note that re-encoding the 6khz audio to 3khz for 75 packets per second didn't seem to help much in my tests.