[Sticky] Two new eGPU solutions on macOS 10.13.4: pure EFI and hybrid  

Page 1 / 2 Next
 

goalque
(@goalque)
Prominent Member Admin
Joined:2 years  ago
Posts: 896
May 27, 2018 8:51 pm  

The most observant readers may have noticed my recent investigation on the EFI side, making possible to use both Nvidia and AMD cards out of the box, without needing to backup kexts because Apple's system files stay untouched.

EFI approach provides more reliable Nvidia eGPU screen output but lacks hot plugging support because it bypasses Thunderbolt layers. The eGPU is detected as if it was installed internally. See the screenshots below.

The "Disconnect" menu bar item is not visible. What happens when we combine EFI with our earlier discoveries? The EFI and yifanlu's kext operating in "hybrid" mode?'' Boot into macOS, hot plug the eGPU on the login screen, and boom:

Multiple eGPU support might be a bonus side effect. The "Type" column says "External GPU". This is all done without modifying system files. The EFI is executed from the USB stick in my test scenario, but it can be run from any media.

Does it work with AMD cards through TB2? Yes.

Confirmed to work with the nMP, Late 2014 Mac mini, Mid 2015 15" MBP (M370X), and Late 2013 13" MBP.

The EFI does it on the fly. No magic, it will be all open source. My next goal is to set the iGPU as the primary device, resolving the sluggish AMD dGPU and Nvidia eGPU cooperation. It seems to work manually, but we want automation. Stay tuned.

Edited: 2 weeks  ago

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


ReplyQuote
mac_editor
(@mac_editor)
Prominent Member Moderator
Joined:1 year  ago
Posts: 893
May 28, 2018 1:36 am  

Pure EFI approach may resolve problems for macs with NVIDIA dGPUs using AMD eGPUs - just how it was on Sierra. Basically the same approach, except IOPCITunnelCompatible mods not needed (already there). Excellent.

Hybrid solution would be the way to go overall, it would seem. As always, fantastic work @goalque. Do keep us posted when you try this on 10.14.

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
Eightarmedpet
(@eightarmedpet)
Honorable Member
Joined:1 year  ago
Posts: 697
May 28, 2018 9:01 am  

Exciting times. I remember when folks were not sure if Nvidia could ever work and now you guys have multiple methods! Let’s hope WWDC doesn’t throw and curve balls...

2017 13" MacBook Pro Touchbar + GTX1060@32Gbps-TB3 (AKiTiO Thunder3) + Win10
2017 13" MacBook Pro Touch Bar + GTX1070@32Gbps-TB3 (Sonnet Breakaway Box) + Win10
---
LG 5K Ultrafine flickering issue fix


ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:2 years  ago
Posts: 896
May 28, 2018 9:01 am  

Both ways have their own advantages/disadvantages. Since the "hybrid" mode requires yifanlu's kext, you may need to logout/login or hot plug the display cable in order to have eGPU display output with an Nvidia card. Pure EFI possibly works with SIP enabled.

It is good to keep in mind that these are still hacks, even if done on the fly. And only TB2 is supported at present, TB3 firmware has some fundamental issues in executing the EFI. I had similar issue earlier on Linux environment, but the same code compiled in Windows Visual Studio worked.

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


ReplyQuote
mac_editor
(@mac_editor)
Prominent Member Moderator
Joined:1 year  ago
Posts: 893
May 28, 2018 9:35 am  

Will there ever be a time when we'll have eGPU utopia - AMD+NVIDIA support, optimizations, bootcamp support, etc.? I'm counting the days till we won't need hacks lol.

eGPU should be as simple as pen drives. High Sierra is close for a very narrow configuration of hardware, and Windows (non-mac hardware) already has it really, but then you have limited lanes, yada-yada...

Edited: 3 weeks  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


avj and Flint Ironstag liked
ReplyQuote
kingbri
(@kingbri)
Eminent Member
Joined:1 month  ago
Posts: 24
May 28, 2018 2:15 pm  

What are the steps for doing this method?


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

ReplyQuote
theitsage
(@itsage)
Noble Member Admin
Joined:2 years  ago
Posts: 2440
May 28, 2018 2:57 pm  

@goalque will share more information after WWDC18.

Best ultrabooks for eGPU use

eGPU enclosure buying guide

56 external GPU build guides


