Linux-based Cemu - Input Settings broken inside Batocera v36/37 for 8bitdo controllers #876
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
-[Cemu Version]: 2.0-39
-[CPU Model]: Intel Core i7-7700 @ 3.60 GHz
-[GPU Model]: Intel HD Graphics 630 (KBL GT2)
-[Laptop or Desktop]: Dell Optiplex 7050 Micro
-[8bitdo Model]: SN30 Pro (firmware v2.00)
-[Explain the issue in detail and what you've tried]:
Cemu on both Batocera v36 and v37 runs great with my 8bitdo SN30 Pro controllers (both via Bluetooth and USB-wired) with the default button mappings. However, on certain games where I would like to remap my buttons to enable Wii U Gamepad features (e.g., Mario 3D - Mic Blow), I am having issues with Cemu connecting to my controllers inside the Input Settings window. Interestingly, I can use the latest Windows version of Cemu (v2.0.0) and the connection happens without a hitch. But in the Linux version, no matter which setting and configuration I try, I cannot get the little "plug icon" button to connect my controllers.
Additionally, if I roll back to Batocera v35, all Input Settings functionality works great for Cemu (v1.26.2).
Below is the observed behavior I'm experiencing in each controller mode:
Switch Mode (Y + Start) - If I connect using this mode (either wired or Bluetooth), I can select SDLController API, and my controller appears as a generic title as Controller 1. But the connection "plug icon" remains unplugged, and all of my button mappings are locked in place and unchangeable. Also, when using the Windows version of Cemu, the Controller appears as "Nintendo Switch Pro Controller [SDLController]", but in the Linux version, it's simply "Controller 1 [SDLController]".
Xinput (X + Start) - It lets me select "Controller 1" from the SDLController API, but the connection "plug icon" remains unplugged, and all of my button mappings are locked in place and unchangeable.
Dinput (B + Start) - It can't even see a Controller to select in this mode. The Controller dropdown remains blank.
macOS (A + Start) - No surprise here, but this mode also is not detected.
As an attempted workaround, I remapped these 8bitdo controllers in the Windows version of Cemu, and then I pasted the Controller Profile .xml files into Batocera (/userdata/system/configs/cemu/controllerProfiles). And while I can now load these profiles into the Linux Cemu, I'm still unable to connect via the plug button, and I am also still unable to change any of the mappings. Notably, if I choose keyboard, which is connected via Bluetooth, the connection happens right away and the plug button successfully connects immediately.
I believe there is either an issue with the new Linux-based Cemu, or perhaps some input driver in Batocera V36/37. I've read through other controller-related issues on this site, but I haven't seen any that specifically call out the Linux versions over Windows versions.
Will be fixed when the upgrade to SDL 2.28 is performed.
Thanks for the quick reply, and please excuse my ignorance. Is this something I must do manually? And if so, is there a "how-to" guide? Thanks again!
SDL is embedded directly into Cemu so it cannot be manually updated, unlike Yuzu/Retroarch.
You would have to replace the SDL 2.26.5 package that cemu pulls in via the make file with the updated 2.28.0 and then compile it.
Again, I apologize if you've already answered my last question, but is this SDL 2.28 upgrade coming to a new update of Cemu soon? And if so, should I just wait?
You just have to wait, it will come as part of a Cemu update