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

Page 2 / 2 Prev
 

Shrapnl
(@shrapnl)
Active Member
Joined:1 year  ago
Posts: 13
June 6, 2018 5:51 pm  

No, a 10.13 option I would imagine will be coming soon... ish.  10.13 screenshots are earlier in the thread.  But with 10.14 beta's dropping Monday it makes sense to see if what they're working with still works or not.

Still curious on Windows 🙂

-Shrapnl


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

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.

Yep, I got this far with the GTX 980 and .106 web drivers. We only need the new web driver from Nvidia. Apple provides native drivers for GTX 780.

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


theitsage and Shrapnl liked
ReplyQuote
unknownsolo
(@unknownsolo)
Eminent Member
Joined:8 months  ago
Posts: 42
June 6, 2018 7:09 pm  
Posted by: theitsage

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.

Wait, why are we concerned about 10.14 with this? Isn't 10.14 just an early beta right now and anything can change at any time? Shouldn't the focus be for 10.13.5 which is working?

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


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

@unknownsolo As can be seen in the OP, 10.13.4+ are working with this EFI solution. It's a cat-and-mouse game so we're always going to test beta builds.

Best ultrabooks for eGPU use

eGPU enclosure buying guide

56 external GPU build guides


goalque liked
ReplyQuote
Shrapnl
(@shrapnl)
Active Member
Joined:1 year  ago
Posts: 13
June 6, 2018 7:22 pm  

I think because the idea of an EFI based solution is to remove the OS and specific versions from the picture if possible.  Rather than having to alter system files, change the way the device is presented to the OS.


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

Guess what... the hybrid mode (= hot plugging) works as well on macOS 10.14 beta. Notice the change, type is now "External GPU".

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


Jeroenvankeulen, n9yty, Chippy McChipset and 5 people liked
ReplyQuote
unknownsolo
(@unknownsolo)
Eminent Member
Joined:8 months  ago
Posts: 42

ReplyQuote
nanoBit
(@nanobit)
Eminent Member
Joined:5 months  ago
Posts: 27
June 6, 2018 9:12 pm  

Awesome! Now we just need someone working at nvidia who can leak the newest driver version 🤔

Setup: MacBook Pro late-2016 13" non-Touchbar; macOS 10.3.4 & Windows 10 Bootcamp; Sonnet eGFX Breakaway Box 350 with a Zotac GTX1080 AMP! Edition
(StarWars Battlefront 2 in 4k resolution and ultra high graphics on a device which has a lower Geekbench score than my iPhone, yay!)


ReplyQuote
unknownsolo
(@unknownsolo)
Eminent Member
Joined:8 months  ago
Posts: 42
June 6, 2018 9:56 pm  
Posted by: goalque

Guess what... the hybrid mode (= hot plugging) works as well on macOS 10.14 beta. Notice the change, type is now "External GPU".

I had a dream goalque gave me the EFI solution to try out on my MBP. Everyone was so happy. The whole community was clapping for him and everyone replaced their Apple logo on their Macs with his picture...Then I woke up, saw that I still can't fully use my 1080Ti in OSx yet and started crying again...

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 6, 2018 10:15 pm  
Posted by: unknownsolo

I had a dream goalque gave me the EFI solution to try out on my MBP. Everyone was so happy. The whole community was clapping for him and everyone replaced their Apple logo on their Macs with his picture...Then I woke up, saw that I still can't fully use my 1080Ti in OSx yet and started crying again...

You need to get out more. 😉


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

@unknownsolo What I am doing here is very low-level programming in EFI C. Nobody will be happy if we rush and your MBP becomes an unbootable brick. We want to minimize all the risks.

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


verichip, kingbri, n9yty and 1 people liked
ReplyQuote
Chippy McChipset
(@chippy-mcchipset)
Reputable Member
Joined:8 months  ago
Posts: 206
June 6, 2018 10:54 pm  

Take your time and do it right. Everyone here pestering you guys for the update will survive if they have to wait several weeks / a few months to get an elegant solution to this problem. Millennials think they're entitled to everything they want now or they've been wronged somehow.

