Setup & Software Discussions
[SCRIPT] PurgeWrangler: AMD + NVIDIA eGPUs for all Thunderbolt Macs
 

[SCRIPT] PurgeWrangler: AMD + NVIDIA eGPUs for all Thunderbolt Macs  

 of  39
  RSS

mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 3 years ago
 
Posted by: Brian Duchesneau

Yes. I had the same problem. I ended up restoring the kext from 10.13.3 via Time Machine and rebuilt the kext cache manually from the command line.

i think there might be an issue with one of the scripts that I used from here that did either incorrect tb1/2 detection patching and/or incorrect kext cache regeneration. I know I used the early version that would overwrite the original backup, so maybe that was part of my problem too.

i’ve read In one of the posts of a user that used the original script prior to tb1/2 auto detect having to pass in tb2 on a tb1 Mac mini to get it working. With that switch removed and now relying on auto detect being the only option.

i hope if the above is true the guys providing us help can fix this before the next OSX update reverts these changes.

Either way, thanks to all the folks in this forum for all the help and guidance this week.

Wish I had the 2012 Mac mini to test throughly. Glad you have a working system at least. The patch is correctly performed in all scripts. Now, how the patch affects macs differs from Mac to mac, but theoretically should be the same - eGPU support. Of course, as it is with many theories - it's flawed lol 😉

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 (Mantiz Venus MZ-02)


PsyPryss liked
ReplyQuote
(@rhenriques11)
Eminent Member
Joined: 2 years ago
 
Posted by: Sickntired

This thread has allowed me to use my AMD Vega 64 with my Mac Mini 2014 very easily!  Thanks!

However, I also have an Nvidia 1080 Ti that I would prefer to use because of its speed and because the card is quieter. 

What exactly do I need to do to get the 1080 Ti card working?  I haven't actually connected it yet as I wanted to be sure I did any necessary steps first. 

Thank you for any help!

Before doing anything, restart with Command+R and go to the terminal and type

csrutil disable

it's also a good idea to disable gatekeeper, at least temporarly. 

sudo spctl --master-disable

After in this sequence:
First install this driver 387.10.10.10.30.103
Second install this file NVDAEGPUSuppor-v8.zip
Third install CUDA download page

Make all the asked reboots

Finally get handy a AppleGPUWrangler.kext 3.16.2 from MacOS 10.13.3. The path is 

/System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/

Replace it by the one that is in the same path in 10.13.4. Repair permissions by entering the following commands into a terminal window:

 

$ sudo chown -R root:wheel /System/Library/Extensions/
$ sudo chmod -R 755 /System/Library/Extensions/
$ sudo touch /System/Library/Extensions/

Restart

If everything went well, you should be able to connect and use your external NV GTX 1080 Ti.

If you are in a laptop, disable the first option in the Energy Saver control panel. 

I hope that I was able to do a useful compilation from the efforts of several talented guys from this forum, to get NVidias working 😉   It's not the most elegant or the most technical desirable solution but at least it works reliably. 

 

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


goalque liked
ReplyQuote
rmvz3
(@rmvz3)
Trusted Member
Joined: 2 years ago
 
Posted by: rhenriques11 Repair permissions by entering the following commands into a terminal window

I've restored a Time Machine copy of AppleGPUWrangler.kext (v3.16.2, from a backup from January, 6th). I've done all this process (copying the kext from recovery boot) but when I try to do the permissions repair as you recommend, it always says "Operation not permitted" for each file. What am I doing wrong?

Edit: I've previously rebuilt the kernel cache using:

sudo touch /System/Library/Extensions && sudo kextcache -u /

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
(@rhenriques11)
Eminent Member
Joined: 2 years ago
 
Posted by: rmvz3
Posted by: rhenriques11 Repair permissions by entering the following commands into a terminal window

I've restored a Time Machine copy of AppleGPUWrangler.kext (v3.16.2, from a backup from January, 6th). I've done all this process (copying the kext from recovery boot) but when I try to do the permissions repair as you recommend, it always says "Operation not permitted" for each file. What am I doing wrong?

Edit: I've previously rebuilt the kernel cache using:

sudo touch /System/Library/Extensions && sudo kextcache -u /

You must use exactly this text without quotes

"sudo chown -R root:wheel /System/Library/Extensions/"

do the same for the other 2 lines

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
rmvz3
(@rmvz3)
Trusted Member
Joined: 2 years ago
 

My fault. I had the SIP enabled. Sorry.

Anyway, I’ve plugged in my card and I got a nice Kernel Panic. After rebooting, I tried again and I see a new icon on the menu bar with an option: unplug “(null)”. About my Max doesn’t show the 1070 either, just the intel and gt650m dGPU. 

