Direct Mode in Big Sur

Gents,

Does any of you have an issue Playing Direct Mode in Big Sur OS? Mine does not allow me to play with Direct Mode Enabled.
Can anyone share the fix for this issue?
Thank you.

Well, Direct Mode doesn’t exist for long now without doing the « hack » trick…

If you had it in Catalina you know how to do the recipe… did you try the Catalina trick on Big Sur?

I can’t, my mac mini 2012 is out now…

I was able to hack the Audirvana Plus in Catalina but no luck with the Big Sur.
Below is the debug info:

Audirvana Plus rev. 3701 debug information:
running on Mac OS X 10.16.0 with 8192MB RAM

@Damien, (you probably already know) as per information from Apple Developer community, looks like the Audirvana is not yet compatible to the Big Sur in interacting with the System Kernel, the preferred method is to use “/Library/Extension” instead of “/System/Library/Extension” which the current Audirvana version uses I believe. From what I can gather the BS system kernel is Read Only and cannot be modified as we normally do in the previous Mac OS, hence why the Hanckintool method is no longer working.
Hopefully a patch is underway to rectify this issue or a workaround to Enable the Direct Mode again.

I am not an expert this is just my opinion. please correct me if I am wrong.

Damien could not enable Direct Mode now in any way as a developper, Apple closed the door long ago, i think it can only be done externally… by hacking the system.

How to hack the system is now the question, but how do we disable the System Kernel security to modify it? How shall we proceed?
Thank you.

If you can’t live without Direct Mode, switch back to Catalina till hack works again…

This may help. It is from a hack that has been upgraded to work in Big Sur for disabling core services. Cudos to cynecx

Maybe someone with knowledge of the original hack can confirm if this is logically what you are looking to do. I have not had time to look into the original hack.

#####################################

Boot into recovery mode; open a terminal and run the following commands

(disabling sip and allowing booting from an unauthenticated root disk):

csrutil disable
csrutil authenticated-root disable
reboot

You should be out of recovery mode now. Mount the root disk and apply the modifications (disk2s5 may vary):

cd ~ && mkdir mnt
sudo mount -o nobrowse -t apfs /dev/disk2s5 $(pwd)/mnt

cd ./mnt # this is the mount point for root

{do your stuff here for the core services}

cd …

finally run bless

sudo bless --folder $(pwd)/mnt/System/Library/CoreServices --bootefi --create-snapshot
sudo umount $(pwd)/mnt

reboot

sudo reboot

does it works? ( to enable direct mode )

I have a patched Big Sur on an unsupported 2012 Mac Mini.

Seems like Big Sur changed the audio subsystem somehow. I now have two kexts IOAudioFamily.kext and IOAudioFamily2.kext.

When trying to rebuild the kext, I fail on the following dependency:

Unable to resolve dependencies for com.apple.driver.AppleVirtIO: 'com.apple.driver.AppleVirtIO' names a dependency on 'com.apple.iokit.IOAudioFamily', which was not found.

Woohoo, I got it working! Turns out it was my mistake, I needed to manually run chown -R root:wheel IOAudioFamily.kext after copying the old kext, otherwise it just ignored it, which is why all other kexts failed afterwards.

I think I’m one of the first to get Big Sur to play nicely with Direct Mode so here’s a screenshot for you all :).

Have you put back all security on your mac after? And it is still working?

P.S.: thanks for that code line…
it repaired Direct Mode on Catalina since the last security update of Apple that killed it :slight_smile:

Awesome! Glad to help. I had constant kernel panics with Catalina 10.15.7 so I had no choice but to upgrade, or downgrade to Mojave which meant a full reinstall and losing my Apple Music library which is not compatible with Mojave.

I did not enable SIP again and I don’t plan to. This is an appliance and I have no use case for SIP, plus since it’s an upsupported Mac for Big Sur it probably have other problems anyway.

Have you been able to load the Wi-Fi on your Mac Mini late 2012 with the Big Sur hack
or is it still not working?

I’d love to try it, but i really need the wifi to use with the Audirvana remote…

Just added another APFS container and successfully installed Big Sur on a late MacMini 2012
added wifi… so far all is good… will backup and try to install Direct Mode after :slight_smile:

.ktext is changed in big sur extensions, but no direct mode loaded, did my usual recipe like the one that worked in catalina + your code line like yesterday… no luck

Yes, the WiFi hack worked just fine, although I’m using Ethernet so didn’t use it beyond making sure it finds my WIFI network and connects.

Are you using this guide?

The way I did it was to follow the instructions to mount the file using

/Volumes/Install\ macOS\ Big\ Sur\ Beta/remount-sysvol.sh

I then type open . to open a GUI of the LINKED folder. I copy the old kext to this old folder. I then run chown root:wheel on the newly copied file.

I then typed (with parenthesis):

"$REBUILD_KC"
exit

Then reboot. This worked for me.

OK manage to understand this a bit…
all worked out, drop the el capitan extension on the open folder, then having an error after…
this is what i’ve done… and the error after

I’m on my installed of Big Sur working with the USB stick mounted on Desktop…

Open terminal

Paste:
/Volumes/Install\ macOS\ Big\ Sur/remount-sysvol.sh

Enter password

Paste:
open .

Drop the El Capitan in the folder that just open
Replace, enter password.

Paste:
chown -R root:wheel IOAudioFamily.kext

Paste:
“$REBUILD_KC”

Paste:
exit

[email protected] Extensions # “$REBUILD_KC”
Checking for KernelCollections backup…
Backup found, so not overwriting.
Using kmutil to rebuild boot collection…
Error occurred while building a collection:
1: One or more binaries has an error which prevented linking. See other errors.
2: Could not use ‘com.apple.driver.AppleVirtIO’ because: Failed to bind ‘_Float32ToNativeInt32’ in ‘com.apple.driver.AppleVirtIO’ (at offset 0x18ca3 in __TEXT, __text) as could not find a kext which exports this symbol
com.apple.driver.AppleVirtIO specific:
1: Failed to bind ‘_Float32ToNativeInt32’ in ‘com.apple.driver.AppleVirtIO’ (at offset 0x18ca3 in __TEXT, __text) as could not find a kext which exports this symbol

kmutil failed. See above output for more information.
rebuild-kc.sh cannot continue, but you may make further
changes and try rebuild-kc.sh again.
[email protected] Extensions #

.ktext is not change in system… like nothing happen, you see what i did wrong…

I had this happen to me when it couldn’t read/use the dropped IOAudioFamily.kext.
I suggest to first copy the file with a different name such as IOAudioFamilyPatched.kext, then go to Apple Logo–>About This Mac --> System Report --> Extensions and look for that Patched kext. That’s where it told me that the permissions were wrong for this file, so perhaps you have another issue on your hand.