[APP] NVIDIA eGPU support for High Sierra (NVIDIAEGPUSupport)
 
Notifications
Clear all

[APP] NVIDIA eGPU support for High Sierra (NVIDIAEGPUSupport)  

 of  199
  RSS

Rastafabi
(@rastafabi)
Trusted Member
Joined: 4 years ago
 
Posted by: tbl777
Posted by: devild

Thank you, YIFANLU!

Here are my results (for Mac I could test for now):

13" MBA Mid 2012 + Akito Thunder 2 + GTX980 - working w/o any issues.

15" MBP late 2016 w/ TB + Akitio Thunder 3 (Ti82) + same GTX980 - direct booting into macOS gives black screen on the external monitor and color squares on the internal display. Solution: booting into macOS w/o connected box, hot-plug, log out, log in.

This is not hot plug, you log out, plug and log in is simulating the boot, hot-plug can hot plug the egpu, if you do this, definitely will crash your system! 

Well, it tends to be a bit more complex. While I couldn't yet test yifanlu's solution to examine it's behaviour, macOS High Sierra does include limited hot-plug capabilities. While on 10.12 Sierra and earlier the eGPU wouldn't work at all when not being plugged in during boot, with Sierra this changed. Unplugging on pre High Sierra macOSs crashed the entire computer resulting into a kernel panic. This also did changed, as at least unplugging an AMD eGPU only results into being logged out. 

Creator of the update-redundant macOS 10.12 eGPU enabler package for NVIDIA

AKiTiO Thunder 2 PCIe Expansion Box
NVIDIA GTX 750Ti
MacBook Pro 9.2 ••• until being stolen.
Thanks to the community for helping getting me going again.


goalque liked
ReplyQuote
yifanlu
(@yifanlu)
Eminent Member
Joined: 3 years ago
 
Posted by: Rastafabi
Posted by: tbl777
Posted by: devild

Thank you, YIFANLU!

Here are my results (for Mac I could test for now):

13" MBA Mid 2012 + Akito Thunder 2 + GTX980 - working w/o any issues.

15" MBP late 2016 w/ TB + Akitio Thunder 3 (Ti82) + same GTX980 - direct booting into macOS gives black screen on the external monitor and color squares on the internal display. Solution: booting into macOS w/o connected box, hot-plug, log out, log in.

This is not hot plug, you log out, plug and log in is simulating the boot, hot-plug can hot plug the egpu, if you do this, definitely will crash your system! 

Well, it tends to be a bit more complex. While I couldn't yet test yifanlu's solution to examine it's behaviour, macOS High Sierra does include limited hot-plug capabilities. While on 10.12 Sierra and earlier the eGPU wouldn't work at all when not being plugged in during boot, with Sierra this changed. Unplugging on pre High Sierra macOSs crashed the entire computer resulting into a kernel panic. This also did changed, as at least unplugging an AMD eGPU only results into being logged out. 

You might have just cleared up the mystery of what AMDGpuWrangler does. I thought it dealt with plugging in a device--but it might be used to detect device unplugs. 

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader

 
2016 13" MacBook Pro [6th,2C,U] + GTX 1060 @ 16Gbps-TB3 (HP OMEN Accelerator) + macOS 10.13 & Win10 [build link]  


Rastafabi liked
ReplyQuote
geaguirre80
(@geaguirre80)
Eminent Member
Joined: 4 years ago
 

I can confirm the hotplug-logout-login trick with my MBP 15" 2016 + 980ti + Akitio Node, sadly my hdmi cable has a couple of small cuts and only output signal in bootcamp but internal screen and CUDA works perfect.

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 4 years ago
 
Posted by: Rastafabi

Well, it tends to be a bit more complex. While I couldn't yet test yifanlu's solution to examine it's behaviour, macOS High Sierra does include limited hot-plug capabilities. While on 10.12 Sierra and earlier the eGPU wouldn't work at all when not being plugged in during boot, with Sierra this changed. Unplugging on pre High Sierra macOSs crashed the entire computer resulting into a kernel panic. This also did changed, as at least unplugging an AMD eGPU only results into being logged out. 

  https://developer.apple.com/documentation/metal/mtldevicenotificationname?language=objc

MTLDeviceWasAddedNotification
A notification posted when a GPU is added to the system.

MTLDeviceRemovalRequestedNotification
A notification posted when the user indicates that a GPU will be removed from the system.

MTLDeviceWasRemovedNotification
A notification posted when a GPU is removed from the system.

And if you happen to have an AMD card...

grep -r eGPUSoftwareUnplug /S*/L*/E*
grep -r handleHotPlug /S*/L*/E*

automate-eGPU EFIapple_set_os.efi

Mid 2015 15-inch MacBook Pro eGPU Master Thread

 
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]  


