cemu-project / Cemu

Cemu - Wii U emulator
https://cemu.info
Mozilla Public License 2.0
7.42k stars 609 forks source link

Linux-based Cemu - Input Settings broken inside Batocera v36/37 for 8bitdo controllers #876

Closed gergazoid closed 10 months ago

gergazoid commented 1 year ago

-[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:

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.

Squall-Leonhart commented 1 year ago

Will be fixed when the upgrade to SDL 2.28 is performed.

gergazoid commented 1 year ago

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!

Squall-Leonhart commented 1 year ago

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.

gergazoid commented 1 year ago

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?

Exzap commented 1 year ago

You just have to wait, it will come as part of a Cemu update

Charrisx-Keyp commented 8 months ago

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.

@Squall-Leonhart

I'm Locked into Batocera v37 and could really use some help updating the SDL package on my Cemu emulator which is the 2.0 (experimental) version. Because of this issue with Controller input's I can't sort out issues getting some games controls working properly. I know very little in the way of changing things like this and how I should go about it and any help you can offer would be greatly appreciated as I'm kind of stuck until I get this resolved. And sadly I can't just update Batocera to fix the issue as that would break many things within my build I've spent countless hours on. I am good at following instructions and should be able to work it out if you can tell me what I need to do in plain English like I don't know anything! Its Linux based Batocera and I downloaded some kind of SDL files from Github but I'm not sure I even have what I need to get started. Please let me know if you can help me and what I can do to get this done. Thank you!