Este tema ha sido cerrado
florean 24 DIC 2020 a las 3:45 p. m.
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.
Última edición por florean; 31 ENE 2021 a las 12:10 p. m.
< >
Mostrando 61-75 de 234 comentarios
Floronics 12 ENE 2021 a las 9:48 a. m. 
Hi @LOVEFIRE and @rnz I am getting the same issues and sadly changing sound preferences didn’t help. I’m airplaying from iMac to AppleTV using steam link, with a Nimbus plus...but sadly no joy either with sound and also mouse cursor. Anyone know how many requests Steam need, before they deal with something?

Thanks to @TL;DR for kicking this off for us all.


Publicado originalmente por LOVΞFIЯΞ:
Publicado originalmente por rnz:
@florean - your instructions worked! I can host a game on my Intel mac running BigSur and play it on my tv running chromecast. The problem is that audio is still coming from my mac (not the client = TV). Can you confirm if the audio plays from mac for you? Thanks


@rnz,

you need to check you sound prefernces in system prefences, and make sure that you your input and output are where they should be, (you might have to toggle them to one thing and back to another, there is a known glitch with the sound pane where even though it says its on what you want it wont deeliver sound)

Try it. couldnt hurt.
LOVΞFIЯΞ 12 ENE 2021 a las 6:39 p. m. 
@floronix,

unless you find a way through the support tunnel and get in touch with an actual tech or valve developer then id would say it would just get lost in time. i have done it myself once, he fixed my crashing issue with my controller, maybe i was luckly.

Though i would do some troubleshooting if you havent already, if your using chromecast to connect then try a HDMI cable instead to see if that works, this can help point to an issue. make sure sound output is on the needed output device in sound setting of your mac, also some rare cases the tv needs to set the output too. most of this should be done automaticlly but since its not troubleshooting is key. this way when you do find a valve tech you have already done all the steps they would tell you to do and get right to looking into the potential issue here.

also another thing is if your hosting a game (how are you hosting it does it have its own sound priorities?) and does the chromecast or whatever your using have its own control over sound. lastly. look for what works and what doesnt will help rule out if its vavle or something else.
Boosty 14 ENE 2021 a las 1:51 p. m. 
Do I understand correctly I might need this Steam Controller driver to get my Xbox One Controller (1708) working? It's working in test tools and Big Picture Mode already, just not in games.

If so, how do I get this driver if I don't have a Steam Controller? /Library/Extensions/SteamInput.kext does not exist on my system. I Googled for an hour looking for it and feel like a total n00b now ;-)

Floronics 15 ENE 2021 a las 3:10 a. m. 
Publicado originalmente por LOVΞFIЯΞ:
@floronix,

unless you find a way through the support tunnel and get in touch with an actual tech or valve developer then id would say it would just get lost in time. i have done it myself once, he fixed my crashing issue with my controller, maybe i was luckly.

Though i would do some troubleshooting if you havent already, if your using chromecast to connect then try a HDMI cable instead to see if that works, this can help point to an issue. make sure sound output is on the needed output device in sound setting of your mac, also some rare cases the tv needs to set the output too. most of this should be done automaticlly but since its not troubleshooting is key. this way when you do find a valve tech you have already done all the steps they would tell you to do and get right to looking into the potential issue here.

also another thing is if your hosting a game (how are you hosting it does it have its own sound priorities?) and does the chromecast or whatever your using have its own control over sound. lastly. look for what works and what doesnt will help rule out if its vavle or something else.

Thanks @ LOVΞFIЯΞ - I will give that a go and contact Valve support - I hope as a community all of us mac users will get some help, as we are all clearly aiming for the same goal. Fingers crossed for us all!
kristinlee1996 15 ENE 2021 a las 10:53 a. m. 
Hello there!

First I want to say, thank you so much for this information! I wanted to get some help, as I've followed these steps, but recently came across another issue regarding connecting a PS4 controller to Stardew Valley using steam on Mac w/ Big Sur.

I was able to play for over 36+ game hours with no issues. Yesterday, I had an issue where I would get a message that was something related to "Developer Tool Access needs your permission to continue with debugging." Wish I could have gotten a screenshot of it but will keep trying so I can be as accurate as possible. I enter my Mac's password, figured it was just something related to the terminal or something, but then the game crashes. Every time. I did some experimenting and this is now ONLY crashing when I connect my pS4 controller to my Mac. I can still run Stardew fine without the controller, but as soon as it connected and I'm loading or playing the game, I experiencing crashing.

Does anyone have any suggestions on how to fix this issue? I figured this would be a good place to post, since I only started experiencing these issues after following these directions. I fully accept the fact it could have been an error on my part, but have no idea how to "go back" and start over with this process after I've already added things to the terminal. I'm very new to this, as you can probably tell. Anyways, any help anyone can provide would be most appreciated!

Edit: I was able to get the exact error message I'm getting. It says; "Developer Tools Access needs to take control of another process for debugging to continue. Enter your password to allow this." -- Once I do enter my password, the game crashes, I get a black screen, and have to force quit Steam.
Última edición por kristinlee1996; 15 ENE 2021 a las 11:19 a. m.
Equ 18 ENE 2021 a las 8:57 a. m. 
Publicado originalmente por MAkinE:
Hi @florean

Thanks so much for your kin help with this issue. I'm trying to connect to my Steam Link and it keep asking for an update for my GAMEPAD which my Big Sur 11.1 may not be allowing because it is simply asking for it after installation over and over. I follow your steps to the bit and after restarted my computer MacBook Pro (15-inch, 2017) I got the following prompt:
Error Domain=KMErrorDomain Code=27 "Extension with identifiers com.valvesoftware.SteamInput,com.dvdfab.kext.fabio,com.highpoint-tech.kext.HighPointIOP,com.valvesoftware.SteamInput-DS4v1,com.highpoint-tech.kext.HighPointRR,com.softraid.driver.SoftRAID not approved to load. Please approve using System Preferences." UserInfo={NSLocalizedDescription=Extension with identifiers com.valvesoftware.SteamInput,com.dvdfab.kext.fabio,com.highpoint-tech.kext.HighPointIOP,com.valvesoftware.SteamInput-DS4v1,com.highpoint-tech.kext.HighPointRR,com.softraid.driver.SoftRAID not approved to load. Please approve using System Preferences.}
EduardomeLaptop:~ makinemacbookpro07$

Am I missing something? Can you help me please?


Got the same problem. Any help? :/
pantheon0918 18 ENE 2021 a las 3:09 p. m. 
Publicado originalmente por 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. :(

Steam macOS detect my elite 2 controller it works in big picture mode but doesn’t work in the games

Also steam in GeForce now aren’t even detecting the elite 2
LOVΞFIЯΞ 19 ENE 2021 a las 9:25 a. m. 
@Architech, Equ, Kristenlee1996, Boosty

This is a huge mess, and we are all felling it right now. In my best effort to be as clear as possible, both the "Steam Big Picture Mode - Gamepad Driver" and also the 3rd party Xbox Driver for mac "360Controller" need to have manually added driver support for them to work. If you are using a playstation controller by chance, your gonna need to find the Dev ID and replaced it with Floreans method. Afterwards things will work (should work).

Here is my post for the xbox controller side of things.
https://github.com/360Controller/360Controller/issues/1139

I will do my best to respond to each of you directly, I have very limited time each day so i do my best.
LOVΞFIЯΞ 19 ENE 2021 a las 9:28 a. m. 
To clear up what i just said, lol, only if your using software that needs to be installed on your mac be it for a controller, or steam you need to use the method above to get mac to approve it.
ddzev 20 ENE 2021 a las 1:38 a. m. 
Hello,
I have an Xbox Shock Blue wireless controller. I did everything and got no error but when I try Streets of Rage 4 or Steredenn it doesn't work. OpenEMU works well, but it already worked before.
Any idea ?

The things I did:
spctl kext-consent add MXGJJ98X76
kmutil trigger-panic-medic --volume-root "/Volumes/Macintosh HD"

sudo kmutil load -p /Library/Extensions/SteamInput.kext

Edit: I tried Steam beta and the version of MacOS is 11.1.
Última edición por ddzev; 20 ENE 2021 a las 1:42 a. m.
ORDUSPORÇOCUĞU 20 ENE 2021 a las 8:37 a. m. 
As an aside, after Teh SoTo's comment I went back and tried a bunch of games that Steam says won't work because they are 32-bit and about half of them *did* work. So don't take Steam's word for it. My guess is some of them uploaded 64-bit builds at some point after Steam checked and Steam just never updates. :/
McCanna7 20 ENE 2021 a las 9:27 a. m. 
Woke up today and was having this problem for some reason, and this guide fixed literally everything. Thanks!
King Zøg 20 ENE 2021 a las 11:27 a. m. 
First time trying my new xbox controller on my macbook, I typed the 2 commands in the terminal in recovery mode and did not get any errors. The update prompt does not appear anymore when i go into big picture mode, but for some reason my controller still doesn't work. I connected it via bluetooth and it appears in the settings but does not work. Am I missing something, do i need to change anything else so it starts taking input from my controller?
Face me 20 ENE 2021 a las 3:14 p. m. 
Награду люблю трамвай куплю
Jabrwock 21 ENE 2021 a las 6:41 a. m. 
I'm having the same issue. I can verify that the steam kext signature is on the approved list, and did the panic command in recovery (tip, use cmd-opt-R if you have a slightly older Mac because cmd-R loaded up Mojave for me, cmd-opt-R loaded Big Sur), but even several reboots later it still fails to load the extension.
< >
Mostrando 61-75 de 234 comentarios
Por página: 1530 50

Publicado el: 24 DIC 2020 a las 3:45 p. m.
Mensajes: 234