Skip to content
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

Closed
hizzlekizzle opened this issue Apr 30, 2020 · 9 comments
Closed

MacOS Puts one controller in two ports #10546

hizzlekizzle opened this issue Apr 30, 2020 · 9 comments

Comments

@hizzlekizzle
Copy link
Contributor

hizzlekizzle commented Apr 30, 2020

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

  1. Start RetroArch
  2. Connect a controller (wired or wireless)
  3. controller will be detected in both ports

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

  • RetroArch: 1.8.5

Environment information

  • OS: MacOS 10.13.6 and up
  • Compiler: buildbot
@joshuaseltzer
Copy link

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.

@Wowfunhappy
Copy link

Some old issues that may or may not be related / the same thing:

#2808
#4215
#3415

@tcorral
Copy link

tcorral commented Sep 6, 2020

Any update on this ticket?

@Wowfunhappy
Copy link

Wowfunhappy commented Sep 7, 2020

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!

@inactive123
Copy link
Contributor

Yes, this is a bad problem. Hopefully someone can fix this for us. We are not very knowledgeable on Cocoa/Mac programming.

@Wowfunhappy
Copy link

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!

@inactive123
Copy link
Contributor

PRs are still welcome for this. We haven't been able to fix this on our own.

@inactive123
Copy link
Contributor

Appears to be fixed according to @ComradeEcho

@joshuaseltzer
Copy link

joshuaseltzer commented Aug 8, 2021

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants