CrossOver Support - Community Forums

Important Information These are community forums and not official technical support. If you need official support: Contact Us

CrossOver Mac
Discussion about CrossOver Mac

The following comments are owned by whoever posted them. We are not responsible for them in any way.

Back to Threads Reply to Thread

Horizon Zero Dawn Controller not recognized

I'm running Horizon Zero Dawn via Steam with Crossover 23.5 on Sonoma 14.0 with a Mac Studio M1 Max. The game loads and plays amazingly well, but my PS4 controller isn't recognized.

I've verified that:

1) Crossover recognizes it in Control Panels > Game Controllers
2) Steam recognizes it in Game > Properties > Controller (seen as a Playstation controller)
3) Steam recognizes the correct input in Steam Settings > Controller > Test Device Inputs
4) Other games recognize and respond to the same controller in the same bottle
5) Keyboard and mouse input on HZD works perfectly fine.

To try to get it to work on HZD, I've tried the following without success:

Wiring the controller (then restarting the bottle)
Using bluetooth with the controller (then restarting the bottle)
Disabling Steam Input in Controller properties
Force-Enabling Steam Input in Controller properties
Toggling on Enable Steam Input for Playstation controllers in Steam Settings
Toggling on Enable Steam Input for generic controllers in Steam Settings
Disabling Game Rumble in Steam Settings
Re-calibrating all inputs from Steam Settings
Deleting and reinstalling a fresh bottle of Steam + the game

Still nothing. I can't find anything from within HZD that allows me to choose inputs either. Does anyone have any ideas? I'm so close to nirvana! Thank you!

Update to this -

I was able to get my hands on an X Box Controller and the same issues persist with it as well.

How did you address the "slow motion" issue of Aloy on this game? I've installed it and it still suffers from that - I know there is a registry hack but it seems you have to do that everytime the game launches.

What settings did you use to get it to launch? I just get a blank screen and it goes nowhere. Not trying to hijack the thread, but I've seen a lot of others who like me cannot even get it to run. I'm on an M1 Pro w/ 16 gigs of memory.

any update here?
I too can't use my xbox controller in this game any other works fine.
MacOS 14.2.1 CX 23.7.1 on M3 Max

First of all I have the same issue as OP, and ran the exact same tests.

Now, for it to work at all,

  1. You need to turn on d3dmetal, and be running Sonoma (14.2 in my case ) , crossover 23.7
  2. There are detailed instructions here to solve the slowmo issue permanently :
    https://www.reddit.com/r/macgaming/s/JnnIgsioaS
1

i have tested both steam and gog version of this game.