kingbri and goalque liked
ReplyQuote
LeoLeal
(@leoleal)
Eminent Member
Joined:1 year  ago
Posts: 26
May 28, 2018 3:48 pm  

@goalque, Incredible! Well done, sir!

I have a question about Bootcamp, because I use Bootcamp for gaming and I still dont have info on this:
Will EFI solution work for Bootcamp just as of now?

If that's a yes, I will try and check if EFI solution makes newer drivers for 750M + 970GTX work, since the problem was paired with EGPUSupport kext. 😉

Macbook Pro Late 2013 (dGPU GT 750m) + Akitio Thunder 2 + GTX 970


ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:2 years  ago
Posts: 896
May 30, 2018 8:46 am  

Thanks! I haven't had time to test Bootcamp.

Yesterday evening, I figured out how to get it working with a TB3 MBP as well.

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


ReplyQuote
Eightarmedpet
(@eightarmedpet)
Honorable Member
Joined:1 year  ago
Posts: 697
May 30, 2018 10:19 am  

I'd love this to effect Error 12 issues with AMD cards, I tried mine again last night, disabling things (PCIe lanes?) including iSIght camera as some users have done and still ran into Error 12 as per usual..

2017 13" MacBook Pro Touchbar + GTX1060@32Gbps-TB3 (AKiTiO Thunder3) + Win10
2017 13" MacBook Pro Touch Bar + GTX1070@32Gbps-TB3 (Sonnet Breakaway Box) + Win10
---
LG 5K Ultrafine flickering issue fix


ReplyQuote
ozzy
 ozzy
(@ozzy)
Trusted Member
Joined:1 year  ago
Posts: 59
May 30, 2018 10:43 pm  

This sounds like great progress! Any idea whether this works better for OpenGL and metal games in high Sierra?

Also, would something like this work on a 2012 retina MBP with TB1? Happy to test if needed.

2012 15" Macbook Pro Retina GT650M + GTX1070@10Gbps-TB1 (AKiTiO Node via TB3->TB2 adapter) + macOS10.13 & Win10


ReplyQuote
LeoLeal
(@leoleal)
Eminent Member
Joined:1 year  ago
Posts: 26
May 31, 2018 4:24 pm  

@ozzy while this is not ready for use, have you gone through my step by step located at  https://egpu.io/forums/mac-setup/gt650m-gt750m-mbp-nvidia-egpu-378-10-10-10-25-106-not-387-xx-egpu-accelerated-macos-apps-opengl-metal/ ?

That will probably help you to get OpenGL and Metal in Games under High Sierra with your TB1 Setup.

Macbook Pro Late 2013 (dGPU GT 750m) + Akitio Thunder 2 + GTX 970


ReplyQuote
ozzy
 ozzy
(@ozzy)
Trusted Member
Joined:1 year  ago
Posts: 59
June 1, 2018 3:19 am  

Yes, I did. Using the older NVIDIA drivers makes OpenGL work again. Metal games still don’t work for me (although benchmarks interestingly do)

2012 15" Macbook Pro Retina GT650M + GTX1070@10Gbps-TB1 (AKiTiO Node via TB3->TB2 adapter) + macOS10.13 & Win10


ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:2 years  ago
Posts: 896
June 1, 2018 8:40 pm  

My next goal is to set the iGPU as the primary device, resolving the sluggish AMD dGPU and Nvidia eGPU cooperation. It seems to work manually, but we want automation.

Done.

Each day seems to come up with new ideas. yifanlu's kext is not necessary anymore, the "hybrid" mode can use a codeless kext.

Both EFI & hybrid modes confirmed on macOS 10.13.5.

Edited: 2 weeks  ago

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


imcalledandy, n9yty, nando4 and 5 people liked
ReplyQuote
Chippy McChipset
(@chippy-mcchipset)
Reputable Member
Joined:8 months  ago
Posts: 206
June 1, 2018 9:43 pm  

So when you guys say there will be something to test after WWDC do you mean after the entire event is done or just the first day announcements? Guessing the former, that there's some session or class you want to attend to see if there are framework changes or if Apple engineer can help with something.


ReplyQuote
nmzik
(@nmzik)
Eminent Member
Joined:1 year  ago
Posts: 21
June 3, 2018 4:54 pm  

