[Sticky] [SCRIPT] Enable AMD+NVIDIA eGPUs on TB1/2/3 Macs on macOS 10.13.4+  

Page 1 / 16 Next
 

mac_editor
(@mac_editor)
Prominent Member Moderator
Joined:1 year  ago
Posts: 893
April 5, 2018 4:01 am  

PurgeWrangler

Github: purge-wrangler.sh

 

With macOS 10.13.4, Apple finally added eGPU support officially to macOS. However, support was limited to Macs with Thunderbolt 3 and AMD external graphics processors only. PurgeWrangler enables the following:

  • eGPUs on Thunderbolt 1 & 2 Macs
  • NVIDIA external graphics support

 


System Requirements

Your system must meet the following minimum hardware requirements for this patch:

  • Running macOS 10.13.4 or later, including macOS 10.14 (Mojave)
  • Have a Thunderbolt port

 

Basically, almost all macs since 2011 are supported. The script checks the system configuration before making any modifications, and at this stage, is well tested and safe to use.

 


Installation

All steps are mandatory. Please follow the steps as advised for the most optimal experience.

 

Step 1

Disable system integrity protection. This can be done with the following procedure:

  • Power on computer while pressing ⌘ + R to boot into System Recovery
  • After recovery loads, go to Utilities > Terminal from the Menu bar

 

Once in Terminal, type in the following commands:

csrutil disable
reboot

 

Your system will boot back into macOS if all's well.

 

Step 2

Download and install the script. Simply copy-paste the following command into Terminal and execute:

curl -s "https://api.github.com/repos/mayankk2308/purge-wrangler/releases/latest" | grep '"browser_download_url":' | sed -E 's/.*"([^"]+)".*/\1/' | xargs curl -L -s -0 > purge-wrangler.sh && chmod +x purge-wrangler.sh && ./purge-wrangler.sh && rm purge-wrangler.sh

 

The script will automatically install itself for recovery purposes and is ready for use at this point. The command above only needs to be run once. For future use, simply type the following in Terminal:

purge-wrangler

OR

Use @jeroen-van-keulen's PW cTB Installer for easy installation + use.

 

You will be prompted to install updates to the script (3.1.0 onwards) if and when they are available, using the above command, eliminating the first-time setup process per script version.


AMD eGPUs

Patch by: @mac_editor, @fricorico

 

If you are on a Thunderbolt 3 mac, you do not need any patches. The script will detect this and not modify the system as it already supports AMD GPUs. To enable AMD GPUs on older macs:

  • Run purge-wrangler and select Option #1
  • Reboot system

 

AMD eGPUs will be operational at this point.

 

Additional Resources & Support

 


NVIDIA eGPUs

Patch by: @goalque, @fr34k, @yifanlu

 

All macs will require patching for NVIDIA eGPUs to work on macOS. You will also need the following resources:

 

The steps are straightforward:

  • Run purge-wrangler and select Option #2
  • Run webdriver.sh and install web drivers
  • Install NVIDIAEGPUSupport

 

NVIDIA eGPUs will be operational at this point.

 

Additional Resources & Support

  • Hot-unplugging is not currently supported with NVIDIA eGPUs
  • Reboot after every step in the above procedure so that it's easy to narrow down problems
  • Using Older Web Drivers - applicable for macs with discrete NVIDIA GPUs where eGPU may not accelerate OpenCL/GL - just use older 378.xx drivers using webdriver.sh
  • macOS-eGPU.sh - alternative solution that automates the entire process (alpha)

 


Troubleshooting

In cases where the system fails to boot, it is possible to recover changes made by purge-wrangler in Single User Mode. To do so:

  • Power on the system while pressing ⌘ + S
  • Let the initial system boot complete

 

Once the command line is available, execute the following commands:

mount -uw /
purge-wrangler

 

The program may take up to a minute to execute. Use the recovery options from the menu to revert changes made by the program. Please note that changes made by the NVIDIAEGPUSupport installer and webdriver.sh will not be touched.

If you update macOS (security or version updates), you need to run purge-wrangler again.

