-
-
Notifications
You must be signed in to change notification settings - Fork 20k
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
DualShock 4 controller not properly supported on macOS / Apple M1 #43653
Comments
Unrelated to this issue, but does Godot work as expected when run via x86 emulation (Rosetta)? In this case, I need to update ThatGuySam/doesitarm#203. |
I have checked it on x86-64 macOS 11.0.1 (20B29) with Dualshock 3 - controller is detected and working normally. It's either DS4 mapping issue or it's M1 macOS issue or Rosetta issue. Try using official demo to check what's detected - https://github.com/godotengine/godot-demo-projects/tree/master/misc/joypads and https://generalarcade.com/gamepadtool/ to generate correct mapping (and check if it's working with it or not). Also, if it's Rosetta issue, you can try building native ARM binary or try using my build https://bruvzg.github.io/media/files/Godot_v3.2.4-beta2_osx.arm64.zip, it's ad hoc signed and not tested on real M1 hardware. I'll wait for a week or two (or for the second batch of devices, depending on reviews) before getting one. |
@bruvzg Looks like it was the Rosetta issue! I ran the official demo and had no inputs detected. Downloaded your build of godot and ran the same demo, and everything worked perfectly (aside from vibration). |
@Calinou It doesn't look like I'm able to force the godot application to run under rosetta emulation. I tried going to Applications -> Godot -> Get Info and looked for the "Open using Rosetta" option, but it was not there. Do you know of another way I can check for you? |
@riley-turben How are you running the application under Rosetta if the option isn't provided? I don't understand. |
Option should be there only if it's Universal app, official Godot releases are x86-64 only and will run always run under Rosetta (and my build is ARM only and also shouldn't show any options). |
@riley-turben Would you be able to test this "universal" (x86_64 + arm64) build of Godot 3.2.4 beta 2? https://downloads.tuxfamily.org/godotengine/3.2.4/beta2/Godot_v3.2.4-beta2_osx.universal.zip It's not directly related to this issue as you already tested @bruvzg's arm64 build successfully, but this one is made on our official build containers and I'd like to validate that it works OK on Silicon. (And you might also be able to check if the "Open using Rosetta" option is available with that build.) Note: It's not signed nor notarized, though the arm64 binary should have a dummy signature from osxcross which hopefully makes it usable with Right Click > Open. |
Sure thing, I'll make some time to test it tomorrow. |
@akien-mga I tried opening straight after unzipping, selected "Open using Rosetta", and also tried Right Click -> Open and all resulted in an error that the application was damaged. |
I have extracted arm binary from the osxcross built universal one, and seems like it's "dummy signing" do not produce valid signature. Neither do Even if signing the whole bundle is not required, it's not going to work. |
Some tests with simple Xcode build → 16818 bytes executable, valid signature. 16536 after stripping signature. osxcross build → 33386 bytes executable, not signed (invalid signature). 32920 after stripping signature. |
Can confirm this bug is still present in Godot 3.2.4 RC5 on Big Sur 11.2.2 and a Dualshock 4 controller. |
If this is a Rosetta issue, what should be done on the engine side to resolve this? |
Godot version:
Godot Engine 3.2.3.stable.official
OS/device including version:
Mac OS Big Sur 11.0.0 & 11.0.1
Apple M1 Chip
PS4 Dualshock controller (wired or wireless)
Issue description:
Controller input is not detected after the first few frames of starting the game in both the editor and the exported Mac OS build.
Steps to reproduce:
Minimal reproduction project:
Controller-bug.zip
The text was updated successfully, but these errors were encountered: