This topic has been locked
florean Dec 24, 2020 @ 3:45pm
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.
Last edited by florean; Jan 31, 2021 @ 12:10pm
< >
Showing 196-210 of 234 comments
jappydoo Aug 23, 2021 @ 1:56am 
I followed these steps and it ♥♥♥♥♥♥ my audio driver :/

Dunno what to do now
jappydoo Aug 23, 2021 @ 2:09am 
Okay there was an option in the security window to unlock and then check which extensions I wanted to use. (This fixed it temporarily)
Last edited by jappydoo; Aug 23, 2021 @ 4:07pm
jappydoo Aug 23, 2021 @ 4:06pm 
My audio driver isn't working at all today :/

Does anyone know what would have caused this? and how I can fix it?
Last edited by jappydoo; Aug 23, 2021 @ 4:46pm
tomekwsrod Aug 24, 2021 @ 12:24pm 
Originally posted by ddzev:
As expected, the new update of Steam has resolved the problem. The XBox series controller is now working perfectly \o/
(I'm on a MacBook Pro 13" 2019, macOS 11.2)

No, the problem is not resolved. I am unable to play any of the recent Tom Raider games with a controller on Intel Based Mac, Big Sur 11.5.2. The OS detects the Xbox Wireless controller, even the Steam seem to detect it but in the games it is not available.
jappydoo Aug 24, 2021 @ 4:27pm 
So I've worked out how to fix my audio driver by manually running

sudo kextload /Library/Extensions/FocusritePCIe.kext

every time I start the computer. . .

I shouldn't have to be doing this. Does anyone have any idea why the instructions for the game driver prevented my audio driver from loading every time I boot?
star-affinity Aug 26, 2021 @ 10:13am 
Originally posted by neilster:
Originally posted by 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)

I reported this controller problem to Steam about a year ago now – still behaves the same now. Game controller (PS4) is recognized in the controller settings in the Steam client, but once a game is started no input from the controller(s) go through. :(

I got the impression the Steam developers were looking into it, but I wonder if that's really happening...
Last edited by star-affinity; Aug 26, 2021 @ 10:14am
David Aug 30, 2021 @ 3:17pm 
Originally posted by star-affinity:
Originally posted by neilster:

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)

I reported this controller problem to Steam about a year ago now – still behaves the same now. Game controller (PS4) is recognized in the controller settings in the Steam client, but once a game is started no input from the controller(s) go through. :(

I got the impression the Steam developers were looking into it, but I wonder if that's really happening...

Not to be rude, but what are these developers doing for one year? Do we not matter as customers?
tomekwsrod Aug 31, 2021 @ 2:01am 
My guess is the Mac platform constitutes about 8% of all gamers so Steam or Game Developers (except Feral Interactive) don't care much. I have returned my controller to the shop because of poor in-games support. Maybe I will buy it again once it is supported, because it was really good. My old Logitech F310 is falling apart due to its age, but the good thing about it is that every game recognizes it properly on Mac.
Beetroot Bertie Aug 31, 2021 @ 7:27am 
Originally posted by tomekwsrod:
My old Logitech F310 is falling apart due to its age, but the good thing about it is that every game recognizes it properly on Mac.

Does the F310 work fine on M1 Macs?

According to the latest Steam hardware survey, only 2.51% for Mac. That said it doesn't account for Mac owners using bootcamp or virtual machines.

https://store.steampowered.com/hwsurvey/Steam-Hardware-Software-Survey-Welcome-to-Steam
Last edited by Beetroot Bertie; Aug 31, 2021 @ 7:58am
tomekwsrod Sep 2, 2021 @ 9:18am 
I have Intel based mac. But I believe F310 should work on M1 as well. To the best of my knowledge, F310 does not require any custom software. You can always give it a try. If it won't work, I should be able to return it to the store.

Mac presence looks grim indeed.
Beetroot Bertie Sep 2, 2021 @ 12:37pm 
I've ended up getting a cheap PS4 type pad (not an official one) with bluetooth and I've had more joy with that in games on Steam and Apple Arcade than the latest Xbox Wireless controller at the mo. I'd still like a no-fuss wired pad though if possible which is a shame as I have a bunch of 360 pads I could use if drivers could be sorted (hopefully).

It'd be good to know if any Logitech F310 owners with M1 Macs could confirm if it works well or not.
Last edited by Beetroot Bertie; Sep 2, 2021 @ 12:40pm
tratata Sep 9, 2021 @ 7:19am 
Thx, worked on MacBook Pro 2019 Intel i5
xespio Sep 19, 2021 @ 4:16pm 
still waiting for a solution for M1 mac :(
Uhnmeyker Oct 20, 2021 @ 6:29am 
thank you so much, this is still relevant sadly as of Oct. 2021. I'm running Big Sur 11.6 full release and there are still problems, but this worked for me!!!
Lazaway Oct 22, 2021 @ 8:51pm 
King! Finally.
< >
Showing 196-210 of 234 comments
Per page: 1530 50

Date Posted: Dec 24, 2020 @ 3:45pm
Posts: 234