RogueAmoeba / Soundflower-Original

MacOS system extension that allows applications to pass audio to other applications.
https://github.com/Cycling74/Soundflower
MIT License
1.27k stars 146 forks source link

Soundflower Disappeared and Installation fails #80

Open Erallie opened 6 years ago

Erallie commented 6 years ago

I am having trouble with installing Soundflower on my macOS High Sierra. I had it installed before and working, but for some reason, after installing other things, it disappeared. I checked the file I would have to remove to uninstall it, and it wasn't there either. I tried installing it again, but it kept failing. I read what it said in the description about installing on a macOS High Sierra. (Link for reference: https://github.com/mattingalls/Soundflower/releases/tag/2.0b2) For me, it required me to grant permission to open the Soundflower.pkg to open the installer, which I did, but after the installation failed, I checked, and it didn't have an option for me to grant permission to anything else. I restarted my computer, but it still didn't help. Can you help me?

mattingalls commented 6 years ago

High Serra has created a number of confusing install errors. Best thing to do is start over. Follow the "MOST RELIABLE WAY TO INSTALL" instructions here: https://github.com/mattingalls/Soundflower/ Then follow the install instructions as you link to. Note that you must be running from the root account. Also there's always confusion of people looking for the SoundflowerBED menu bar application, which is not supported anymore (see the README for how you can use a MultiOutput Device instead)

Erallie commented 6 years ago

That is the most reliable to way to uninstall, which I followed. After that, I tried installing again the usual way, and it still didn't work. I found the Soundflower.kext file in the folder after following the first uninstall instruction, and not in the second folder. I'm going to try to copy the Soundflower.kext file from the first to the second, and see if that works.

mattingalls commented 6 years ago

if you see the kext file there, it is installed! do you see Soundflower listed in audio preferences?

Erallie commented 6 years ago

it was only in the /Library/Extensions and not the /System/Library/Extensions. I tried copying and pasting it to /System/Library/Extensions, and it still doesn't show up in audio preferences.

mattingalls commented 6 years ago

it needs to be in the /Library/Extension folder (apple doesn't allow it in system folder anymore). so, you dragged it in the trash and rebooted and ran the installer and then opened system preferences to do the security thing and then ran the installer again?

Erallie commented 6 years ago

I dragged it to the trash, restarted, did the security thing in the system preferences to run the installer, ran the installer, and checked the security preferences only to see that there was nothing listed that I needed to grant permissions for. The security prompt comes before installation for me.

mattingalls commented 6 years ago

ok i'm kind of confused, but it sounds like you were able to give permission in the security preferences, but then when you ran the installer for the second time it failed? if that's the case, most of the time i have seen this is the person wasn't running the installer from the root account.

mattingalls commented 6 years ago

(or they were looking for the soundflowerBED menubar app, which isn't in this package, and soundflower itself was indeed installed and running)

Erallie commented 6 years ago

I'm definitely using the root account. There's only my account and the guest account, and I'm on my account. Here is a video I took of my doing the same thing again, starting from after the restart.

Erallie commented 6 years ago

The security thing was to open the package that would run the installer. I didn't get an option for another security thing to allow the extension.

mattingalls commented 6 years ago

ok thanks for the video that helps. were you ever able to give security permission to soundflower? because once you do, it will never ask for it again. one thing you didn't show is going into system preferences audio and verify it wasn't there. (sometimes the installer lies and it was successful) -- if its not, and if you still have Soundflower.kext in the trash, i can give you some terminal commands to try

Erallie commented 6 years ago

Before Soundflower first disappeared, I did give permission to the extension called mattingalls, so maybe that's why that security message didn't show up. I just checked audio in preferences, and Soundflower wasn't there. However, after that, I checked /Library/Extensions, and the Soundflower.kext file was there.

mattingalls commented 6 years ago

(sorry messed up the format on the last message, here it is again)

ok cool, sounds like most of it worked. try opening a terminal and try typing this:

cd /Library/Extensions
ls -l
sudo kextload Soundflower.kext

(it will ask for the root password on the last command)
and let me know what the output is

Erallie commented 6 years ago

/Library/Extensions/Soundflower.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8).

mattingalls commented 6 years ago

yeah, i don't think you have root privileges

Erallie commented 6 years ago

that's weird. this is the only account other than guest on my mac

Erallie commented 6 years ago

Users and Groups in system preferences

mattingalls commented 6 years ago

wait, you typed "sudo" and entered your password, right?

mattingalls commented 6 years ago

can you also show me what the "ls -l" output looks like?

Erallie commented 6 years ago

I'm supposed to type sudo before my password when it prompts me for my password?

And here is a picture of the terminal log

mattingalls commented 6 years ago

here's how to enable root: https://support.apple.com/en-us/HT204012

mattingalls commented 6 years ago

ok thanks for the screen shot -- that all was right! read that link about enabling root and let me know if that fixes it

mattingalls commented 6 years ago

fyi, this root access revelation is new to me -- so even though it's a hassle for you, it does help me and hopefully make it easier for others in the future! so thanks for not giving up!

Erallie commented 6 years ago

It still didn't work. The same thing happened both when I tried entering that code again and when I completely uninstalled and redownloaded it.

mattingalls commented 6 years ago

weird. try typing "sudo kextload Soundflower.kext" in the terminal with the root password

Erallie commented 6 years ago

I disabled root again. should I turn it back on?

mattingalls commented 6 years ago

yes

Erallie commented 6 years ago

it said, "Sorry, try again."

Erallie commented 6 years ago

was I supposed to do it in the root account? In the root account, it doesn't ask for a password

mattingalls commented 6 years ago

the "sudo kextload"? well it might not from root.. did it still give a permissions error?

Erallie commented 6 years ago

when I tried it in the root account it did still give a permissions error

mattingalls commented 6 years ago

and it still says "root wheel" next to it when you type "ls -l"?

Erallie commented 6 years ago

"Last login: Sat May 19 18:14:21 on console Erikas-MacBook:~ root# cd /Library/Extensions Erikas-MacBook:Extensions root# ls -l total 0 drwxr-xr-x 3 root wheel 96 May 16 17:54 360Controller.kext drwxr-xr-x 3 root wheel 96 Jun 12 2014 ACS6x.kext drwxr-xr-x 3 root wheel 96 Jun 27 2016 ATTOCelerityFC8.kext drwxr-xr-x 3 root wheel 96 Jun 27 2016 ATTOExpressSASHBA2.kext drwxr-xr-x 3 root wheel 96 Jun 27 2016 ATTOExpressSASRAID2.kext drwxr-xr-x 3 root wheel 96 Aug 20 2013 ArcMSR.kext drwxr-xr-x 3 root wheel 96 Aug 31 2013 CalDigitHDProDrv.kext drwxr-xr-x 3 root wheel 96 Aug 14 2014 HighPointIOP.kext drwxr-xr-x 3 root wheel 96 Aug 14 2014 HighPointRR.kext drwxr-xr-x 3 root wheel 96 Mar 31 2017 PromiseSTEX.kext drwxr-xr-x 3 root wheel 96 Aug 21 2017 SoftRAID.kext drwxr-xr-x 3 root wheel 96 Dec 18 2014 Soundflower.kext drwxr-xr-x 3 root wheel 96 Feb 15 20:47 SteamInput-DS4v1.kext drwxr-xr-x 3 root wheel 96 Feb 15 20:47 SteamInput.kext drwxr-xr-x 3 root wheel 96 Feb 16 14:43 SteelSeriesEngine3Driver.kext drwxr-xr-x 3 root wheel 96 Jan 4 2017 StratusDFU.kext drwxr-xr-x 3 root wheel 96 May 16 17:55 Wireless360Controller.kext drwxr-xr-x 3 root wheel 96 May 16 17:55 WirelessGamingReceiver.kext drwxr-xr-x 3 root wheel 96 May 16 17:54 XboxOneBluetooth.kext Erikas-MacBook:Extensions root# sudo kextload Soundflower.kext /Library/Extensions/Soundflower.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8)."

mattingalls commented 6 years ago

ok now try going into the security system prefs and see if the button is there to enable it. (fingers crossed)

Erallie commented 6 years ago

nothing

mattingalls commented 6 years ago

ok i'm about out of ideas -- i just want to make sure you entered to root password after typing the "sudo kextload.." command in your last terminal output, above? the only other thing to try is type this and let me know what the output is: "sudo kextutil Soundflower.kext"

Erallie commented 6 years ago

It didn't ask for my password, as I said. And here is the output for that code:

Erikas-MacBook:Extensions root# sudo kextutil Soundflower.kext Kext rejected due to insecure location: <OSKext 0x7fb6e0c1ebd0 [0x7fff9e23eaf0]> { URL = "file:///Library/StagedExtensions/Library/Extensions/Soundflower.kext/", ID = "com.Cycling74.driver.Soundflower" } Kext rejected due to insecure location: <OSKext 0x7fb6e0c1ebd0 [0x7fff9e23eaf0]> { URL = "file:///Library/StagedExtensions/Library/Extensions/Soundflower.kext/", ID = "com.Cycling74.driver.Soundflower" } Diagnostics for /Library/Extensions/Soundflower.kext:

Erallie commented 6 years ago

I did that last code in the root account, like that other code I pasted above.

mattingalls commented 6 years ago

hmm.. and you are on macOS 10.13?

Erallie commented 6 years ago

I'm on a macOS High Sierra Version 10.13.4

mattingalls commented 6 years ago

ok i'm just guessing now -- can you send output to this: sudo kextutil -verbose Soundflower.kext

Erallie commented 6 years ago

Erikas-MacBook:Extensions root# sudo kextutil -verbose Soundflower.kext Defaulting to kernel file '/System/Library/Kernels/kernel' Kext rejected due to insecure location: <OSKext 0x7fbf5b5bc4f0 [0x7fff9e23eaf0]> { URL = "file:///Library/StagedExtensions/Library/Extensions/Soundflower.kext/", ID = "com.Cycling74.driver.Soundflower" } Kext rejected due to insecure location: <OSKext 0x7fbf5b5bc4f0 [0x7fff9e23eaf0]> { URL = "file:///Library/StagedExtensions/Library/Extensions/Soundflower.kext/", ID = "com.Cycling74.driver.Soundflower" } Diagnostics for /Library/Extensions/Soundflower.kext:

mattingalls commented 6 years ago

ok, since you are running under root, try typing this (it will attempt to remove the "staged extension") rm -r -f /Library/StagedExtensions/Library/Extensions/Soundflower.kext

Erallie commented 6 years ago

Erikas-MacBook:Extensions root# rm -r -f /Library/StagedExtensions/Library/Extensions/Soundflower.kext

mattingalls commented 6 years ago

so it worked? type "ls -l /Library/StagedExtensions/Library/Extensions/" to verify soundflower is gone

Erallie commented 6 years ago

Erikas-MacBook:Extensions root# ls -l /Library/StagedExtensions/Library/Extensions/ total 0 drwxr-xr-x 3 root wheel 96 May 16 17:54 360Controller.kext drwxr-xr-x 3 root wheel 96 Jun 12 2014 ACS6x.kext drwxr-xr-x 3 root wheel 96 Jun 27 2016 ATTOCelerityFC8.kext drwxr-xr-x 3 root wheel 96 Jun 27 2016 ATTOExpressSASHBA2.kext drwxr-xr-x 3 root wheel 96 Jun 27 2016 ATTOExpressSASRAID2.kext drwxr-xr-x 3 root wheel 96 Aug 20 2013 ArcMSR.kext drwxr-xr-x 3 root wheel 96 Aug 31 2013 CalDigitHDProDrv.kext drwxr-xr-x 3 root wheel 96 Aug 14 2014 HighPointIOP.kext drwxr-xr-x 3 root wheel 96 Aug 14 2014 HighPointRR.kext drwxr-xr-x 3 root wheel 96 Mar 31 2017 PromiseSTEX.kext drwxr-xr-x 3 root wheel 96 Aug 21 2017 SoftRAID.kext drwxr-xr-x 3 root wheel 96 Feb 15 20:47 SteamInput-DS4v1.kext drwxr-xr-x 3 root wheel 96 Feb 15 20:47 SteamInput.kext drwxr-xr-x 3 root wheel 96 Feb 16 14:43 SteelSeriesEngine3Driver.kext drwxr-xr-x 3 root wheel 96 Jan 4 2017 StratusDFU.kext drwxr-xr-x 3 root wheel 96 May 16 17:55 Wireless360Controller.kext drwxr-xr-x 3 root wheel 96 May 16 17:55 WirelessGamingReceiver.kext drwxr-xr-x 3 root wheel 96 May 16 17:54 XboxOneBluetooth.kext

mattingalls commented 6 years ago

OK! now try "sudo kextutil -verbose Soundflower.kext" again

Erallie commented 6 years ago

Erikas-MacBook:Extensions root# sudo kextutil -verbose Soundflower.kext Defaulting to kernel file '/System/Library/Kernels/kernel' Kext rejected due to insecure location: <OSKext 0x7fca50d0e8e0 [0x7fff9e23eaf0]> { URL = "file:///Library/StagedExtensions/Library/Extensions/Soundflower.kext/", ID = "com.Cycling74.driver.Soundflower" } Kext rejected due to insecure location: <OSKext 0x7fca50d0e8e0 [0x7fff9e23eaf0]> { URL = "file:///Library/StagedExtensions/Library/Extensions/Soundflower.kext/", ID = "com.Cycling74.driver.Soundflower" } Diagnostics for /Library/Extensions/Soundflower.kext:

mattingalls commented 6 years ago

darn. ok one last thing to try is to do remove both sound flowers away:

rm -r -f /Library/StagedExtensions/Library/Extensions/Soundflower.kext
rm -r -f /Library/Extensions/Soundflower.kext
rm -r -f /Library/StagedExtensions/System/Library/Extensions/Soundflower.kext
rm -r -f /System/Library/Extensions/Soundflower.kext

those last 2 lines should fail, but doing that just in case.. then reboot. hopefully this will be running completely from scratch run the installer (but this time control-click on it and select "open", it should then show you a dialog with an "open" button). hopefully now it will do the security thing, etc.. if it doesn't then i'm sorry i am totally out of ideas.

Erallie commented 6 years ago

The code worked completely, but the installation failed, like before. Does this mean that my problem simply isn't solved? Will you continue thinking about it and notify me if and when you come up with a solution?