If it were me I'd not even waste time reading these forum comments and replying (although it's nice of you to do that), and just pop in 1 day a week for 10 minutes, post a weekly update and use the rest of the time (that you would've spent reading and replying) for coding and testing. We'll survive. 😉

Edited: 2 weeks  ago

goalque and n9yty liked
ReplyQuote
Rycco
(@rycco)
Reputable Member
Joined:1 year  ago
Posts: 229
June 6, 2018 11:29 pm  

How can I support financially the attempt?

mid-2017 15" Macbook Pro RP555 + GTX1080i@32Gbps-TB3 (Mantiz Venus) + macOS & Win10


ReplyQuote
mac_editor
(@mac_editor)
Prominent Member Moderator
Joined:1 year  ago
Posts: 893
June 7, 2018 12:58 am  
Posted by: goalque

@unknownsolo What I am doing here is very low-level programming in EFI C. Nobody will be happy if we rush and your MBP becomes an unbootable brick. We want to minimize all the risks.

This is very important folks. Another thing is how to deploy this solution. Working on ways to do it. Patience shall bring one an elegant solution 😉

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
(@noah_leon)
New Member
Joined:5 months  ago
Posts: 2
June 7, 2018 1:32 am  

This is very important folks. Another thing is how to deploy this solution. Working on ways to do it. Patience shall bring one an elegant solution 😉

I'm following this post with great interest. I'm on a MBP Late 2013 with 750m. I'm excited to see how this all comes together.


ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:2 years  ago
Posts: 896
June 7, 2018 4:41 pm  
Posted by: mac_editor
Posted by: goalque

@unknownsolo What I am doing here is very low-level programming in EFI C. Nobody will be happy if we rush and your MBP becomes an unbootable brick. We want to minimize all the risks.

This is very important folks. Another thing is how to deploy this solution. Working on ways to do it. Patience shall bring one an elegant solution 😉

Correct. We have a warning example:

I screwed up my EFI partition with Clover, resulted bricking my MBP ( black screen+ no response with all the Startup key combinations).

https://egpu.io/forums/mac-setup/problem-with-mbp-15-2016-asus-rx480-akitio-node/#post-2712

EFI app does not write into boot rom, but it can write into nv memory areas that may become corrupted.

I once bricked my 2014 Mac mini by writing an incorrect ACPI path, executed from an USB stick - a local Mac repair service had to replace the logic board since it did not respond to any key combinations on startup, neither through the USB or wirelessly.

Instead, they could have replaced the well hidden battery, clearing non-volatile settings (not all visible when you type nvram -p).

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
unknownsolo
(@unknownsolo)
Eminent Member
Joined:8 months  ago
Posts: 42
June 7, 2018 4:55 pm  
Posted by: Chippy McChipset

Take your time and do it right. Everyone here pestering you guys for the update will survive if they have to wait several weeks / a few months to get an elegant solution to this problem. Millennials think they're entitled to everything they want now or they've been wronged somehow.

If it were me I'd not even waste time reading these forum comments and replying (although it's nice of you to do that), and just pop in 1 day a week for 10 minutes, post a weekly update and use the rest of the time (that you would've spent reading and replying) for coding and testing. We'll survive. 😉

I truly hope you are not this uptight all the time

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 7, 2018 6:52 pm  
Posted by: unknownsolo
Posted by: Chippy McChipset

Take your time and do it right. Everyone here pestering you guys for the update will survive if they have to wait several weeks / a few months to get an elegant solution to this problem. Millennials think they're entitled to everything they want now or they've been wronged somehow.

If it were me I'd not even waste time reading these forum comments and replying (although it's nice of you to do that), and just pop in 1 day a week for 10 minutes, post a weekly update and use the rest of the time (that you would've spent reading and replying) for coding and testing. We'll survive. 😉

I truly hope you are not this uptight all the time

Settle down, grasshopper. All I told him was to not worry about rushing and always responding here, to take his time and do it right. If you have a problem with that perhaps you are more uptight than you think? I think my suggestion was pretty reasonable but your mileage may vary.

PS: for the definitionally challenged, there's a difference between someone who is "uptight" and someone who is mature enough to know this stuff is complicated, takes time, that people working on it have real jobs, and that us constantly telling them how much we want stuff to happen, won't make it available any sooner (and may actually slow their progress). Every hour spent in here is an hour not spent working on their solution, right? Or is my math incorrect on that one?

Don't take my comment personally because it wasn't intended that way. The good news is time flies and in a couple months we'll probably be enjoying our NVIDIA GPUs and forget this thread and a half dozen others. Meantime, go get some fresh air and unwind. ; )

Edited: 2 weeks  ago

ReplyQuote
psonice
(@psonice)
Trusted Member
Joined:6 months  ago
Posts: 95
June 14, 2018 9:49 am  

@goalque Do you have a devblog or twitter? Would love to learn a bit more about this... i've written low level code but never touched EFI.


ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:2 years  ago
Posts: 896
June 14, 2018 7:00 pm  
Posted by: psonice

@goalque Do you have a devblog or twitter? Would love to learn a bit more about this... i've written low level code but never touched EFI.

Nope. If you know C, it is pretty straight forward. Apple's firmware consists of multiple EFI executables, some are proprietary but most of them follow the standard:

http://www.uefi.org/sites/default/files/resources/UEFI%20Spec%202_6.pdf

The hardest part is to know, what you really want to do with it. Start with UEFI Shell. As a simple example, to see all GOP supported handles on the system, type dh -p GraphicsOutput. Initializing the card in EFI is not required unless you want to show something through the eGPU.

My old automate-eGPU EFI 0.1 demonstrated on-the-fly screen output switching between the eGPU and iGPU. All I had to do was to switch ConOut pointer to eGPU. Switched to another, and Apple's logo appeared on the eGPU monitor, with a regular UEFI PC card.

The main reason why Apple's firmware rejects the GOP driver is due to version validation in the beginning of the UEFI ROM:

if (SystemTable->Hdr.Revision < _gUefiDriverRevision) {
return EFI_INCOMPATIBLE_VERSION;
}

Change the Hdr.Revision in your app, or the _gUefiDriverRevision on the card ROM, and the GOP usually loads fine. Keep in mind that UEFI does not provide any acceleration, and seems that Apple has slowed down the simple text output protocol through the eGPU in recent firmwares. It was super fast earlier. Maybe something to do with the console splitter driver.

What I am doing now, is not about boot screens because holding down the option key already gives that through the iGPU/dGPU, even when your MBP is in closed-clamshell mode.

What I do is based on Clover project, a hugely stripped down version of it. I am working on an UI installer and will include an appropriate license file. I am not a fan of making workarounds, but this is closest to native experience with Nvidia.

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


Shrapnl and theitsage liked
ReplyQuote
Shrapnl
(@shrapnl)
Active Member
Joined:1 year  ago
Posts: 13
June 14, 2018 7:17 pm  

I can hardly wait to try this  😎 

Will there be a manual install option available or only installer?


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

Manual Nvidia web driver installation (at this point), then run the UI installer, choose "EFI Boot" on next startup and that's all. You may need to edit the config file for your needs as the installer is not yet smart enough.

When I've cleaned up the code, this will be all open source.

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
Shrapnl
(@shrapnl)
Active Member
Joined:1 year  ago
Posts: 13
June 14, 2018 7:44 pm  

If this is some Clover fork so to speak, will it support booting to other OS's (Windows for Bootcamp, or Linux) as well or hand off straight to an APFS/HPFS Mac Volume to boot?

Thanks again for all your work on this effort!


ReplyQuote
goalque
(@goalque)
Prominent Member Admin
Joined:2 years  ago
Posts: 896
June 14, 2018 7:59 pm  
Posted by: Shrapnl

If this is some Clover fork so to speak, will it support booting to other OS's (Windows for Bootcamp, or Linux) as well or hand off straight to an APFS/HPFS Mac Volume to boot?

Thanks again for all your work on this effort!

Yes, Windows in the future (already possible with yifanlu's compilation but doesn't work with TB3). As we are using a real Mac, this doesn't change any SMBIOS or add extra nvram variables. It does only the necessary parts. Clover is designed for PCs, this is only for Macs. I've tested booting into Windows Boot Camp (includes apple_set_os.efi), both TB3 ports worked well with a non-touch 2016 13" MBP. With Windows, you can also use your own modified DSDT easily.

This uses Apple's native boot.efi to boot into APFS. "EFI Boot" selection is a prerequisite for filtering on the fly. The default volume can be changed.

Edited: 5 days  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
psonice
(@psonice)
Trusted Member
Joined:6 months  ago
Posts: 95
June 17, 2018 9:04 pm  

@goalque Thanks, interesting stuff 🙂 Would be interesting to try and fire up a modern GPU from EFI. I remember way back when EFI was new on macs (PPC era I think) there was some discussion in the demoscene about it, and the possibility of doing a pre-boot demo using EFI. Nothing ever got made as far as I know.


ReplyQuote
Page 2 / 2 Prev