Sorry guys, but do you use UEFI shell with the following commands in your UEFI method to disable dGPU? Or you use a totally different method? I am asking it because i use exactly this method to disable dGPU on Windows side to improve battery life/less heat

mm 7C2 1 ;IO :1
mm 7D4 1 ;IO :50
mm 7C2 1 ;IO :0
mm 7D4 1 ;IO :50

MacBook Pro Late 2013 15" MacBook Pro GT750M + Sapphire Pulse RX580@16Gbps-TB2>TB3 (AKiTiO Node)


ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:2 years  ago
Posts: 896
June 3, 2018 7:40 pm  

@chippy-mcchipset The estimated release date is 6/6.

@nmzik Thanks for reminding about this useful method. It is applicable on Windows, not utilized at the moment.

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


ReplyQuote
mac_editor
(@mac_editor)
Prominent Member Moderator
Joined:1 year  ago
Posts: 893
June 4, 2018 12:49 pm  

It has been a field day with @goalque's solution and my testing results for NVIDIA eGPUs are "generally positive". Lots to think about in terms of easy deployment. The nicest solutions are the hardest to deploy lol.

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


n9yty, Jeroenvankeulen, Chippy McChipset and 1 people liked
ReplyQuote
unknownsolo
(@unknownsolo)
Eminent Member
Joined:8 months  ago
Posts: 42
June 4, 2018 9:37 pm  

I've been waiting for something like this. Can't wait for it to release. Thank you guys so much for all the hard work

2017 15" Macbook Pro RP560 + GTX1080@32Gbps-TB3 (Asus XG Station 2) + macOS10.13.1


ReplyQuote
unknownsolo
(@unknownsolo)
Eminent Member
Joined:8 months  ago
Posts: 42
June 5, 2018 1:59 pm  

Any new teasers/findings about this? I honestly cannot wait to be able to hotplug my 1080Ti

2017 15" Macbook Pro RP560 + GTX1080@32Gbps-TB3 (Asus XG Station 2) + macOS10.13.1


ReplyQuote
Chippy McChipset
(@chippy-mcchipset)
Reputable Member
Joined:8 months  ago
Posts: 206
June 5, 2018 4:14 pm  

One day soon, maybe we can say "All your NVIDIA GPU are belong to us!" and mean it. I'm optimistic. These guys are relentless in searching for solutions. That's always a good sign. Maybe too someone at a WWDC Metal session will get word on whether Apple is actively working with NVIDIA to make this work. If they care as much about pro users as they claim to, it's a no-brainer. Not to mention about 8000 people in various pro communities have been begging them to do this for years, so they are 100% aware of the situation. (read: if they don't support NVIDIA it's because they chose not to, and perhaps don't care quite as much as their PR efforts lead us to believe).

Edited: 2 weeks  ago

ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:2 years  ago
Posts: 896
June 5, 2018 6:30 pm  

EFI worked immediately, no web drivers needed (notice: GTX 780)

Unfortunately the release will be delayed.


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


nando4, imcalledandy, Chippy McChipset and 2 people liked
ReplyQuote
unknownsolo
(@unknownsolo)
Eminent Member
Joined:8 months  ago
Posts: 42
June 5, 2018 7:04 pm  
Posted by: goalque

Unfortunately the release will be delayed.

WHAT? Why? 🙁 You can't tease something this HUGE and not share more info  😥  (Just kidding - I just really want this)

Any estimate on when it might be released? Or maybe let me do private beta testing for you 😉 ? I have a 2017 15" MBP with built-in AMD 560 and external reference GTX1080ti in Asus XG Station 2

2017 15" Macbook Pro RP560 + GTX1080@32Gbps-TB3 (Asus XG Station 2) + macOS10.13.1


ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:2 years  ago
Posts: 896

ReplyQuote
unknownsolo
(@unknownsolo)
Eminent Member
Joined:8 months  ago
Posts: 42

ReplyQuote
Shrapnl
(@shrapnl)
Active Member
Joined:1 year  ago
Posts: 13
June 5, 2018 9:02 pm  

Just saw this and am interested in seeing this develop.  In theory this would work then with a 2013 nMP as well?  If this could work with Windows 10/Bootcamp that would be amazing!  Could drop down to just one computer and boot in between!  😀

Looking forward to more information.

-Shrapnl