Rastafabi liked
ReplyQuote
philw
(@philw)
Trusted Member
Joined: 4 years ago
 

@yifanlu MANY, MANY THANKS! Up and running in Sonnet eGFX box with GTX 970 again! Connected to iMac 5k 27". Have to plug in after boot then log out / in again to make it work, but so glad to be up and running again... 🙂

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)

 
2018 Gigabyte Z390 Designare (GTX1080TIx2) [9th,8C,K] + GTX 1070 @ 32Gbps-TB3 (Sonnet Breakaway 350) + Win10 [build link]  


goalque liked
ReplyQuote
tbl777
(@tbl777)
Trusted Member
Joined: 4 years ago
 
Posted by: goalque
Posted by: Rastafabi

  https://developer.apple.com/documentation/metal/mtldevicenotificationname?language=objc

 Have any good news about NVIDIA-based macbook with AMD-eGPU? 😊

late-2013 15" MacBook Pro GT750M + RX580@16Gbps-TB2 (AKiTiO thunder 2) + macOS 10.13


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 4 years ago
 
Posted by: tbl777

 Have any good news about NVIDIA-based macbook with AMD-eGPU? 😊

I guess AMD & Nvidia are not a good pair. Officially only TB3 Macs will be supported, and none of them is Nvidia-based. Why should Apple support older TB2 Nvidia-based Macs if Intel certification requires TB3?

https://developer.apple.com/development-kit/media/external-graphics/Release-Notes-ECDK_v1.pdf

"The kit may work with Thunderbolt 2-enabled Mac computers via a Thunderbolt 2 to Thunderbolt 3 adapter, but this is an unsupported configuration."

automate-eGPU EFIapple_set_os.efi

Mid 2015 15-inch MacBook Pro eGPU Master Thread

 
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]  


ReplyQuote
biasuz
(@biasuz)
Active Member
Joined: 4 years ago
 

@mklegend

I had this problem also.

My solution was that the first boot you need to go all the way to the desktop (do the login also) with the eGPU disconnected. Log off. Plug in your eGPU (WITH THE EXTERNAL MONITOR CONNECTED TO THE eGPU), then log back in. somehow this makes a difference. it'll do its thing.

I don't think the solution posted on this forum enables de eGPU without an external monitor though. No one answered the question I posted earlier. Whenever I did that, it just shows the same nvidia chip instead of the correct GPU description.

MBP mid-17 R560 + Aorus Gaming Box


ReplyQuote
lexine
(@lexine)
Trusted Member
Joined: 4 years ago
 
Posted by: goalque  https://developer.apple.com/documentation/metal/mtldevicenotificationname?language=objc

MTLDeviceWasAddedNotification
A notification posted when a GPU is added to the system.

MTLDeviceRemovalRequestedNotification
A notification posted when the user indicates that a GPU will be removed from the system.

MTLDeviceWasRemovedNotification
A notification posted when a GPU is removed from the system.

And if you happen to have an AMD card...

grep -r eGPUSoftwareUnplug /S*/L*/E*
grep -r handleHotPlug /S*/L*/E*

well I am not a developer, just thinking, isn't there a possibility to post a MTLDeviceRemovalRequestedNotification or MTLDeviceWasRemovedNotification to system via some package / script ? 

2017 13" MacBook Pro [7th,2C,U] + GTX 1070 @ 32Gbps-TB3 (AORUS Gaming Box) + macOS 10.13 & Win10 [build link]  

ReplyQuote
yifanlu
(@yifanlu)
Eminent Member
Joined: 3 years ago
 
Posted by: lexine
Posted by: goalque  https://developer.apple.com/documentation/metal/mtldevicenotificationname?language=objc

MTLDeviceWasAddedNotification
A notification posted when a GPU is added to the system.

MTLDeviceRemovalRequestedNotification
A notification posted when the user indicates that a GPU will be removed from the system.

MTLDeviceWasRemovedNotification
A notification posted when a GPU is removed from the system.

And if you happen to have an AMD card...

grep -r eGPUSoftwareUnplug /S*/L*/E*
grep -r handleHotPlug /S*/L*/E*

well I am not a developer, just thinking, isn't there a possibility to post a MTLDeviceRemovalRequestedNotification or MTLDeviceWasRemovedNotification to system via some package / script ? 

It's not that simple. The device driver needs to do some cleanup first and then signal to Metal framework that applications should clean up as well. The key is if nvidia drivers support cleanup on unplug and I'm guessing it does not.

Someone should dump the panic log when you disconnect. If the panic comes from an nvidia driver, it's not much we can do. If it comes from an apple driver, it might be possible to fix.

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader

 
2016 13" MacBook Pro [6th,2C,U] + GTX 1060 @ 16Gbps-TB3 (HP OMEN Accelerator) + macOS 10.13 & Win10 [build link]  


ReplyQuote
 of  199