[SCRIPT] Better eGPUs on Macs with Discrete NVIDIA GPUs
Hi! Thanks a lot for your work on egpu support on tb2/tb1 mac like mine
I use this setup as the home workstation, but usually, I need to take my laptop elsewhere, on my job. So each time when I plug/unplug eGpu, I need to run purge-nvda in the terminal to install / uninstall dGpu. Otherwise, if I will not turn on nvidia-drivers back, such things as brightness and sleep mode in a clamshell will not work.
So I'm wondering if there any simple solution to optimize these processes. Like maybe some Automator script on thunderbolt connection which will runs purge-nvda on plug in, and uninstall it back on egpu disconnection?
The same thing happened to me updating to 10.14.6 Beta (18G48f). Does anyone have any solutions?
If purge-nvda causes boot to get stuck or crash, try the troubleshooting steps mentioned in the documentation. Usually that resolves the issue.
Edit: Still doesn't work. At this point I think it is that 10.15 beta 2 broke compatibility with the script.
@emanuelediba macOS 10.15 Beta 2 may disable hot-plugging support for eGPU on older Macs (including the eGPU menu bar icon). Try booting with eGPU plugged in and check Activity Monitor.
@psypryss could you test this if possible?
@emanuelediba yes. I was thinking more along the lines of the trick not working anymore (just like pre-10.13.4).
Hi all! Been a little while since I messed around with my eGPU on MacOS since 10.14 killed my GTX1060. Anyways I just got a RX 580 the other day and am now using that with my Thunder2 enclosure with my (dreaded) mid-2014 MBP (750m dPGU). My setup currently utilizes x2 monitors hooked up to my eGPU while keeping the clamshell closed since I don't have enough desk room at the moment to leave it open. The eGPU functionality is working great so far utilizing purge-wrangler and this purge-nvda script, but I was wondering if there was ever a fix or workaround for the issue of the internal display not shutting off with the clamshell closed?
I found another build where someone mentioned using an app called SwitchResX to disable the internal display, and while this does "disable" it, it doesn't actually turn the display completely off as would be optional.
Unfortunately there have been no new updates/fixes regarding that - both as the incentive decreases as the device gets older as well as me not having that Mac model anymore.
Many thanks for the quick reply! Completely understandable. Many times reading this forum I wished I had just waited for the 2015 revision but gotta make do with what I have for now.
Believe it or not though I actually found a little trick to get the internal display to shut off. I'm not sure if this is a result of SwitchResX or not, but I'm able to replicate it the following way:
- "Disable" internal display with SwitchResX (maybe not needed...)
- Put computer to sleep using the toolbar menu (clicking apple logo in top left)
- After the displays shut off keep moving the mouse (preventing sleep) and the external displays will come back on, but the internal display will remain off.
I will just make use of this trick for now when I'm using my eGPU until the new scissor MacBook keyboards are out next year and I can finally upgrade!
I want to know too. I have tried 2 months ago with the second beta of Catalina and it wasn't working, it wouldn't boot with purge-nvda. Today maybe I will try installing it on an external hard drive since I don't want to break the Mojave install I have right now.
Hey folks! Sorry for no updates on compatibility of this script with Catalina from my end. Problem is that I don’t have an NVIDIA Mac so I can’t know myself. Hopefully someone takes one for the team and gives it a shot on the latest release.
Really appreciate that! Thank you. Looks like we are Catalina-ready.
Hi everyone 🙂 I have an issue that i hope you can maybe help me with? I disabled SIP and ran the script so my older mac would connect to the EGPU, however my phillips monitor required something called a "purge-nvda.sh" script - whatever that is, in order to work. It wouldn't take signal from the egpu without it. So now everything worked BUT I lost my brightness control completely and my mac just blacked out everytime it went into sleep mode. Had to reinstall os x. Any idea how to get around this? I'm running mbp 2012 15" so thunderbolt 1 and my EGPU is a Sonnet 550 with a Vega 56 radeon card. Hope you guys can help, yikes.
There is a workaround but it is overall too complicated for most. At the moment, I am not developing the script further. I am thinking about incorporating those workarounds once I have some free time and anyone willing to test, since I do not own an NVIDIA Mac anymore.
Hey thanks for the quick reply 😉 yeah I'm not good at complicated software workarounds! But uninstalling/reinstalling as needed might be a solution, do you think that would work? Will gladly test if you decide to make a script. So it's basically the same issue with apple not supporting the internal Nvidia card, which is responsible for dealing with clamshell/sleep and brightness stuff? if I'm getting it right.
Yes that’s what most people are probably doing. Uninstall the script when you don’t need egpu. Another alternative is that you connect the display directly to the Mac instead of eGPU - in this case you do not need this script, but obviously there will be perf loss for some workloads using eGPU.
Yep they kind of go hand in hand in my setup - the egpu and the monitor. Guess you just have to be a go getter when choosing the budget option eh? haha 🙂 cheers man.