For other issues, please read the Troubleshooting Guide.

 


Community

This patch is not possible without the assistance of multiple members on this forum. Feel free to donate if you so desire - or just report back here with your experience:

paypal  (@mac_editor)

This project is currently in active development. Next on the agenda may be a UI-based client that will incorporate most of the solutions for eGPUs on macOS.

Edited: 2 days  ago

purge-wrangler.shpurge-nvda.sh

Guides:
Mid-2014 15" MacBook Pro GT750M + RX480@16Gbps-TB2 (AKiTiO Node via TB3->TB2 adapter) + macOS & Win10
Mid-2014 15" MacBook Pro GT750M + GTX980Ti@16Gbps-TB2 (AKiTiO Node via TB3->TB2 adapter) + macOS


Zetthard, avj, ziggy029 and 21 people liked
ReplyQuote
tiagoamaro
(@tiagoamaro)
Active Member
Joined:3 months  ago
Posts: 6
April 5, 2018 4:26 am  

Incredible job! Just went through the bash script and saw the wonderful job you did making it as easy as possible on patching and uninstalling if anything goes wrong!

Keep up the good work 👏


ikir and joysthokkins liked
ReplyQuote
mac_editor
(@mac_editor)
Prominent Member Moderator
Joined:1 year  ago
Posts: 893
April 5, 2018 4:28 am  
Posted by: tiagoamaro

Incredible job! Just went through the bash script and saw the wonderful job you did making it as easy as possible on patching and uninstalling if anything goes wrong!

Keep up the good work 👏

Thank you good sir! 🙂

Edited: 2 months  ago

purge-wrangler.shpurge-nvda.sh

Guides:
Mid-2014 15" MacBook Pro GT750M + RX480@16Gbps-TB2 (AKiTiO Node via TB3->TB2 adapter) + macOS & Win10
Mid-2014 15" MacBook Pro GT750M + GTX980Ti@16Gbps-TB2 (AKiTiO Node via TB3->TB2 adapter) + macOS


ReplyQuote
Jeroenvankeulen
(@jeroen-van-keulen)
Trusted Member
Joined:6 months  ago
Posts: 50
April 5, 2018 6:02 am  

You Sir are a legend!

MBP11,4, i7-4980HQ, 256gb SSD, 16gbRAM HS (Sonnet Breakaway box 350 + Gigabyte Radeon RX 580 Gaming 8GB)
Mm3,1 P7350, 250gb SSD 8gbRAM. HS (server) Phone9,1, 32gb. iOS11 iPad5,3, 16gb. iOS11 iPod shuffle 2nd gen. 2gb


mac_editor liked
ReplyQuote
mac_editor
(@mac_editor)
Prominent Member Moderator
Joined:1 year  ago
Posts: 893

ReplyQuote
FricoRico
(@fricorico)
Eminent Member
Joined:2 years  ago
Posts: 38
April 5, 2018 6:54 am  

Nice job dude! Glad we could figure this out so quickly and provide a working solution for all TB2 users out there. I will also try using the script tonight and let you know the outcome.


ReplyQuote
mac_editor
(@mac_editor)
Prominent Member Moderator
Joined:1 year  ago
Posts: 893
April 5, 2018 6:56 am  
Posted by: FricoRico

Nice job dude! Glad we could figure this out so quickly and provide a working solution for all TB2 users out there. I will also try using the script tonight and let you know the outcome.

Thank you for that hint in our private discussion. Was an eye-opener of sorts. 🙌

purge-wrangler.shpurge-nvda.sh

Guides:
Mid-2014 15" MacBook Pro GT750M + RX480@16Gbps-TB2 (AKiTiO Node via TB3->TB2 adapter) + macOS & Win10
Mid-2014 15" MacBook Pro GT750M + GTX980Ti@16Gbps-TB2 (AKiTiO Node via TB3->TB2 adapter) + macOS


FricoRico liked
ReplyQuote
mac_editor
(@mac_editor)
Prominent Member Moderator
Joined:1 year  ago
Posts: 893

