I can't remember, are we supposed to have displays have separate spaces On, or Off?
Should not affect acceleration anyway. Device is simply not initialized as OpenCL/GL compute capable. Which is odd since this the Web Driver's responsibility.
If some can read the system log, they could answer the following question: have you got any of these errors?
Fallback GPU Display Pipe transaction submission failed
DisplayPipe Capabilities Extended are not supported on offline Fbs
To be sure that there are no other factors (old workarounds or conflicting software), people should start from a fresh installation of macOS 10.13.4.
Could the culprit be a certain dGPU/iGPU + eGPU combo or monitor model? We don't know yet.
I restored back to 10.3.3 backup overnight unfortunately so can't check the logs now, but:
2014 iMac 27"
dGPU: Radeon 295X
Attached monitor: (iMac's display)
iGPU: None (or Apple disabled it, it doesn't show anywhere)
eGPU: Sonnet 550 / Nvidia 1080TI
TB: 2
Attached monitor: Acer CB240HYK (4K, 24", set to [email protected] for retina) using DisplayPort set to 1.2 (will double check that shortly)
Filevault is on, Displays Have Separate spaces is on, eGPU attached monitor was set to primary.
Graphics switching not available, free sync not available.
Boot methods tried:
1. Boot with eGPU attached
2. Boot without, connect after login (black external monitor)
2b. Log out after connecting, log back in (black internal monitor, giant lag levels)
3. Boot without, connect at login screen after 15 seconds, connect display 15 seconds later, log in (black external)
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
Just finished testing my Mid 2104 MBP with Iris Pro + Nvidia 750M...
Alas, it got itself pretty upset...
- eGPU: Sonnet 350 / Nvidia GTX970
- TB: 2
- Attached monitor: Just built in Retina Display
- Graphics switching not available – 750M always active
- Screen Brightness adjust doesn't work
- Hotplug after login: eGPU icon appears in menu bar with "Disconnect Null" (no biggy as used to this)
- System report shows "Nvidia Chip Model"
- Cuda apps don't see GTX970 (Octane Render w/ C4D)
- Cinema 4D crashes (or just black screens, difficult to tell) if eGPU connected - launches ok if eGPU hotplugged after, but no joy with CUDA as above
- If boot with eGPU connected just black display
- If I use the "Disconnect" from menu - mac screen goes black and I have to force restart
As far as I can tell the script was happy and everything is in place.
Without eGPU connected, OpenCL / OpenGL / Metal all seem to be functioning.
As ever, thanks for all the work on this 🙂
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
For those who own Nvidia dGPU MBP, it is worth to try this app and its "Integrated Only" mode since gfxCardStatus is not compatible with High Sierra.
https://codyschrank.github.io/gSwitch/
EDIT:
Interesting - the app works with my M370X 15" MBP, and when set to "Integrate Only", someone switches it back to "Dynamic Switching" when an eGPU is present (hot plugged for example). Is it Nvidia web driver or Apple's gmux drivers? I guess the latter.
@wzienrgo
The short answer is: disable it and leave it that way.
The long answer:
Different installations and patches need different parts of SIP to be disabled. If the script detects that SIP isn't disabled sufficiently it will tell you what to do. Re-enabling SIP might go well until the next cache update, then your system would crash. You may do enable --without kext that should theoretically not interfere but I wouldn't risk it. For script execution in most cases SIP must be fully disabled.
macOS-eGPU.sh on GitHub (fr34k's macOS-eGPU.sh on eGPU.io)
----
2016 15'' MacBook Pro + [email protected] (Sonnet Breakaway 550) + macOS 10.13.6 (17G65 driver: 378.10.10.10.30.107 + CUDA: 396.148)
@fr34k minor issue at end of script, reboot didn't happen. Got this:
A reboot will soon be performed...
5..4..3..2..1..0
iMac:~ chris$ Password:
I thought it was asking for superuser permission again, but my password appeared as plain text... deleted + hit return, script ended, no reboot. Looks OK so far otherwise, let's reboot and find out.
I had the exact same issue during installation, however on rebooting myself and then following the instructions for the blank minitors with cursor I encountered a further stumbling block.
it seems that my MBP is detecting my two external monitors on the eGPU however it is still driving the internal LCD on the iGPU and the external monitors on the eGPU, the MBP knows they are there, has assigned one of them as the primary screen however there is no display on them.
My setup is as follows:
13" MBP 2017 TB
HP OMEN eGPU
NVIDIA GTx1060 6GB
2 x Dell UP2516D connected by displayport
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
@nealconyard
Seems strange, I've tried something, hopefully this does not happen anymore...
A note, especially for @goalque
I've had the problem with eM earlier: now Plug in, log out and boom.
macOS-eGPU.sh on GitHub (fr34k's macOS-eGPU.sh on eGPU.io)
----
2016 15'' MacBook Pro + [email protected] (Sonnet Breakaway 550) + macOS 10.13.6 (17G65 driver: 378.10.10.10.30.107 + CUDA: 396.148)
I've run the uninstall script and then installed it once more, the system now works but it still shows as the built in display running from the igpu and the external running from the egpu!
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
@nealconyard
what do you mean by "still" ?
The iM will always be run from the iGPU except when app developers explicitly code there apps for eGPU. (Blender e.g. does this in the renderer, live rendering does not work on the [email protected])
The eM should be run be the eGPU and not the iGPU since that would be daisy chaining. I don't know if there even would be a way to enforce that.
-> everything is fine... (rather: what were your hopes?)
macOS-eGPU.sh on GitHub (fr34k's macOS-eGPU.sh on eGPU.io)
----
2016 15'' MacBook Pro + [email protected] (Sonnet Breakaway 550) + macOS 10.13.6 (17G65 driver: 378.10.10.10.30.107 + CUDA: 396.148)
@fr34k in which case all is good, I just remember for some reason system report displaying the graphics differently before the 10.13.4 update.
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
an interesting quick note:
clamshell sleep does work without an eM 😁
I've tried it multiple times:
a) Close MacBook Pro, eGPU connected no eM: Mac sleeps, wakes up sporadically, eGPU does shut down
b) Close MacBook Pro, eGPU connected, with eM: Mac stays awake.
c) Forcing sleep works as well
macOS-eGPU.sh on GitHub (fr34k's macOS-eGPU.sh on eGPU.io)
----
2016 15'' MacBook Pro + [email protected] (Sonnet Breakaway 550) + macOS 10.13.6 (17G65 driver: 378.10.10.10.30.107 + CUDA: 396.148)
@fr34k in which case all is good, I just remember for some reason system report displaying the graphics differently before the 10.13.4 update.
It may depend on which display is set as the primary and was the display plugged in before boot. It is advisable to learn fundamentals of using external GPUs with displays.
Just finished testing my Mid 2104 MBP with Iris Pro + Nvidia 750M...
- System report shows "Nvidia Chip Model"
This is your main problem. Nvidia drivers are not loaded. Please reinstall macOS 10.13.4 and try again.
Hi there, wanted to try this with a fresh 10.13.4 install on external SSD. When I try to execute the script, and after accepting the terms, the terminal simply quits. Is it the expected behaviour (i.e. everything runs on the background)? I recall trying the temporary script some days ago and seeing lots of output on the terminal. I have no clue if anything is running at all, could anyone confirm this?
EDIT: my bad, I was executing it from iTerm2 instead of Terminal app. I confirm this is working on my MacBook Pro 2017 TouchBar and NVIDIA GTX 1070 eGPU with a fresh 10.13.4 install, thank all of you!
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
Hi Guys,
Thanks again for your amazing work.
Just to confirm, I don't update the nvidia driver as prompted to .107?
I just tried to plug in at the login screen and had no luck but will keep trying.
2018 13" Macbook Air
Late 2012 Mac Mini - MacOS + Win10
Asus XG Station Pro (Vega 64 295TDP)
Guys, you are awesome! 😎
As I understand this script is to enable eGPU for MacOS, and has nothing to do with any kind of Windows installations, isn't it?
Cannot wait to come back from business trip and make my setup. I will submit my build once deployed.
It would be great to also have clear instruction on Bootcamp Windows eGPU installations, cuz info is kinda spread out and confusing.
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
So unfortunately it hasn't worked for me (2017 MBP 15" R560 w/ AGB 1070), I get the black monitor and have tried the work re plugging in eGPU first and then monitor but with no luck.
My driver is .103 and got the following message after the script had run if that means anything?
2018 13" Macbook Air
Late 2012 Mac Mini - MacOS + Win10
Asus XG Station Pro (Vega 64 295TDP)
EDIT: my bad, I was executing it from iTerm2 instead of Terminal app. I confirm this is working on my MacBook Pro 2017 TouchBar and NVIDIA GTX 1070 eGPU with a fresh 10.13.4 install, thank all of you!
13" or 15"?
Are CUDA drivers insalled by default? According to the script they should be located on /Library/Frameworks/CUDA.framework but I am not able to locate them there.
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
Hi,
and thanks again for the great work! Below are the results of my testing. Everything seemed to work as expected, except installing CUDA drivers failed:
MacMini Late 2012 (2,6 GHz i7, iGPU HD4000, TB1)
eGPU: AkitioThunder2, EVGA GTX980
1. Install eGPU script (--install)
- installed without problems! (Installed NVIDIA Web Driver 387.10.10.10.30.103)
2. Install CUDA driver (--install --cudaDriver )
- install fails:
Installing... CUDAPrint: Entry, "CFBundleVersion", Does Not Exist /dev/fd/63: line 1334: [: too many arguments [done] Patching... Finish... cleaning system [done] Nothing has been changed.
3. Boot with eGPU connected:
- Boots OK
- eGPU menu displays Disconnect “NVIDIA GeForce GTX 980”
- System Report (Graphics/Displays) shows correctly = NVIDIA GeForce GTX 980, External GPU, PCIe
- GTX980 DisplayPort and HDMI outputs seem to work (picture to eGPU displays and acceleration works)
- Unigine Valley benchmark (Extreme HD)= FPS: 51,6 Score: 2158
- CUDA Octane benchmark = n/a (CUDA install failed)
- Disconnect tests:
- Use eGPU menu to disconnect = Kernel panic (as expected)
- Hot-unplug eGPU = Kernel panic (as expected)
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
EDIT: my bad, I was executing it from iTerm2 instead of Terminal app. I confirm this is working on my MacBook Pro 2017 TouchBar and NVIDIA GTX 1070 eGPU with a fresh 10.13.4 install, thank all of you!
13" or 15"?
13-inch.
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
Hi guys. I have a little problem here.
Antons-MBP:~ antonkirillov$ bash <(curl -s https://raw.githubusercontent.com/learex/macOS-eGPU/master/macOS-eGPU.sh) hexdump: /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGPUWrangler.kext/Contents/MacOS/AppleGPUWrangler: Permission denied hexdump: /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGPUWrangler.kext/Contents/MacOS/AppleGPUWrangler: Bad file descriptor xxd: /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGPUWrangler.kext/Contents/MacOS/AppleGPUWrangler: Permission denied You use the old wrangler patch. Please follow instructions on eGPU.io/GitHub. Interrupt... cleaning system [done] The script has failed. Nothing has been changed.
Could you help me? btw eGPU.io/GitHub is not working(
I tried to use some uninstallers but i don't understand what kind of wrangler patch i am using and how can i fix it( And one more thing, nvidia wants to install .106 driver on 17E202 only. But we dot't have NVDAEGPUSupport for .106 driver, only for .103(
mbp 13 mid 2017 TB, Aorus Gaming box + GTX 1070
Installing... CUDAPrint: Entry, "CFBundleVersion", Does Not Exist /dev/fd/63: line 1334: [: too many arguments [done] Patching... Finish... cleaning system [done] Nothing has been changed
I am also getting this error with bash macOS-eGPU.sh -c (after webdrivers install with bash macOS-eGPU.sh, thought CUDA drivers were installed by default).
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
@iculikemac
the ones that do get installed are tested. Feel free to tinker.
Thanks I found the bug in the logic... Will update soon
@jarandaf
no CUDA is not installed by default. The script looks for apps that need CUDA. If you have one that you think is not recognised send me the -> case sensitive <- path to the app
for the bug in line 1334 see post above
@henf
ah I know what happened fix will be out soon
macOS-eGPU.sh on GitHub (fr34k's macOS-eGPU.sh on eGPU.io)
----
2016 15'' MacBook Pro + [email protected] (Sonnet Breakaway 550) + macOS 10.13.6 (17G65 driver: 378.10.10.10.30.107 + CUDA: 396.148)
Okay no worries, thank you for that @fr34k. I’ll see how I go might give the update ago and let you know.
2018 13" Macbook Air
Late 2012 Mac Mini - MacOS + Win10
Asus XG Station Pro (Vega 64 295TDP)
@henf
It will take a while to fix it properly, in the meantime try first executing:
sudo chmod -R 755 /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGPUWrangler.kext
sudo chown -R root:wheel /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGPUWrangler.kext
@iculikemac
the CUDA fix is out, wait a few minutes for GitHub's distribution.
macOS-eGPU.sh on GitHub (fr34k's macOS-eGPU.sh on eGPU.io)
----
2016 15'' MacBook Pro + [email protected] (Sonnet Breakaway 550) + macOS 10.13.6 (17G65 driver: 378.10.10.10.30.107 + CUDA: 396.148)
@fr34k done. Result:
Antons-MBP:~ antonkirillov$ sudo chmod -R 755 /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGPUWrangler.kext Password: Antons-MBP:~ antonkirillov$ sudo chown -R root:wheel /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGPUWrangler.kext Antons-MBP:~ antonkirillov$ bash <(curl -s https://raw.githubusercontent.com/learex/macOS-eGPU/master/macOS-eGPU.sh) You use the old wrangler patch. Please follow instructions on eGPU.io/GitHub. Interrupt... cleaning system [done] The script has failed. Nothing has been changed.
mbp 13 mid 2017 TB, Aorus Gaming box + GTX 1070
@henf
much better!
deducing from this you have
- used my temp script
- NOT updated to the latest 17E202
-> use the uninstall script (the temp one), then proceed with this...
If I'm wrong then correct me, I'll then help out.
macOS-eGPU.sh on GitHub (fr34k's macOS-eGPU.sh on eGPU.io)
----
2016 15'' MacBook Pro + [email protected] (Sonnet Breakaway 550) + macOS 10.13.6 (17G65 driver: 378.10.10.10.30.107 + CUDA: 396.148)
Can confirm that CUDA install (atleast on my system) works now without problems!
- Blender and Octane work perfectly with the GTX980 eGPU
Thanks for the extremely fast fix! 🙂
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
Unfortunately nothing. I double checked version, and used your temp script uninstaller. One thing that seemed strange for me, i don't know may be it's ok, but after execute uninstaller OS was rebooting like i hold the power button, just black screen in one second and that's it.
Antons-MBP:~ antonkirillov$ sudo su Password: sh-3.2# [Restored 5 May 2018 at 16:20:34] Last login: Sat May 5 16:20:28 on console Restored session: Sat May 5 16:19:00 EET 2018 Antons-MBP:~ antonkirillov$ bash <(curl -s https://raw.githubusercontent.com/learex/macOS-eGPU/master/macOS-eGPU.sh) You use the old wrangler patch. Please follow instructions on eGPU.io/GitHub. Interrupt... cleaning system [done] The script has failed. Nothing has been changed.
mbp 13 mid 2017 TB, Aorus Gaming box + GTX 1070
@henf
Concluding from that:
-> you haven't used my temp script, instead gone by @goalque's instructions -> you must update. @goalque did not include a backup in the steps.
Either update to 17E202 (2018-001) or reinstall macOS 10.13.4, either way you must acquire the 10.13.4 wrangler.
macOS-eGPU.sh on GitHub (fr34k's macOS-eGPU.sh on eGPU.io)
----
2016 15'' MacBook Pro + [email protected] (Sonnet Breakaway 550) + macOS 10.13.6 (17G65 driver: 378.10.10.10.30.107 + CUDA: 396.148)
Hi,
and thanks again for the great work! Below are the results of my testing. Everything seemed to work as expected, except installing CUDA drivers failed:MacMini Late 2012 (2,6 GHz i7, iGPU HD4000, TB1)
eGPU: AkitioThunder2, EVGA GTX9801. Install eGPU script (--install)
- installed without problems! (Installed NVIDIA Web Driver 387.10.10.10.30.103)2. Install CUDA driver (--install --cudaDriver )
- install fails:Installing... CUDAPrint: Entry, "CFBundleVersion", Does Not Exist /dev/fd/63: line 1334: [: too many arguments [done] Patching... Finish... cleaning system [done] Nothing has been changed.3. Boot with eGPU connected:
- Boots OK
- eGPU menu displays Disconnect “NVIDIA GeForce GTX 980”
- System Report (Graphics/Displays) shows correctly = NVIDIA GeForce GTX 980, External GPU, PCIe
- GTX980 DisplayPort and HDMI outputs seem to work (picture to eGPU displays and acceleration works)
- Unigine Valley benchmark (Extreme HD)= FPS: 51,6 Score: 2158
- CUDA Octane benchmark = n/a (CUDA install failed)
- Disconnect tests:
- Use eGPU menu to disconnect = Kernel panic (as expected)
- Hot-unplug eGPU = Kernel panic (as expected)
Did some more testing and even hot-plugging works on an old TB1 MacMini! 🙂
Hotplug eGPU (after login)
- System Report (Graphics/Displays) shows correctly = NVIDIA GeForce GTX 980, External GPU, PCIe
- eGPU menu displays Disconnect “(null)”
- Blender and Octane can use eGPU as compute
- GTX980 HDMI/DisplayPort connected displays are black
- After logout/login, HDMI/DisplayPort connected displays work!
- Disconnect tests:
- Use eGPU menu to disconnect = Kernel panic (as expected)
- Hot-unplug eGPU = Kernel panic (as expected)
@fr34k Amazing work! 🙂
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
Just wanted to say a huge thank you to you brilliant people!
I had the same failed cuda install issue as macjj so installed cuda manually instead. It appears all is good now with my 2017 mbp15 and sonnet 650w enclosure and gtx1080. Cuda working 20-25% faster vs metal with my vega64. Any consequences to installing cuda outside of your script that I should consider?
cheers and thanks again!
2017 MBP15 3.1GHz, 16GB, Sonnet eGFX650, Akitio Node, GTX1080, RX Vega 64
MacBook Pro mid 2017 with dGPU + LG UltraFine 5K + HDMI headless + SONNET eGPU 550W + 1080TI. I am getting black monitor with a mouse.
Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts
Did some more testing and even hot-plugging works on an old TB1 MacMini! 🙂
Hotplug eGPU (after login)
- System Report (Graphics/Displays) shows correctly = NVIDIA GeForce GTX 980, External GPU, PCIe
- eGPU menu displays Disconnect “(null)”
- Blender and Octane can use eGPU as compute
- GTX980 HDMI/DisplayPort connected displays are black
- After logout/login, HDMI/DisplayPort connected displays work!
- Disconnect tests:
- Use eGPU menu to disconnect = Kernel panic (as expected)
- Hot-unplug eGPU = Kernel panic (as expected)@fr34k Amazing work! 🙂
I observed the same behaviour with my Macs, including 2014 Mac mini.
We're still researching how to enable full hot-plug support, without needing to logout/login for eGPU display output as well as hot-unplug.
macOS 10.13.4 workaround was a result of one-evening research - it is amazing that one aerospace engineering student and CS engineer (me) can do this as a hobby and Apple & Nvidia couldn't.
@ccr
Nah, this should be the same.
I hope the CUDA bug should be fixed now.
Also: if the password bug (asking for pass after script has finished still occurs, please report)
macOS-eGPU.sh on GitHub (fr34k's macOS-eGPU.sh on eGPU.io)
----
2016 15'' MacBook Pro + [email protected] (Sonnet Breakaway 550) + macOS 10.13.6 (17G65 driver: 378.10.10.10.30.107 + CUDA: 396.148)