-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MacOS Puts one controller in two ports #10546
Comments
I can confirm that this is also an issue on my setup (RetroArch 1.8.7 on MacOS 10.14.6). I can actually get 2 player working, but as mentioned in the original text of the issue, it will actually have 4 players mapped in the game. I was able to get it to map up to 4 controllers in the game to a single physical controller by reconnecting it multiple times without exiting RetroArch. Would be happy to test or troubleshoot if there are any potential solutions. I'm using Dualshock 3 controllers (works natively with MacOS either wired or via Bluetooth) and I'm using N64 (Parallel Core) for my games. |
Any update on this ticket? |
In Retroarch 1.7.8 (not the latest!), what happens if you toggle fullscreen a bunch of times? Watch the OSD—does it eventually tell you that the controller is only configured in port 0, as opposed to listing the controller twice for both port 0 and port 1? I am able to sporadically replicate this behavior sometimes by toggling fullscreen as described above, in Retroarch 1.7.8 in OS X 10.9.5. Sometimes the controller will be listed as connected to only port 0, in which case everything works correctly, and sometimes it will be listed as configured to both port 0 and port 1, in which case both players are controlled. Furthermore, if I have two controllers connected, sometimes it will only detect the first controller, while other times it will correctly detect both, enabling local multiplayer. See #10700, which I am now absolutely convinced is the same fundamental issue. I think that there's quite clearly a race condition at play here! |
Yes, this is a bad problem. Hopefully someone can fix this for us. We are not very knowledgeable on Cocoa/Mac programming. |
So, um, this is totally weird! This might be an issue with how Retroarch is built, rather than an actual bug in the code. 32bit Intel (and PPC) builds of Retroarch are available on the Macintosh Garden: https://macintoshgarden.org/apps/retroarch-ppc. For whatever reason, the bug isn't present in their build of 1.8.5! I don't understand how that's possible! |
PRs are still welcome for this. We haven't been able to fix this on our own. |
Appears to be fixed according to @ComradeEcho |
Is there a nightly build for macOS (Intel) that I can grab to test this out before the next release? If this is finally fixed, I can rejoice! EDIT: I downloaded the nightly build that I found on the website and I can confirm that it's working with the latest build! For reference, I'm on macOS Mojave 10.14.6 (hackintosh) and my controller is a Dualshock 3 (PS3 controller). |
Description
In MacOS 10.13.6 and up(?), detected controllers are assigned to ports 1 and 2, leading to 2-player games having both players controlled by P1:
https://forums.libretro.com/t/one-controller-detected-as-two-macos/27575
Expected behavior
The controller should be assigned just to port 1
Actual behavior
It's assigned to port 1 and port 2.
Steps to reproduce the bug
Bisect Results
I have asked the users whether this issue exists with older stable builds. Haven't heard back yet. EDIT: they say it's been doing it since at least 1.8.0.
Version/Commit
You can find this information under Information/System Information
Environment information
The text was updated successfully, but these errors were encountered: