Something wrong with button assignment with 8BitDo M30

As said md2mcb, 1.20.0 and prior are flawless and that I believe is the issue, very few play wireless like me and therefore haven’t seen the issue that x input wireless recognition of actual buttons being pressed is broken in RA 1.20.1 and newer.

Starting again and remapping everything when I spent months making core profiles and for specific controllers, and all broke with one RetroArch release, is something only a masochist would do.

As said it has absolutely nothing to do with my system, and if you have a controller with Bluetooth mode you can test it yourself in 5 seconds and see the buttons are swapped even if the controller is correctly in x input mode.

And as said, if it was all 12 controllers that were faulty or a system fault anywhere, then one single other game, or app, or x input tester would detect the exact same controllers in the exact same wireless mode with the exact same inputs when the exact same buttons are being pressed, but everything else detects every button 100% correctly, as printed on the button or as set up in the controller firmware’s x input configuration.

Since I started this topic, I have tested a huge amount of stand alone emulators in existence that have a controller setup page, more than 30 of them, Bizhawk for a multi emulator (if Bizhawk had run ahead and upscale, I’d be there and never look back, as this has honestly broken me - but it doesn’t and input lag is not great), 427 steam games ( yep, I am keeping a count as I try them) with steam input on AND off, 87 GOG games, and 3 controller testers and all 100% register correctly.

Anyway, even if I didn’t spent this ridiculous amount of time testing, which I actually did, the fact that RA 1.20.1+ goes back to normal when wired, with all (now 12 controllers tested, I even dug up old controllers from the garage like Logitech F710 that I never use), proves it’s RA. To me that’s infallible when combined with the over 500 external other x input compatible programs I tested.

Oh, and Joy2Key also! (I have it completely exited when I use RA, of course).

But when I press the buttons on Joy2Key with ANY controller, it matches the global labels on the Joy2Key app.

Just RA. When Wireless. And from 1.20.1 onwards. That’s it, on the entire system.

It’s not trye Drybonz, I have used 8bitdo as my main controllers (M30, Pro 2, Pro 3, Ultimate 2, NeoGeo and N64) since they have been available, and I have over 2500 steam games in my account, and before 1.20.1 there was no such thing. If what hunterk is saying was true, than an x input tester would pick up one wrong input occasionally and I have sat there testing it for hours in one go.

What is happening is that RA falls onto a default X input config for specific controllers it doesn’t have a database for, and since 1.20.1 it’s simply backwards, and some people are making assertions that are just not true, since I have used these controllers exclusively since the day they came out and only RA 1.20.1 changed things and set the buttons backwards. And again they are fine when wired.

I only unpacked all the other controllers to prove the point here, they were put away and have been for ages. I game with 8bitdo and now a Gulikit Elves 2 Pro exclusively, but have a big mess of more than a dozen controllers in the room now just to test this issue, with over 5 different brands.

The 8bitdo copout comment is a copout and a blame game, when I have used them for years on well over 1000 games and apps. It’s just not true and if it WAS, 1.20.0 and any version prior would not work flawlessly with them without a single hitch since 2016 since I first used an 8bitdo in RA. The Mac guy that makes Open Emu tried to blame them for any issues also, so I got my Xbox controller I had and a DS4 and they had the issue, so he actually fixed it in an update. But I left Mac in 2016 for good.

Anyway, the point is moot, unless hunterk wants to claim Gamesir, Turtle Beach, Logitech, Gulikit X input are all broken as well.

And again, if it wasn’t RA, then the issue would have appeared at least once in a version prior to 1.20.1

You know Occam’s razor right? That’s what’s happening. The simplest explanation is the real one, RA 1.20.1 broke something in wireless x input and how it sees it, and anyone that HAS responded has tried to blame it on anything but a fault in RA, and no amount of testing I do, or no amount of apps or no amount of controllers I tried seems to mean anything to anyone who may have the power to fix it.

I can do a fresh install on a brand new machine, fresh OS, of RA portable 1.20, then install 1.20.1 (well, now 1.22.2) in another folder and not change a setting and prove it’s broken, i.e. make a video, if that will get me anywhere. I will do almost anything at this stage to prove the truth that RA new versions no longer interpret X input correctly over wireless in the default x input mode.

NP for new users, but a real problem for those who spent years fine tuning multiple core profiles for specific controllers, like with one N64 core I have a tribute 64 profile, with another core I have the 8bitdo N64 profile, and so on. Genesis, one core I have M30, another core I have the Elves 2 Pro. All broken after 1.20.1 and onwards.

Hi I can no longer edit the title, and because I have made many passionate, frustrated posts, I thought I would at least list the facts as they currently stand and how the very first post should read. So this is the plain facts, no emotion clouding me.

Wireless XInput Regression and Turbo Limitations in RetroArch ≥ 1.20.1