in steam version there is no controller support (it's a problem happening for many games, using steam on mac, native or through crossover).

the gog version of the game on the other hand, allowed me to have working controller (only with an xbox elite controller though, for my ds4 controller it never worked).

so i thought i could play the game with controller support using the gog version, through crossover, all seemed nice and fast. but after some time playing, i see that it is unfortunately not the case. after playing for some time, i see this game suffer from "sudden drastic loss of performance". you play, it was fine for maybe 1hour, then suddenly the game performance drops to 1 or 2 fps, and stays like that until you quit the game. after relaunching the game it all start fast and well again but the "sudden loss of performance" will returns unfortunately. as such, the game is not really playable on mac currently. you cannot playthrough the game and complete it. it's such a shame since it seemed to work all nice and well.. until.. you drop to 1 fps.

for what it's worth, none of that happens on linux. on linux, whatever version you choose, steam or gog, controller support works fine (both for ds4 and xbox controller) performance stays the same, fast, throughout the game and all is fine.

freeaks wrote:

i have tested both steam and gog version of this game.

in steam version there is no controller support (it's a problem happening for many games, using steam on mac, native or through crossover).

This is completely untrue. The Steam version supports controllers. I've played this game extensively on a PC Laptop as well as a SteamDeck and hand issues at all with it.

Crossover on the other hand has numerous issues with numerous games and launchers when it comes to controllers. If you launch Crossover before the controller is connected for example, it won't work, at all. If you launch steam with one controller connected and then connect another for a 2 player game, it won't work. If you launch in bog picture mode and then change back to desktop, the controller will disconnect. These don't happen in a Windows environment, they happen with Crossover and Steam.

May be this might help: I don't have a copy of HZD, but I was able to get controller working in Far Cry 5. Nothing worked until I added the Launcher of the game ("Run Command", Select .exe, Hit "Save Command as a Launcher") to the Mac version of Steam (Library/Add non-steam game) and enabling Steam Input for it! It sounds crazy: Mac version of Steam provides input support for the Windows game via launching its shortcut from ~/Applications/Crossover/... but it works in my case.

Thanks for the suggestion I tried but no success ether.

Steam breaks controller support in this game and other games. It's because despite fact the game has native controller support, steam is overriding it with steam controller API, and that doesn't work right in crossover. Go into steam options and disable controller features before starting HZD, and controller should work since now it'll use the working native support now that steam isn't hijacking it with non working support.

Other games that had same probelm are DragonBall: Kakarot and sonic origins before they released 2.0 (which sadly uses AVX and no longer works, but 1.0 used to work, and had same controller problem)

Adam Williams wrote:

Steam breaks controller support in this game and other games. It's because despite fact the game has native controller support, steam is overriding it with steam controller API, and that doesn't work right in crossover. Go into steam options and disable controller features before starting HZD, and controller should work since now it'll use the working native support now that steam isn't hijacking it with non working support.

Other games that had same probelm are DragonBall: Kakarot and sonic origins before they released 2.0 (which sadly uses AVX and no longer works, but 1.0 used to work, and had same controller problem)

Hi Adam,
did you try it yourself with this game? Did you read the OPs post?

I actually tried again and yeah it doesn't work anymore. it used to. Apparently it'll only work in big picture mode now, which sadly is violently unstable in crossover. I know I tested this long ago and it worked though so something broke between then and now :\

This was an interesting one to fix.

It would not work at all if controller input was enabled in default main settings. It had to be disabled completely there
BUT
Also had to be force enabled in horizon zero dawn only

I tried many times to get it to work with both default off and default on and no matter what it'd fail in both

I even tried default on in steam settings and forced in in HZD and again fail

Only thing that worked is all off in defaults
then forced on in app settings

https://imgur.com/gallery/lAwYGIF
https://imgur.com/gallery/UhZoeD1

EDIT: tried to embed images but embed is broken here i guess

Hi,

Would you mind posting a screenshot of your steam settings (not the HZD ones)?
I've tried disabling the controller there, and enabling steam input in game, but it doesn't work for me.

Thanks !

Don't think system settings would help, nothing applies to controller there.

I do want to add I was using it via USB and not bluetooth, and plugged it in WHILE steam was open so it picked it up. For steam settings in controller (forgot to screenshot that) i genuinely had everything disabled and even playstaiton option changed from default "only if game doesn't support it" to off. Everything off essentially in steams main settings, but then app settings just set to forced steam input.

Like picture shows, if you do not see the blue dot on the controller, it's not even detected by steam and you should try connecting it a diff way or disconnect/reconnecting it.

I've tried all of the above, and there just doesn't seem to be a way to get either Xbox series X or DualSense (PS5) controller to work with this, or many other games through steam (mostly games linked to Sony it seems)

Could you explain the launcher part a bit better? I think im doing something wrong, I have added the exe file to my Mac steam version. as a game. I then click play, but still the controller is not regonised ingaame? but the first part im doing wrong where do I do the run command?

Andrey Tsarkov wrote:

May be this might help: I don't have a copy of HZD, but I was able to get controller working in Far Cry 5. Nothing worked until I added the Launcher of the game ("Run Command", Select .exe, Hit "Save Command as a Launcher") to the Mac version of Steam (Library/Add non-steam game) and enabling Steam Input for it! It sounds crazy: Mac version of Steam provides input support for the Windows game via launching its shortcut from ~/Applications/Crossover/... but it works in my case.

I bought the gog version eventually and controller works perfectly

The controller work perfectly for me. Once the game is open, if I see my mouse cursor, it indicates that the game doesn’t recognize the controller. I switch to another desktop, activate Mission Control, return to the desktop where Horizon Zero Dawn (HZD) is running, and move the mouse to focus on the HZD window (which will be outlined in blue). Finally, I press the controller, and the mouse cursor should vanish, game should recognize the controller.
I'm using Switch Pro Controller, HZD is downloaded from Steam, Crossover v24.0.

Lan wrote:

The controller work perfectly for me. Once the game is open, if I see my mouse cursor, it indicates that the game doesn’t recognize the controller. I switch to another desktop, activate Mission Control, return to the desktop where Horizon Zero Dawn (HZD) is running, and move the mouse to focus on the HZD window (which will be outlined in blue). Finally, I press the controller, and the mouse cursor should vanish, game should recognize the controller.
I'm using Switch Pro Controller, HZD is downloaded from Steam, Crossover v24.0.

Tried the above, Crossover v24.0. HZD installed through Steam.
The fix above didn't work with either Xbox Series controller or DualSense

The below video is my setting and my gameplay with my Switch Pro Controller. I can switch between mouse-keyboard and my controller freely. I Don't even have to switch to another desktop like my above method (Sometimes the game doesn't recognize the controller, I still have to do the trick).
The video: https://youtu.be/P_HXS9jBkhQ
Did you enable Xbox, PS, and Switch Pro controllers inside the Steam setting?

Lan wrote:

The below video is my setting and my gameplay with my Switch Pro Controller. I can switch between mouse-keyboard and my controller freely. I Don't even have to switch to another desktop like my above method (Sometimes the game doesn't recognize the controller, I still have to do the trick).
The video: https://youtu.be/P_HXS9jBkhQ
Did you enable Xbox, PS, and Switch Pro controllers inside the Steam setting?