Doesn’t seem to be working to me. Perhaps I should use the purge-nva script to disable the dGPU?

Captura 2018 04 08 a las 1.11.45

It seems it recognizes there's an eGPU after all

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
(@rhenriques11)
Eminent Member
Joined: 2 years ago
 
Posted by: rmvz3

My fault. I had the SIP enabled. Sorry.

Anyway, I’ve plugged in my card and I got a nice Kernel Panic. After rebooting, I tried again and I see a new icon on the menu bar with an option: unplug “(null)”. About my Max doesn’t show the 1070 either, just the intel and gt650m dGPU. 

Doesn’t seem to be working to me. Perhaps I should use the purge-nva script to disable the dGPU?

Captura 2018 04 08 a las 1.11.45

It seems it recognizes there's an eGPU after all

Check here if it's the NVidia driver that is selected:

Screen Shot 2018 04 08 at 00.58.09

Screen Shot 2018 04 08 at 00.58.35

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
rmvz3
(@rmvz3)
Trusted Member
Joined: 2 years ago
 

Yes, it is. I'm doing everything again. I'm not really sure if I had SIP disabled or enabled without kext.

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 3 years ago
 
Posted by: rmvz3

My fault. I had the SIP enabled. Sorry.

Anyway, I’ve plugged in my card and I got a nice Kernel Panic. After rebooting, I tried again and I see a new icon on the menu bar with an option: unplug “(null)”. About my Max doesn’t show the 1070 either, just the intel and gt650m dGPU. 

Doesn’t seem to be working to me. Perhaps I should use the purge-nva script to disable the dGPU?

Captura 2018 04 08 a las 1.11.45

It seems it recognizes there's an eGPU after all

Disabling dGPU not required for NVIDIA eGPU setups. The web driver would accelerate the dGPU anyway.

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 (Mantiz Venus MZ-02)


ReplyQuote
rmvz3
(@rmvz3)
Trusted Member
Joined: 2 years ago
 

I have repeated the process and everything remains the same. Card model is not recognized and the external monitor doesn't turn on. So, not a success case. I guess a TB1 Mac, Nvidia dGPU and Nvidia eGPU is not the best combination of all ^_^

EDIT: Success (kinda). Turns out that booting with the eGPU plugged do work. The card name is recognized too. So, hot plug/unplug is not working but, at least, I can use my eGPU. Thank you all for your help. 

Captura 2018 04 08 a las 2.40.40
Captura 2018 04 08 a las 2.39.51
Captura 2018 04 08 a las 2.39.37

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


itsage liked
ReplyQuote
breakaway550
(@breakaway550)
New Member
Joined: 1 year ago
 

Thanks, mac_editor.  you're awsome!  it worked now.

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
koorelle
(@koorelle)
Active Member
Joined: 2 years ago
 

I am so close to get my Titan Xp to work through Node Pro which connect
to iMac 5K 2014 m295x.
The external UP2716D wil light up but display nothing.
Thought both Xp Node pro and even Up2716D recognized in system description.

Quick Update————

I figure out two scenario

(1). Without eGpu to boot
  give me wrong default Retina resolution
3840 X 2160 

        Tips : while screen blank you can still manipulate
                  via Teamviewer

(2)But connect eGPU to boot
will give me working UP2716D and
blank retina display.
So I use”disable monitor”to disable retina display.And the result is quite well.
The catch is the process to boot will cause me ten cycle of  “something will not load” kernel reset memo which do harm my eGPU.

Tips  : while screen blank you can still manipulate
                  via Teamviewer

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


PsyPryss liked
ReplyQuote
Halbertus
(@halbertus)
Eminent Member
Joined: 3 years ago
 

Thanks a lot mac-editor for bringing up a solution to the frustrating situation Apple have left their users with dropping unofficial TB2 & TB1 support.

I have been using your script with great success on the following TB 2 setups:

#1
MacBook Pro Retina Mid 2015 M370X + Gigabyte RX 580 Gaming Box + Dell UP 2715K

#2
Mac Pro 2013 (D300) + Gigabyte RX 580 Gaming Box + Dell UP 2715K

