Tutte le discussioni > Discussioni di Steam > Steam for Mac > Dettagli della discussione
Questa discussione è stata chiusa
florean 24 dic 2020, ore 15:45
10
3
32
2
5
4
6
3
4
2
33
Fix for game controllers on Big Sur!!! (but not M1/Apple Silicon)
TL;DR
Valve’s driver is getting automatically blocked, so we need to boot into Recovery mode and manually accept it (unfortunately, this doesn't apply to new Apple Silicon processors, which never had a working driver to begin with). To do that, we’ll add their Apple Developer Team ID to a list of allowed developers. This is very targeted and extremely safe, the opposite of doing something like disabling System Integrity Protection for the whole computer.

  • Boot into Recovery mode (hold ⌘-R at boot).
  • Open Terminal (Utilities -> Terminal).
  • Type
    spctl kext-consent add MXGJJ98X76
    and press return.
  • Type
    kmutil trigger-panic-medic --volume-root "/Volumes/Macintosh HD"
    (replace “Macintosh HD” with whatever your drive is named; press Tab at the end of typing "/Volumes/" to get a hint).
  • Reboot.

The Details
This nerd sniped me for a few hours and I’m really disappointed in Valve. This is 100% on them. Apple has very clearly signaled they don’t care about Mac games, but this is making it very apparent Valve doesn’t, either. Personally, I’m moving most of my gaming to PS4/5. End of venting.


The problem is that Valve’s SteamInput kernel extensions, which they use to standardize controls across games, aren’t getting loaded under Big Sur. The reason we’re told to install an “update” from 2018 is because Valve is using the answer to the question “are my extensions running?” as if it is the answer to the question “have you installed the game controller extensions?”. So it just puts you in a continuous loop of installing the extensions, but it’s completely irrelevant.

Why aren’t the extensions loading? The OS thinks they should work. If we run
kmutil print-diagnostics -p /Library/Extensions/SteamInput.kext
we get
Kext at: /Library/Extensions/SteamInput.kext appears valid and loadable.
However, if we try to load it with
sudo kmutil load -p /Library/Extensions/SteamInput.kext
we get the error
Extension with identifiers com.valvesoftware.SteamInput-DS4v1,com.valvesoftware.SteamInput not approved to load. Please approve using System Preferences.
And when we go to System Preferences, it isn’t in the list for approval. I found out that is because it is getting automatically blocked, which we can see if we reset the extension approvals. I’m not sure why, I didn’t pour over the logs. Most of the other examples I have of blocked extensions are 32-bit ones that can’t run. It’s possible Valve is doing something dumb; there’s a careless bug in their installer’s post-install script that tries to modify the extremely-read-only system partition, so maybe the driver is doing something that deserves an automatic ban. Or maybe it’s an OS bug that Valve never bothered to raise with Apple (it is definitely a bug that kmutil reports it as loadable when it isn’t).


Luckily, there is a way to automatically accept Valve’s extensions. Apple has a tool that allows you to add Apple Developer Team IDs to an accept list. But to prevent abuse, you can only make changes to the list when you’re in Recovery mode. First we’ll run
codesign --display --verbose /Library/Extensions/SteamInput.kext
to get Valve’s Team ID, which is `MXGJJ98X76`. Now we can reboot and add it to the list. When we do, any kernel extension that is signed with one of Valve’s certificates that is installed will be allowed to run. So the security risk we are creating by doing this is that a hacker gets you to download and install a kernel extension that they’ve signed with a stolen Valve cert, which… ¯\_(ツ)_/¯ You’ve already lost at “download and install”. On to the fix!

  • Boot into Recovery mode (hold ⌘-R at boot).
  • Open the Terminal (Utilities -> Terminal).
  • Type
    spctl kext-consent add MXGJJ98X76
    and press return. Now any extension from Valve will run automatically with no consent required. Except, Apple checks the naughty (blocked) list before it checks the nice (accept) list and Valve's extensions are already on the naughty list, so we need to reset that.
  • Type
    kmutil trigger-panic-medic --volume-root "/Volumes/Macintosh HD"
    The "Macintosh HD" part is the default name of your boot drive, but you can change it. You can hit Tab after typing "Mac" and it should auto-complete. If it doesn't, backspace to just "/Volumes/" and hit Tab a couple of times to see what the options are.
    This also can only be run from Recovery mode. It is typically used when an extension is causing your computer to crash ("panic") immediately and puts you in a reboot loop. This resets that status of all third party extensions. You'll get a warning from the OS about a third party extension causing problems when you login and you'll have to re-approve all of your third party extensions, but otherwise it is completely harmless.
  • Reboot out of Recovery mode.

That’s it. You can test this in the Terminal by running the command
sudo kmutil load -p /Library/Extensions/SteamInput.kext
It should return nothing (success!), but it might say you have to reboot before the extension can be loaded. Or you can just go play something like Hades again.

Merry Christmas!

Edit 1: Made "trigger-panic-medic" mandatory per Charmander's feedback.

Edit 2: Made it clear this doesn't work with Apple Silicon/M1 computers (ARM64), which requires at a minimum for Valve to rebuild their driver. This is only for Intel (x86_64) processors, which already had working drivers.
Ultima modifica da florean; 31 gen 2021, ore 12:10
< >
Visualizzazione di 181-195 commenti su 234
Hire certifyed staff Steammys and fix it. Sorry but Steam staff is obviously illiterate on Mac os.
Hey I did all this to try and get a controller working and all that, and it went to the install page and finished installing but it wanted me to accept something in settings that didn't exist (allow loading system software from Valve and/or Ambrosia). Any ideas?
I think the Ambrosia stuff is linked to the Steam Remote Play functions. I recall having to remove them some time ago when it caused issues with my Mac (High Sierra). It conflicted with something I think or just caused crashing, possible when putting the machine to sleep. Apologies for the vagueness, it was a while ago :D
Ultima modifica da Beetroot Bertie; 1 ago 2021, ore 12:36
hey guys! still no fix/workaround for M1? (using Switch Pro Controller)
It's work on Big sur 11.5.1. Thank you so much
Thank for your greatly help and working!! It works successfully on mbp13 (Intel 2020) with Big Sur 11.5.1. Hope it can help more players!:steamhappy:
I've given this a go and currently [sudo kmutil load -p /Library/Extensions/SteamInput.kext] return with nothing. (which means its successful)

My controller seem to work in Big Picture but once in-game, none of the button work except the one to open up steam overlay. And in overlay i could use it to control the menu. I've tried it on 3 different games (Hades, Overcooked 2 and stikbold!)

I'm running on Big Sur 11.5.1 and tried with 2 different controller, Steam controller and Switch Pro controller. Hope to seek some help here. Thanks!
@florean Thanks for sharing this, apparently steam has still not fixed the issue. This worked to get the steam driver to install, but not a total fix. I enabled the privacy settings as requested by the install and restarted the PC. Every time I open steam big picture, I still get the request to install drivers, which just ends up completing the install again. My switch pro controller works in big picture mode, but not once I load Dead Cells (which worked before the OS update). Let me know if you have any ideas.
Messaggio originale di Stotch:
I've given this a go and currently [sudo kmutil load -p /Library/Extensions/SteamInput.kext] return with nothing. (which means its successful)

My controller seem to work in Big Picture but once in-game, none of the button work except the one to open up steam overlay. And in overlay i could use it to control the menu. I've tried it on 3 different games (Hades, Overcooked 2 and stikbold!)

I'm running on Big Sur 11.5.1 and tried with 2 different controller, Steam controller and Switch Pro controller. Hope to seek some help here. Thanks!

This thread is misleading

There is no fix for controller driver issue with steam on macOS until steam decided to integrate apple’s game controller driver
Messaggio originale di florean:
No, it won't on Apple Silicon. Rosetta 2 doesn't translate kernel extensions and Valve has never released an ARM64 driver. This only fixes x86_64 computers that were working and broke after upgrading to Big Sur. Sorry if I got your hopes up. I hate to say it, but after seeing this debacle, I don't think we'll see a native Steam on AS. :(

You should change your ♥♥♥♥♥♥♥♥ topic it’s misleading many people

and clearly you have gave them false hope and such a waste of time by trying to fix this

99% people having issue are on apple ARM line of mac anyway
ewt ewt ondan
Messaggio originale di henry0918:
Messaggio originale di florean:
No, it won't on Apple Silicon. Rosetta 2 doesn't translate kernel extensions and Valve has never released an ARM64 driver. This only fixes x86_64 computers that were working and broke after upgrading to Big Sur. Sorry if I got your hopes up. I hate to say it, but after seeing this debacle, I don't think we'll see a native Steam on AS. :(

You should change your ♥♥♥♥♥♥♥♥ topic it’s misleading many people

and clearly you have gave them false hope and such a waste of time by trying to fix this

99% people having issue are on apple ARM line of mac anyway


Well, man, you're frankly just being rude. Why? Because you got mad that you didn't read well and the fix wasn't applicable to you?

I also have a MacBook Pro M1, so it also wasn't applicable to me unfortunately.

But it was clearly stated right away. And this guy went out of his way to find an actual fix, post it with clear instructions, AND explain everything about it, to boot!

That's a very commendable thing from someone who actually contributes to a community. I for one read the explanations and although the fix wan't good for me, I could learn from his steps (as well as remain aware of Valve's unwillingness to support Apple devices properly, although they claim their products are compatible. I've had issues with my Steam controller with Macs ever since I bought it.)

And if you skim through even a few of the many pages of responses, you'll see that many people have been helped and are thankful.

Your assumption that *most* people with this issue have Mac M1s comes from where? Everyone who has Steam on a Mac and uses controllers will encounter this issue on Big Sur. And you don't need to be an expert on hardware adoption facts to come to the obvious conclusion *most* people don't ever own the latest hardware. So it's extremely unlikely that most Mac Steam users are on Apple Silicon. Probably only a small minority of us are.

Anyways, I'm ranting. I should have used this energy to instead thank the guy who started this thread. The world can't ever enough people who are both knowledgeable, curious enough to find actual solutions to things, and - what's even rarer and most admirable - be kind enough to take the time and effort to share those solutions with others.

So a BIG THANK YOU to the OP.
So... no fix for M1 yet?
Messaggio originale di Stotch:
I've given this a go and currently [sudo kmutil load -p /Library/Extensions/SteamInput.kext] return with nothing. (which means its successful)

My controller seem to work in Big Picture but once in-game, none of the button work except the one to open up steam overlay. And in overlay i could use it to control the menu. I've tried it on 3 different games (Hades, Overcooked 2 and stikbold!)

I'm running on Big Sur 11.5.1 and tried with 2 different controller, Steam controller and Switch Pro controller. Hope to seek some help here. Thanks!

I have the similar issues is there any fix to this?
Slight Difference is mine is Big Sur 11.5.2 and i am using an xbox one controller (tried tricky towers, Overcook 2)
Ultima modifica da neilster; 22 ago 2021, ore 1:58
< >
Visualizzazione di 181-195 commenti su 234
Per pagina: 1530 50

Tutte le discussioni > Discussioni di Steam > Steam for Mac > Dettagli della discussione
Data di pubblicazione: 24 dic 2020, ore 15:45
Messaggi: 234