I copied your settings exactly, but still the game won't recognise the controller. See my video:
https://www.youtube.com/watch?v=ya2PKFVl7X8

That video is with the Xbox controller, it is also the same with the DualSense controller. I even tried the trick with both, but no change.

I see you are using a Switch Pro controller, are you wired or BT?

I can use my Switch Pro Controller with both wired and Bluetooth.
This is my iPhone CAM shows how my Pro Controller connected to game: https://youtube.com/shorts/GLaTpRcEQfk?feature=share
I don't have other controllers to test with. But I think if you can control the controller in Steam's "controller configurator", the game should recognize the controller too.

So I actually went out and purchased a switch pro controller. As above I matched settings to Lan's settings, followed every step. However, HZD still doesn't recognise the controller for me.

Through @Lan we can see that it works, somewhere there must be a difference between my settings and @Lan's. I'll make a new user for a blank slate and report back.

Mike wrote:

So I actually went out and purchased a switch pro controller. As above I matched settings to Lan's settings, followed every step. However, HZD still doesn't recognise the controller for me.

Through @Lan we can see that it works, somewhere there must be a difference between my settings and @Lan's. I'll make a new user for a blank slate and report back.

Hope you can play the game with the controller. Unfortunately, I don't have another controller to test with.

This makes no sense, I don't get how it can work for Lan but not me when I:

  • Factory reset / formatted my M2 Macbook Pro
  • Installed macOS 14.4
  • Installed CrossOver 24.0 (and Rosetta, as prompted by CrossOver)
  • No other programs were installed
  • Connected Nintendo Switch Pro controller via bluetooth
  • Matched Lan's settings in CrossOver & in Steam
  • Installed Horizon Zero Dawn through Steam
  • Confirmed all settings matched

But still, even with the same controller, the same settings, the same game, the same version of CrossOver & A fresh format of my Mac to ensure nothing would be interfering... The controller still won't work in game.

Does anyone have any thoughts on why this might be?

Mike wrote:

This makes no sense, I don't get how it can work for Lan but not me when I:

  • Factory reset / formatted my M2 Macbook Pro
  • Installed macOS 14.4
  • Installed CrossOver 24.0 (and Rosetta, as prompted by CrossOver)
  • No other programs were installed
  • Connected Nintendo Switch Pro controller via bluetooth
  • Matched Lan's settings in CrossOver & in Steam
  • Installed Horizon Zero Dawn through Steam
  • Confirmed all settings matched

But still, even with the same controller, the same settings, the same game, the same version of CrossOver & A fresh format of my Mac to ensure nothing would be interfering... The controller still won't work in game.

Does anyone have any thoughts on why this might be?