As I got the eGPU box new recently, I still need to try a few more things until I can give a final statement o usability. So far I have been running a few benchmarks (valley, geekbench), a few old games (bio shock, tomb raider and some design applications (premiere pro, indesign). All of which worked flawlessly and in some cases I got noticeable performance gains.

Update 04/08: Wake from Sleep does not seem to be reliable on both systems though, also got one system crash after extended usage time on Mac Pro today

Update 04/09: Performance in latest Premiere Pro is really bad. Lots of dropped frames running Metal, No video in program monitor running OpenCL.

MacBook Pro 15" Mid 2015 w/ AMD Radeon R9 M370X
Mac Pro 2013 D300 + ASUS XG Station Pro + ASUS ROG VEGA 56
[email protected] Dell UP2715K


ReplyQuote
philw
(@philw)
Trusted Member
Joined: 2 years ago
 

Was feeling confident on my iMac 5K after a few days of running RX580 perfectly so embarked on getting Nvidia-ness up and running...

Unfortunately, only got to the first reboot after running the latest Nvidia driver installer - iMac hung on Apple logo/progress bar...

Never got to the CUDA install or the NVDAEGPUSuppor-v8.zip bit.

Best efforts unable to rectify so currently restoring last Time Machine Backup 🙁

Given up on all my Macs...but successfully running: Gigabyte Designare Z390, Core i9-9900K, 64GB RAM, 2x Internal GTX 1080TI, 2x GTX 1070 eGPU (Sonnet eGFX)


ReplyQuote
Fry-man22
(@fry-man22)
Active Member
Joined: 1 year ago
 

@philw When you installed the nVidia driver, it most likely set a boot flag in the NVRAM for the nVidia driver.

i had this same condition. I rebooted into the recovery mode and then reset the NVRAM and was able to boot successfully.

Run the following to do the reset from the recovery terminal:

nvram -c

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
philw
(@philw)
Trusted Member
Joined: 2 years ago
 

Thank you - I'll give it a go... once my Time machine has recovered in 4 hours 🙂

Given up on all my Macs...but successfully running: Gigabyte Designare Z390, Core i9-9900K, 64GB RAM, 2x Internal GTX 1080TI, 2x GTX 1070 eGPU (Sonnet eGFX)


ReplyQuote
Fry-man22
(@fry-man22)
Active Member
Joined: 1 year ago
 

I was hoping to catch you before you did that. It’s not necessary to do that every time to fix a black screen. Worst case scenario is usually just deleting whatever the offending Kent or startup option might be.

After messing with a few hackintosh machines, and I found that there are very few things that can’t be saved by either recovery or single user mode.

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
philw
(@philw)
Trusted Member
Joined: 2 years ago
 

hmmm... now a bit stuck - have restored iMac to pre-nvidia driver install and still gets stuck at 100% Apple progress bar...

Have gone back into recovery terminal and run csrutil disable again just in case - but still stuck.... any ideas anyone?

Given up on all my Macs...but successfully running: Gigabyte Designare Z390, Core i9-9900K, 64GB RAM, 2x Internal GTX 1080TI, 2x GTX 1070 eGPU (Sonnet eGFX)


ReplyQuote
philw
(@philw)
Trusted Member
Joined: 2 years ago
 

Better now... the purge-wrangler.sh recover command got me back to a working system 🙂

Feeling brave - I've attempted the Nvidia situation again... GTX 970 in eGFX enclosure...

with eGPU connected at boot - I get black screen on iMac and 2nd monitor. eGPU ok if powered on after login, apart from saying "Null" in the eGPU menu instead of GTX 970.

Just running some tests in c4D / Octane now...

Given up on all my Macs...but successfully running: Gigabyte Designare Z390, Core i9-9900K, 64GB RAM, 2x Internal GTX 1080TI, 2x GTX 1070 eGPU (Sonnet eGFX)


ReplyQuote
pandagenma
(@pandagenma)
Active Member
Joined: 1 year ago
 

Hello, I am new here. I have a MSi ARMOR RX580 8G in an Akitio Node connected to an iMac 17,1 over TB2. 10.13.4 disabled the unit, but the purge-wrangler script unfortunately did not bring it back either. Any suggestions?

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
pandagenma
(@pandagenma)
Active Member
Joined: 1 year ago
 

Sorry, I don't forum much. Here's what System Profiler says. https://imgur.com/a/DvDxr

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
(@brian_duchesneau)
Eminent Member
Joined: 1 year ago
 

Funny. Without any intervention i looked this morning and the kext no longer loads. All I did was let the mini sleep. All I get is a black screen now again.

2012 macmini i5 2.5Gz 16GB/1TB SSD - Sonnet Breakaway Box RX/580 - OSX Mojave 10.14.1


ReplyQuote
(@will_lien)
New Member
Joined: 1 year ago
 

After replace AppleGPUWrangler.kext from macOS 10.13.3, I got it to work on my MBP 13" 2015 early.( Nvidia Geforce 1060)

But now boot so slow. 🙁

Is anybody in the same situation?

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
philw
(@philw)
Trusted Member
Joined: 2 years ago
 

@pandagenma That looks very much like mine did prior to the purge-wrangler being applied – are you 100% that it went on ok? SIP disabled?

Given up on all my Macs...but successfully running: Gigabyte Designare Z390, Core i9-9900K, 64GB RAM, 2x Internal GTX 1080TI, 2x GTX 1070 eGPU (Sonnet eGFX)


ReplyQuote
fr34k
(@fr34k)
Reputable Member Moderator
Joined: 2 years ago
 

@mac_editor
your script got featured here (German Website)

macOS-eGPU.sh on GitHub (fr34k's macOS-eGPU.sh on eGPU.io)
----
2016 15'' MacBook Pro + GTX1080Ti@32Gbps-TB3 (Sonnet Breakaway 550) + macOS 10.13.6 (17G65 driver: 378.10.10.10.30.107 + CUDA: 396.148)


ReplyQuote
rmvz3
(@rmvz3)
Trusted Member
Joined: 2 years ago
 
Posted by: Will Lien

After replace AppleGPUWrangler.kext from macOS 10.13.3, I got it to work on my MBP 13" 2015 early.( Nvidia Geforce 1060)

But now boot so slow. 🙁

Is anybody in the same situation?

Yes. Same here. I ended restoring to standard kext and removing nvidia and cuda drivers because of that. Sometimes it won't even boot without resetting the PRAM before. Not usable for me.

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
pandagenma
(@pandagenma)
Active Member
Joined: 1 year ago
 

Yep, disabled SIP in the recovery terminal first.

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
zpost
(@zpost)
Active Member
Joined: 1 year ago
 

Hi! I have a question: Do I re-enable system integrity protection after I install the script?
Thanks a lot for putting out this bypass and for helping me!

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 3 years ago
 
Posted by: zpost

Hi! I have a question: Do I re-enable system integrity protection after I install the script?
Thanks a lot for putting out this bypass and for helping me!

Optional. If you update macOS, you will need to re-patch - for that you will have to re-disable it anyway.

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 (Mantiz Venus MZ-02)


itsage liked
ReplyQuote
(@vicdork)
New Member
Joined: 1 year ago
 

I must have missed that, but where is the script for patching my machine for old AMD cards?

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
fr34k
(@fr34k)
Reputable Member Moderator
Joined: 2 years ago
 
Posted by: vicdork

I must have missed that, but where is the script for patching my machine for old AMD cards?

The Legacy AMD support can be found here:
app-automate-egpu-by-goalque
There's a newer version available somewhere in the thread.

macOS-eGPU.sh on GitHub (fr34k's macOS-eGPU.sh on eGPU.io)
----
2016 15'' MacBook Pro + GTX1080Ti@32Gbps-TB3 (Sonnet Breakaway 550) + macOS 10.13.6 (17G65 driver: 378.10.10.10.30.107 + CUDA: 396.148)


ReplyQuote
(@neal_howland)
New Member
Joined: 1 year ago
 

Grateful for this. Thanks so much. 

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
chrisheninger
(@chrisheninger)
New Member
Joined: 1 year ago
 

Thank you thank you thank mac_editor and everyone who helped!

I was extremely disappointed the past week after upgrading to 10.13.4 and realizing Apple broke support for TB2 machines– the purge-wrangler script worked flawlessly and the instructions were extremely simple. Much appreciated and thank you so much again!

Mid-2015 MacBook Pro + Akitio Node + Radeon RX580 👨🏻‍💻


ReplyQuote
bdark
(@bdark)
Active Member
Joined: 3 years ago
 

@mac_editor GOD-MODE

Bildschirmfoto 2018 04 10 um 13.20.32
Bildschirmfoto 2018 04 10 um 13.20.14

Thanks for being awesome !!! 🙂

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
zpost
(@zpost)
Active Member
Joined: 1 year ago
 

My Mac wouldn't boot into macOS .  The way I resolved it was by running the following troubleshooting step command and now it works like a charm!

$ ./purge-wrangler.sh recover

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
(@jonashn)
Active Member
Joined: 2 years ago
 

I WANT this to work, but it's not really there yet for me.

2015 MBP, Dell 2415 q - screen work, card recognized, and it's listed in the display settings:  https://imgur.com/a/kM3l6   BUT it's not used if I run CineBench from the external display, and not showed as the active GPU in About :  https://imgur.com/a/TqtPv  

Any idea what I should do differently?

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
itsage
(@itsage)
Famed Member Admin
Joined: 3 years ago
 

@jonashn Have you set the external monitor as the primary display?

Best ultrabooks for eGPU use

eGPU enclosure buying guide


ReplyQuote
 of  39