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

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

 of  199
  RSS

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

So to get this straight, you only need to do yifanlu's step and this? "rebuilt cache (a snippet from automate-eGPU.sh)"

 

What's a snippet from automate-eGPU, is it a part of the script? I have a 1070 gaming box, if I do yifanlu's step from github, do I also need some part of automate-eGPU to get this to work?

I am not absolutely sure if there are other changes... I will confirm with a clean macOS 10.13 installation on the Late 2013 13" MBP.

function RebuildCaches().

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
lexine
(@lexine)
Trusted Member
Joined: 3 years ago
 

Well, I am always for some testing ... upgrading to HS now : -)

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: itsage

This escalated quick! Any chances NVIDIAEGPUSupport.kext works better with older Nvidia GPUs than 10-series?

If you look at the code, it's pretty simple. I'm just telling IOAccelerator to ignore the fact that we're a tunneled device to bypass this check added in High Sierra. In theory it would make it the same behavior as in Sierra. The other thing it does is add the IOPCITunnelCompatible flag to its own Info.plist so you are not required to modify any other kext. I don't think it would make any hardware run better.

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader
---
late-2016 13" MacBook Pro Touchbar + [email protected] (HP OMEN Accelerator) + macOS10.13 & Win10

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


ReplyQuote
itsage
(@itsage)
Illustrious Member Admin
Joined: 4 years ago
 
Posted by: yifanlu

If you look at the code, it's pretty simple. I'm just telling IOAccelerator to ignore the fact that we're a tunneled device to bypass this check added in High Sierra. In theory it would make it the same behavior as in Sierra. The other thing it does is add the IOPCITunnelCompatible flag to its own Info.plist so you are not required to modify any other kext. I don't think it would make any hardware run better.

Thank you for explaining the inner workings of NVIDIAEGPUSupport.kext. You won EPIC 1st post on eGPU.io forum.

external graphics card builds
best laptops for external GPU
eGPU enclosure buyer's guide

 
2019 13" MacBook Pro [8th,4C,U] + RX 5600 XT @ 32Gbps-TB3 (VisionTek mini eGFX) + macOS 11 & Win10 2004 [build link]  


yifanlu liked
ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 4 years ago
 

Any clue why Apple is replacing IOFramebuffer with ATIFramebuffer? For plug-and-play?

/System/Library/Extensions/AMDFramebuffer.kext/Contents/Resources/GpuWrangler.command

As if this was left for us... 😉 no real reason to use PlistBuddy Smile It led me to create automate-eGPU.kext for older AMDs.

IOFramebuffer is deprecated:

https://developer.apple.com/documentation/kernel/ioframebuffer?language=objc

Hopefully they continue supporting 'ndrv' drivers.

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
gh3go
(@gh3go)
Active Member
Joined: 3 years ago
 

Dunno but for me it is not working, it always recognise the generic

csrutil is disabled, kext put in place, and cache updated

Any idea?

MBP 2016 touch + Sonnet + 980Ti

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

.

ReplyQuote
yifanlu
(@yifanlu)
Eminent Member
Joined: 3 years ago
 
Posted by: goalque

Any clue why Apple is replacing IOFramebuffer with ATIFramebuffer? For plug-and-play?

/System/Library/Extensions/AMDFramebuffer.kext/Contents/Resources/GpuWrangler.command

As if this was left for us... 😉 no real reason to use PlistBuddy Smile It led me to create automate-eGPU.kext for older AMDs.

IOFramebuffer is deprecated:

https://developer.apple.com/documentation/kernel/ioframebuffer?language=objc

Hopefully they continue supporting 'ndrv' drivers.

There is no ATIFramebuffer class. What's changed is the IOMatchCategory which after hours of searching I still have no firm grasp of what it's used for. I've fully reversed ATIGpuWrangler when I thought that was the main culprit (spoiler: it's useless) and how it works is that in AMD-land, ATIGpuWrangler is the first match driver and it sets up the other drivers as well as the ports. However in NVIDIA-land, NVDAStartup(Web) does a similar task--but not in the same way which is why that IOFramebuffer::attach function fails. It's a bit complicated and I might write a longer post in the future, but the upshot is that the AMD driver setup process is slightly different and I believe at some point it used IOMatchCategory to "find" the other parts of the drivers. But in the end they decided to introduce new keys like "LoadController" instead.

Posted by: gh3go

Dunno but for me it is not working, it always recognise the generic

csrutil is disabled, kext put in place, and cache updated

Any idea?

MBP 2016 touch + Sonnet + 980Ti

 I recently committed some changes that are completely untested. If you build the commit from yesterday, it might work better.

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader
---
late-2016 13" MacBook Pro Touchbar + [email protected] (HP OMEN Accelerator) + macOS10.13 & Win10

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


itsage liked
ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 4 years ago
 

grep -r ATIFramebuffer /System/Library/Extensions/*
grep -r isEGPUSupported /System/Library/Extensions/*

Interesting keywords and binary matches. AMDSupport especially. Something is in there. We are, of course, curious. We don't reverse engineer.

I am sure Apple takes care of it when the Spring 2018 comes closer Smile

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]  


itsage liked
ReplyQuote
gh3go
(@gh3go)
Active Member
Joined: 3 years ago
 

I do confirm for me the commit `f233ad3ccf11b8752425a8e4974c0606f5552db4` works, later one the card is not recognised

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

.

itsage liked
ReplyQuote
yifanlu
(@yifanlu)
Eminent Member
Joined: 3 years ago
 

For those of you who have it working (me not included 🙁 ), can you test if  https://github.com/mologie/NVWebDriverLibValFix is needed?

Specifically

... issue with transparent windows without content, which appear for applications that use Metal and have Library Validation enabled.

I want to know if I need to bundle NVWebDriverLibValFix.kext as well because I'm pretty sure egpu users will suffer from the metal+library validation problems as well.

NVIDIAEGPUSupport - Nvidia eGPU support for macOS High Sierra
Clover-DSDT+apple_set_os.efi - Macbook Pro Windows error 12 & iGPU fixed Bootloader
---
late-2016 13" MacBook Pro Touchbar + [email protected] (HP OMEN Accelerator) + macOS10.13 & Win10

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


ReplyQuote
 of  199