bsnes-emu / bsnes

bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use.
Other
1.69k stars 158 forks source link

Controller input is not recognized under Rosetta 2 on macOS #148

Open seeseekey opened 3 years ago

seeseekey commented 3 years ago

Under macOS (Big Sur; 11.2) controller input is not recognized under macOS.

If i try to configure it with the input dialog, the controller inputs are not recognized. In other applications the controller works. Different controllers are tested; same issue.

timotheeg commented 3 years ago

I tested my Buffalo BSGP815GY USB controller in 11.2 and had no issue in bsnes nighly 2021-02-08.

What controller model(s) are you using?

seeseekey commented 3 years ago

I tested the following controller (with the same nightly version of bsnes / 2021-02-08):

If i try to assign any button of these controllers nothing happens. The controllers are recognized by the OS. Assigment of keyboard keys works.

I use a new Mac mini (2020) with M1 (Apple Silicon) chip.

bsnes-driversettings bsnes-assign bsnes-controller

timotheeg commented 3 years ago

Thanks for the extra details. I have a 8BitDo SFC30 Gamepad as well. I just tested (over bluetooth connection), and it is working fine in the same bsnes version, reference screenshot below.

Some differences to your setup however:

I don't see anything in the 11.2.1 release notes update that could affect controller support, but you could try upgrading anyway.

I don't have a mac mini M1 to test further 😞 . Hopefully someone else has a similar setup to help you troubleshoot further.

image

seeseekey commented 3 years ago

I have updated to 11.2.1 today and test again; same issue?

Is there anything i can do to debug the problem here?

jchv commented 3 years ago

I can confirm that when running under Rosetta 2, bsnes is unable to detect controller input. I do not know why this issue crops up under Rosetta 2, but it does not crop up when using a native ARM64 build.

We need to work out how to make a proper dual binary build of bsnes. Since that is not likely to happen immediately, here is a build I just made on my M1 mac. If this works for you, then that is likely the best solution, although I don't really think there is any good reason input should be broken with Rosetta 2, so it might be worth investigating anyways.

bsnes.zip