Update - I am blind, missed that nMP was in the OP.  So, yay!  Even better if Windows will see it.  Even if hot plug isn't supported, would be an option.

Edited: 2 weeks  ago

ReplyQuote
ozzy
 ozzy
(@ozzy)
Trusted Member
Joined:1 year  ago
Posts: 59
June 5, 2018 9:47 pm  

@goalque - have you had a chance to test this on a 2012 Retina MBP with TB1? Any idea if this would work for that machine? Happy to test if you need it.

2012 15" Macbook Pro Retina GT650M + GTX1070@10Gbps-TB1 (AKiTiO Node via TB3->TB2 adapter) + macOS10.13 & Win10


ReplyQuote
Chippy McChipset
(@chippy-mcchipset)
Reputable Member
Joined:8 months  ago
Posts: 206
June 5, 2018 9:55 pm  
Posted by: goalque

@unknownsolo @fr34k is travelling and cannot test atm, and I found a couple of serious bugs (just fixed).

Be patient 🙂

Can't be said enough: many thanks for your efforts.


Shrapnl liked
ReplyQuote
avj
 avj
(@avj)
Active Member
Joined:6 months  ago
Posts: 8
June 5, 2018 10:55 pm  

@goalque @leoleal @fr34k thank you for the hard work. I also cant wait to use the new method. I use a TB2 mid 2014 mbp with dgpu nvidia 750M, and a TB3 sonnet, waiting for a GPU to plug in. I am actually waiting for the new script to know what GPU to buy, will Nvidia's 1080 provide rendering power to Adobe after effects, and gaming on windows, or should I stick to Rx 580 for rendering on os x (no cuda support = does it mean no benefit at all from using an eGpu?), for gaming on win also.  🙄


goalque liked
ReplyQuote
imcalledandy
(@imcalledandy)
Estimable Member
Joined:2 years  ago
Posts: 127
June 6, 2018 11:46 am  

@goalque - you are making fantastic progress. Looking forward to the release once you're ready.

2013 MacPro 2xD700 2xGTX980Ti@16Gbps-TB2 (AKiTiO Thunder2) + macOS 10.13.3
2017 TB MBP 2xGTX1080Ti-TB3 (Akitio Node) + macOS 10.13.4


goalque liked
ReplyQuote
(@rhenriques11)
Eminent Member
Joined:3 months  ago
Posts: 32
June 6, 2018 12:35 pm  

@goalque  I hope that you can manage to come out with this kind of solution. It seems to be a lot more interesting and predictable that the present ones (which are also outstanding). I'll be on the first line to test it.


goalque liked
ReplyQuote
randymills
(@randymills)
Active Member
Joined:10 months  ago
Posts: 9
June 6, 2018 4:13 pm  

Just want to say thank you to you guys for ALL your HARD WORK!  It's been absolutely HUGE for me to be able to use eGPU's on my nMP and it's all because of the dedication and passion you all have for solving this problem.  So just wanted to say thanks and I look forward to whatever you guys are cooking...


goalque liked
ReplyQuote
lexine
(@lexine)
Eminent Member
Joined:9 months  ago
Posts: 30
June 6, 2018 4:58 pm  

I am really looking forwards as well to test this solution, great job!!! 
PS: What about the disconnect functionality with the NVDIA eGPU in hybrid mode, does it work or it is still a bugger ?

2017 13" MacBook Pro TouchBar + GTX1070@32Gbps-TB3 (Aorus Gaming Box) + macOS10.13 & Win10


ReplyQuote
theitsage
(@itsage)
Noble Member Admin
Joined:2 years  ago
Posts: 2440
June 6, 2018 5:36 pm  

I tested @goalque's EFI solution yesterday with 10.14. The good news is macOS could see and treat my GTX 980 Ti eGPU as a graphics card. The bad news is the patched Nvidia web driver was not working (driver version is 387.10.10.35.106 for 10.13.5). Once Nvidia releases proper web drivers in the fall, EFI solution should work.

Edited: 2 weeks  ago

Best ultrabooks for eGPU use

eGPU enclosure buying guide

56 external GPU build guides


ReplyQuote
philw
(@philw)
Trusted Member
Joined:1 year  ago
Posts: 50
June 6, 2018 5:48 pm  

Ah... so is it not going to be possible at all for 10.13.x ?


ReplyQuote
Page 1 / 2 Next