ReplyQuote
rmvz3
(@rmvz3)
Eminent Member
Joined:1 year  ago
Posts: 48
April 5, 2018 7:45 am  

OMG! Will this work with hot plug feature too? I'm looking forward to try it in a few hours. Great work. Thank you!


ReplyQuote
mac_editor
(@mac_editor)
Prominent Member Moderator
Joined:1 year  ago
Posts: 893
April 5, 2018 7:47 am  
Posted by: rmvz3

OMG! Will this work with hot plug feature too? I'm looking forward to try it in a few hours. Great work. Thank you!

Native eGPU support as if its a TB3 mac. Should not be a problem as far as I can tell in my tests. Macs with NVIDIA dGPUs still require my other patch to get things going.

Edited: 2 months  ago

purge-wrangler.shpurge-nvda.sh

Guides:
Mid-2014 15" MacBook Pro GT750M + RX480@16Gbps-TB2 (AKiTiO Node via TB3->TB2 adapter) + macOS & Win10
Mid-2014 15" MacBook Pro GT750M + GTX980Ti@16Gbps-TB2 (AKiTiO Node via TB3->TB2 adapter) + macOS


ReplyQuote
igerard
(@igerard)
Trusted Member
Joined:1 year  ago
Posts: 97
April 5, 2018 8:08 am  

Nice, impatient to test it next week when I will come back from vacation 🙂

good job !


mac_editor liked
ReplyQuote
psonice
(@psonice)
Trusted Member
Joined:6 months  ago
Posts: 95
April 5, 2018 8:24 am  

👍
Haven't tested yet (will do so as soon as I have time to upgrade, plus time to restore from backup if needed) but have read the script, looks solid enough.

I can't unsee "IoT BS witch type" tho 😉


ReplyQuote
fr34k
(@fr34k)
Reputable Member Moderator
Joined:6 months  ago
Posts: 364
April 5, 2018 8:26 am  

@mac_editor
Although the enabler for .4 isn't finished yet, I can say that I will add your script to mine as well (if needed, still fixing the panics) once it's in the final release for .4
in the meantime would you like to test my thunderbolt recognition script:

 