Tested Controllers: 8BitDo x 4, Gulikit Elves 2 Pro/KK Pro 2, Retro-Bit Tribute 64, Retro Fighters x 2 (GC and PS1 PC versions), Logitech F710, Gamesir G and Nova, and others (exactly 13 wireless controllers total, all in their native X input mode).

Environment: Windows 11, 24H2, Steam recognizes controllers correctly, RetroArch versions 1.20.0 and prior recognise correctly - broken 1.20.1 and onwards. Controllers tested wired and wireless; independent XInput testers and other emulators (DuckStation, BizHawk) confirm correct button mapping.

Observed Behavior:

  1. Wired mode: All controllers and buttons function correctly; profiles behave as expected.
  2. Wireless mode (RA ≥ 1.20.1):
  • Face buttons A ↔ B and X ↔ Y swapped; triggers and other buttons misassigned.
  • Occurs across all tested controllers and cores.
  • Assignments temporarily revert when plugging controllers in, showing RA treats wireless vs wired differently.
  1. Turbo and upgrades:
  • In 1.20.0, global Turbo Hotkey does not function ; the only functional workaround requires holding a button in Hotkey Binds.
  • Assigning Turbo in a core via the new Turbo menu and testing in-game shows it doesn’t work reliably; plugging the controller in reverses all assignments again.

Conclusion:

  • This is a regression in RetroArch’s wireless XInput handling starting with 1.20.1.
  • Not related to controller firmware, Windows, or drivers, since all other apps report correct mapping.
  • Users cannot reliably use wireless XInput in RA ≥ 1.20.1; upgrading breaks existing working setups.
  • Current workaround: use RA 1.20.0 wired or portable for safe gameplay, while newer versions enable Turbo features but remain unstable for wireless.

The last test I did before I made this post was with Gulikit Elves 2 Pro, as I did not want 8BitDo to be blamed. I manually created a profile in RA 1.22.2, correctly assigned buttons in Genesis Plus GX core, started to play Alisia Dragoon, and then plugged the controller in to USB A port to further demonstrate the issue - instantly all my settings were broken and buttons swapped, which makes using any version of RA after 1.20.1 with a wireless X input controller, 100% untenable because it can not even be worked around with custom profiles that match the new button recognition, as they revert to 1.20.0 behaviour on every controller when plugged in. So it has to be wired or nothing, and the conclusion is that only the wired mode of RA from 1.20.1 onwards correctly identifies correct X-Input controller button inputs.

Hey… sorry, I forgot ever posting in this thread and have to admit I haven’t read any of these long posts. I hope you get your problem sorted. It sounds like you would get better results opening a trouble ticket on github or where ever the Retroarch trouble tickets are. I would try to stick with the main facts though.

Hi Drybonz,

Hey this is why I made a final post disregarding all the others and all the previous emotion and just stuck to the facts.

FWIW, the steam version is fine, and steam controller input is enabled, and if disabled, it gives the broken behaviour, so steam is correctly interpreting all the x input assignments and forcing them to retroarch, so it’s just correct interpreting all the wireless x input controllers. It is also now v1.22.2. I think now we have unequivocal absolute proof that retroarch’s native wireless x input function is completely broken in 1.20.1 onwards, cause steam is fixing it via translation.

So that’s the way to go and what I recommend to everyone using wireless x input and Retroarch.

There’s some cores missing but that doesn’t bother me (Beetle PSX HW, Kronos and a few others), as I use Duckstation standalone for PS1, I use Ymir standalone or beetle for saturn (beetle is in the Steam version, yay), and Dolphin standalone, PCSX2 standalone etc. All the main snes, genesis, pc engine etc cores are there, yay.

So it’s a workaround at least.

Well, this makes me feel better, I guess. I’m using the 8BitDo SN30 Pro and RA completely ignores it as a wireless controller. USB is fine. Windows recognizes both (via https://hardwaretester.com/gamepad) and sees the buttons are mapped the same. W

Sorry, continuing… When using USB I can use the Dpad to scroll thru RA’s menu. When using BT, nothing. Looking at Settings > Input > Retropad Binds > Port 1 Controls, all the itrems show identical between USB and BT.

I’m using the latest (as of the date of this posting) rev 1.22.2. Looks like I need to try 1.20.0. I don’t use Turbo so I should be good, I hope.

Quick update. Yes, with v1.20.0 I can use the Dpad to scroll thru RA menus with both USB and BT connections! Thank you for your research on this.

Sorry. False alarm. I’ll start a new thread once I get a better handle on what the causes the problem I’m seeing. But the 8BitDo SN30 Pro works fine in BT with all freshly installed versions of RA. It’s only after I change the controller bindings and then (after my changes don’t work) restore bindings back to default, that it no longer works. After I do a little more forensics I’ll start a new thread to describe the problem more thoroughly.

1 Like