More information about my system. I'm at MacOS 14.3.1, but I don't think that makes any difference. I bought this MacBook last week and this is the first time I have used Crossover, I installed Horizon & Steam via Crossover install button (I don't know if the shared HZD bottle has some configuration or not). I don't change any configuration in Wine configuration.

For the record, the first time I try to play HZD, the game doesn't recognize my Pro Controller. But other games: Marvel's Spider-Man remastered can use the controller, So I tried to find the solution but there is nothing. Because I couldn't use my controller, I uninstalled HZD. Then I installed it again with Steam. The game still doesn't recognize my controller. After that, I try to "Override", and "Disable" the controller in the crossover bottle "Game Controllers" setting. After that, I tried to do my mentioned trick in #20, And I realized that I could use my game controller. That is everything I remember.

Thank you for the detailed information. I would love a CrossOver dev input into why one system works, and the other doesn't. Maybe it could lead to a fix for others.

I managed to get controllers working, but not with an 'out of the box' configuration like Lan.

My solution was to replace: steam_api64.dll in the Steam game folder, see:
https://discord.com/channels/793156450821865513/1171515758908555284/1172518135073624105

Controller is all working now.

1

@Mike, could you detail what the discord link says, I do not have access to that discord place. Thanks.

  • Download the files from here:
  • https://mega.nz/file/nAcRwAQK#YvMm7A8kS9Agh4FMQBOWRa1Y9p3TnNgKd0T26wdL0AI
  • Un archive them (e.g. using Keka https://www.keka.io/en/ )
  • Open CrossOver
  • Select your Horizon Zero Dawn bottle
  • Under "Bottle Actions" select Open C Drive
  • Navigate to: Program Files (x86) / Steam / steamapps / common / Horizon Zero Dawn
  • Paste the contents of the unarchived file you downloaded into this folder, overwriting steam_api64.dll when asked
  • Within Steam, turn OFF steam input
2

Mike wrote:

  • Download the files from here:
  • https://mega.nz/file/nAcRwAQK#YvMm7A8kS9Agh4FMQBOWRa1Y9p3TnNgKd0T26wdL0AI
  • Un archive them (e.g. using Keka https://www.keka.io/en/ )
  • Open CrossOver
  • Select your Horizon Zero Dawn bottle
  • Under "Bottle Actions" select Open C Drive
  • Navigate to: Program Files (x86) / Steam / steamapps / common / Horizon Zero Dawn
  • Paste the contents of the unarchived file you downloaded into this folder, overwriting steam_api64.dll when asked
  • Within Steam, turn OFF steam input

Thank you! This actually finally works.

2

Mike wrote:

  • Download the files from here:
  • https://mega.nz/file/nAcRwAQK#YvMm7A8kS9Agh4FMQBOWRa1Y9p3TnNgKd0T26wdL0AI
  • Un archive them (e.g. using Keka https://www.keka.io/en/ )
  • Open CrossOver
  • Select your Horizon Zero Dawn bottle
  • Under "Bottle Actions" select Open C Drive
  • Navigate to: Program Files (x86) / Steam / steamapps / common / Horizon Zero Dawn
  • Paste the contents of the unarchived file you downloaded into this folder, overwriting steam_api64.dll when asked
  • Within Steam, turn OFF steam input

Brilliant ! Much to my surprise, this works. I have no idea what the DLL contains ( I was a bit reluctant at first to run unknown binaries if I'm honest ... ).
You must turn off steam input, otherwise the controller still isn't recognised, but once done, everything works as expected.
Thanks !

One more thing : I'm using a DS4 over bluetooth, not wired, now with crossover 24.0.1.

1

@Mark Hall
Hey, I get up to the point where I insert the file but the question "overwrite this file" never pops up for me. I also just tried deleting the existing ini folder that was already in the file, the game wouldn't open so I had to put it back in.

I am running crossover 24.0.1
MacBook Pro 2021 14 inch, M1 Pro chip

what kind of controller are you using? is there a way you could show your steps somehow? maybe like a vid or pictures? Im trying to get this xbox controller to work and so far I've been edging for two days with no ending.

1 to 35 of 35

Please Note: This Forum is for non-application specific questions relating to installation/configuration of CrossOver. All application-specific posts to this Forum will be moved to their appropriate Compatibility Center Forum.

CrossOver Forums: the place to discuss running Windows applications on Mac and Linux

CodeWeavers or its third-party tools process personal data (e.g. browsing data or IP addresses) and use cookies or other identifiers, which are necessary for its functioning and required to achieve the purposes illustrated in our Privacy Policy. You accept the use of cookies or other identifiers by clicking the Acknowledge button.
Please Wait...
eyJjb3VudHJ5IjoiVVMiLCJsYW5nIjoiZW4iLCJjYXJ0IjowLCJ0enMiOi02LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNzMxNDM1MjAzLCJjc3JmX3Rva2VuIjoiWVFtTEF1eUhTQmFkUmRDZiIsImdkcHIiOjB9