bash <(curl -s  https://raw.githubusercontent.com/learex/macOS-eGPU/macOS10134/ScriptTB.sh) 

 

if someone does not get the correct answer or even that it could not be detected please say...

 

Edited: 2 months  ago

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.4 (17E202 driver: 378.10.10.10.30.107 + CUDA: 396.64)
CUDA NN bench: 382s [397s base]


mac_editor liked
ReplyQuote
RianGray
(@riangray)
Active Member
Joined:11 months  ago
Posts: 9
April 5, 2018 9:07 am  

I can confirm your script works on Mac Mini (late 2014) with RX 580. Great work!


mac_editor liked
ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:2 years  ago
Posts: 896
April 5, 2018 9:09 am  

I have a feeling that Apple kept Intel happy, and left a backdoor for us. If they deliberately wanted to block older TB technology, there are more effective ways to accomplish that in the EFI level.

automate-eGPU.shapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + Vega64@32Gbps-TB3 (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/RX580@32Gbps-TB3 (Netstor HL23T) + macOS10.13 & Win10


Zetthard, cyberdogg, umba67 and 4 people liked
ReplyQuote
rmvz3
(@rmvz3)
Eminent Member
Joined:1 year  ago
Posts: 48
April 5, 2018 10:17 am  
Posted by: mac_editor Native eGPU support as if its a TB3 mac. Should not be a problem as far as I can tell in my tests. Macs with NVIDIA dGPUs still require my other patch to get things going.

I'm gonna try right now. I have a Nvidia 650M dGPU and I'm using a GTX1070 eGPU (Akitio Thunder2) on my TB1 MacBookPro. What patch do you say I need to install? Do you mean the nvidia-egpu.v7 from here?

So what's the proper order to enable a Nvidia dGPU Mac with TB1/2 from scratch? Would this be correct?

1- Install Nvidia drivers (SIP enabled)
2- Install NVIDIAEGPUSupport (SIP enabled without Kext)
3- Install PureWrangler (SIP disabled)

EDIT: This is a bit offtopic but I've noticed I no longer have to use DIYeGPU 1.35 to boot with my eGPU on Bootcamp since now I can plug the egpu, turn on the mac and choose Windows without having to do the double boot dance. Before this, if I tried to boot with the egpu plugged in, the mac freezed. I needed to plug the egpu cable just after the chime and do the double boot using the DIYeGPU boot partition.

Edited: 2 months  ago

ReplyQuote
devild
(@devild)
Trusted Member
Joined:2 years  ago
Posts: 56
April 5, 2018 11:18 am  

@rmvz3, Nvidia cards are still not working with 10.13.4, unfortunately.

That is not dead which can eternal lie, And with strange aeons even death may die.


tiagoamaro liked
ReplyQuote
rmvz3
(@rmvz3)
Eminent Member
Joined:1 year  ago
Posts: 48
April 5, 2018 11:46 am  
Posted by: devild

@rmvz3, Nvidia cards are still not working with 10.13.4, unfortunately.

Ouch! 🙁


ReplyQuote
artik
(@artik)
Active Member
Joined:5 months  ago
Posts: 17
April 5, 2018 11:48 am  

Wonderful, many thanks I'll test it on my MacPro 2013 + Vega soon!

Mac Pro 2013, 10 core, Sonnet eGFX 550, Vega 64


ReplyQuote
fr34k
(@fr34k)
Reputable Member Moderator
Joined:6 months  ago
Posts: 364
April 5, 2018 12:40 pm  
Posted by: rmvz3
Posted by: devild

@rmvz3, Nvidia cards are still not working with 10.13.4, unfortunately.

Ouch! 🙁

I'm sorry that it takes so long,
I only have a few hours a day where I can test and tweak.
And still some research needs to be done before a closed beta can be published and then on the following day if all goes well then to the public.
atm, the drivers cause the problem not the wrangler (as far as I can tell for now)

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.4 (17E202 driver: 378.10.10.10.30.107 + CUDA: 396.64)
CUDA NN bench: 382s [397s base]


ReplyQuote
kyorosweb
(@kyorosweb)
New Member
Joined:9 months  ago
Posts: 4
April 5, 2018 12:55 pm  

Everything works fine (including hotplug) with my 2014 mbp13 + Akitio node + RX 580 ~


ReplyQuote
tiagoamaro
(@tiagoamaro)
Active Member
Joined:3 months  ago
Posts: 6
April 5, 2018 1:11 pm  

@kyorosweb, thank you for your report! I have a similar configuration (MacBook Pro (Retina, 15-inch, Mid 2015)) and I was wondering if a RX 570/RX 580 would be natively compatible. Cheers!


ReplyQuote
(@rhenriques11)
Eminent Member
Joined:3 months  ago
Posts: 32
April 5, 2018 1:12 pm  

If anyone had some success with a TB2 machine and Nvidia eGPU's,  please provide a comprehensive A to Z tutorial. 
Best Regards

PS: "Macs with NVIDIA dGPUs still require my other patch to get things going." mac_editor, what is this "Other patch"?

Edited: 2 months  ago

ReplyQuote
theitsage
(@itsage)
Noble Member Admin
Joined:2 years  ago
Posts: 2438
April 5, 2018 1:17 pm  

Thank you @mac_editor! Great effort by all to show defiance as a community.

@tiagoamaro RX 470/570 should work. They share PCI ID with RX 480/580.

@rhenriques11 Check out @mac_editor's Purge-NVDA to disable Nvidia dGPU so that it doesn't clash with AMD eGPU. Once you've done that, run PurgeWrangler script to unblock eGPU for TB1/2 Macs.

Edited: 2 months  ago

Best ultrabooks for eGPU use

eGPU enclosure buying guide

56 external GPU build guides


ReplyQuote
fr34k
(@fr34k)
Reputable Member Moderator
Joined:6 months  ago
Posts: 364
April 5, 2018 1:23 pm  

@rhenriques11
important is here the dGPU not eGPU.
The purge-NVIDIA script is meant. A link can be found in his signature

EDIT: @itsage you were faster, dang it.

Edited: 2 months  ago

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.4 (17E202 driver: 378.10.10.10.30.107 + CUDA: 396.64)
CUDA NN bench: 382s [397s base]


theitsage liked
ReplyQuote
kyorosweb
(@kyorosweb)
New Member
Joined:9 months  ago
Posts: 4
April 5, 2018 1:28 pm  
Posted by: tiagoamaro

@kyorosweb, thank you for your report! I have a similar configuration (MacBook Pro (Retina, 15-inch, Mid 2015)) and I was wondering if a RX 570/RX 580 would be natively compatible. Cheers!

However, there still some performance drops in some apps like photoshop & sketch. You will feel some lag on drawing, but I this it is a software problem as it has no lag on non-retaina mode (I am using a 4k monitor) and this issue also happened in nvidia cards. All native app are running fine.
But when I connect the monitor directly to 2017 mbp has no any graphic problem. So it may also cause by the speed bottleneck of  TB2. Or I can try to connect the egpu with my 2017 mbp.


ReplyQuote
rmvz3
(@rmvz3)
Eminent Member
Joined:1 year  ago
Posts: 48
April 5, 2018 1:33 pm  
Posted by: fr34k I'm sorry that it takes so long,
I only have a few hours a day where I can test and tweak.
And still some research needs to be done before a closed beta can be published and then on the following day if all goes well then to the public.
atm, the drivers cause the problem not the wrangler (as far as I can tell for now)

Please, don't apologize for that. We are all extremely grateful for your job. You guys are awesome.


ReplyQuote
(@rhenriques11)
Eminent Member
Joined:3 months  ago
Posts: 32
April 5, 2018 1:43 pm  

Thank you so much guys. I'll test tonight. I do not have a Nvidia dGPU, only eGPU. Let's see if it works. 
I have already upgraded both CUDA an Nvidia Web Driver to the latest versions. Is it necessary to use an upgraded nvidia-egpu-v7.zip (this is always necessary to make things work) from this post "https://egpu.io/forums/mac-setup/wip-nvidia-egpu-support-for-high-sierra/"
This has been always a sensitive script to use and it seems that it needs to be tuned for every new driver. If so anyone has it handy for 387.10.10.10.30.103 and MacOS 10.13.4?
Cheers

PS - My setups are: - MBP 2015 with internal AMD Radeon R9 M370X; Aktio Box with Nvidia GF 1080Ti
 - Mac Pro mid 2013 TrashCan with 2 internal AMD Fire pro 500; Two eGPU - Aktio Box with Nvidia GF 1080Ti and Sonnet Box also with a Nvidia GF 1080Ti.

Edited: 2 months  ago

ReplyQuote
Jagungx
(@jagungx)
New Member
Joined:3 months  ago
Posts: 1
April 5, 2018 1:47 pm  

Works great on MBP 13 Late 2013, MSI RX480. macOS is able to auto detect GPU as Radeon RX 480 8192 MB, which in previous versions was always a Radeon R9.

Also, not sure if it's just me, but CSGO frames rates seems higher, perhaps better driver support for RX480 this time around. 

Next, I will be monitoring if the random egpu sleep/wake crashes that were happening on 10.13.3 is resolved in this version.


theitsage liked
ReplyQuote
mac_editor
(@mac_editor)
Prominent Member Moderator
Joined:1 year  ago
Posts: 893

ReplyQuote
TheFurious
(@thefurious)
Active Member
Joined:3 months  ago
Posts: 12
April 5, 2018 1:51 pm  

I‘m so glad that you found a solution. I started to gather all I need for my eGPU Setup for my 2015 MBP (got an Omen extreeeeemly cheap) 

Regarding GPU‘s: With this Script I will also have no trouble to get a RX460 run, correct? 

Just needed to run three displays.


mac_editor liked
ReplyQuote
mac_editor
(@mac_editor)
Prominent Member Moderator
Joined:1 year  ago
Posts: 893
April 5, 2018 1:53 pm  
Posted by: fr34k

@mac_editor
Although the enabler for .4 isn't finished yet, I can say that I will add your script to mine as well (if needed, still fixing the panics) once it's in the final release for .4
in the meantime would you like to test my thunderbolt recognition script:

 

bash <(curl -s  https://raw.githubusercontent.com/learex/macOS-eGPU/macOS10134/ScriptTB.sh) 

 

if someone does not get the correct answer or even that it could not be detected please say...

 

Looks fine to me at a glance, need to test though. Would love to integrate into purge-wrangler.sh.

purge-wrangler.shpurge-nvda.sh

Guides:
Mid-2014 15" MacBook Pro GT750M + RX480@16Gbps-TB2 (AKiTiO Node via TB3->TB2 adapter) + macOS & Win10
Mid-2014 15" MacBook Pro GT750M + GTX980Ti@16Gbps-TB2 (AKiTiO Node via TB3->TB2 adapter) + macOS


ReplyQuote
theitsage
(@itsage)
Noble Member Admin
Joined:2 years  ago
Posts: 2438
April 5, 2018 1:53 pm  
Posted by: mac_editor

Has anyone tried with tb1 Mac? Haven’t heard of a success yet and can’t test on my end.

I will try tonight with a 2011 17" MBP [TB1]. It was successful with kext swap so I bet your script will work.

 

@thefurious RX 460/560 is a bit of a wild card. While there are drivers and support, I've seen issues with external monitor output. I will test using Breakaway Puck 560 and provide an update.

Edited: 2 months  ago

Best ultrabooks for eGPU use

eGPU enclosure buying guide

56 external GPU build guides


mac_editor liked
ReplyQuote
fr34k
(@fr34k)
Reputable Member Moderator
Joined:6 months  ago
Posts: 364
April 5, 2018 1:54 pm  
Posted by: mac_editor
Posted by: fr34k

@mac_editor
Although the enabler for .4 isn't finished yet, I can say that I will add your script to mine as well (if needed, still fixing the panics) once it's in the final release for .4
in the meantime would you like to test my thunderbolt recognition script:

 

bash <(curl -s  https://raw.githubusercontent.com/learex/macOS-eGPU/macOS10134/ScriptTB.sh) 

 

if someone does not get the correct answer or even that it could not be detected please say...

 

Looks fine to me at a glance, need to test though. Would love to integrate into purge-wrangler.sh.

That's what it's for...

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.4 (17E202 driver: 378.10.10.10.30.107 + CUDA: 396.64)
CUDA NN bench: 382s [397s base]


mac_editor liked
ReplyQuote
Jeroenvankeulen
(@jeroen-van-keulen)
Trusted Member
Joined:6 months  ago
Posts: 50
April 5, 2018 2:30 pm  
IMG 7677

@mac_editor let me buy you a beer! (give me your PayPal)

It runs like a charm!

Schermafbeelding 2018 04 05 om 16.28.06

MBP11,4, i7-4980HQ, 256gb SSD, 16gbRAM HS (Sonnet Breakaway box 350 + Gigabyte Radeon RX 580 Gaming 8GB)
Mm3,1 P7350, 250gb SSD 8gbRAM. HS (server) Phone9,1, 32gb. iOS11 iPad5,3, 16gb. iOS11 iPod shuffle 2nd gen. 2gb


ReplyQuote
mac_editor
(@mac_editor)
Prominent Member Moderator
Joined:1 year  ago
Posts: 893
April 5, 2018 2:32 pm  
Posted by: Jeroenvankeulen

@mac_editor let me buy you a beer! (give me your PayPal)

It runs like a charm!

Appreciate the sentiment and generosity! That's more than enough 😉

purge-wrangler.shpurge-nvda.sh

Guides:
Mid-2014 15" MacBook Pro GT750M + RX480@16Gbps-TB2 (AKiTiO Node via TB3->TB2 adapter) + macOS & Win10
Mid-2014 15" MacBook Pro GT750M + GTX980Ti@16Gbps-TB2 (AKiTiO Node via TB3->TB2 adapter) + macOS


ReplyQuote
Page 1 / 16 Next