Setup & Software Discussions
[SCRIPT] PurgeWrangler: AMD + NVIDIA eGPUs for all Thunderbolt Macs
 

[SCRIPT] PurgeWrangler: AMD + NVIDIA eGPUs for all Thunderbolt Macs  

 of  39
  RSS

(@niyaz_ahmed)
New Member
Joined: 1 month ago
 

Hello all,

I had attempted an egpu setup couple of years back and stopped after hitting some roadblocks. Recently got my hands on a mid 2012 13" MacBook Air and a zotac gtx 970 that was retired by its previous owners. Though id give it another go since I still had a Akitio Thunder2.

I factory reset the MacBook Air and now it has Mojave. I did try the purge-wrangler method and it seems there's no web drivers. How should I proceed?

This post was modified 1 month ago

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
philw
(@philw)
Trusted Member
Joined: 2 years ago
 

@niyaz_ahmed

🙁 Sorry - Mojave has ruined it for you. Same reason I gave up. Looking like Nividia and Apple won't be friends ever again... I was hopeful for ages but not any more...

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)


ReplyQuote
(@niyaz_ahmed)
New Member
Joined: 1 month ago
 

@philw

Managed to get it rolled back to 10.13.6 , build 17G65. 

Disabled SIP and relogged back in. Without connecting the thunderbolt cable from egpu, ran purge-wrangler. Selected Nvidia GPUs and tried to download web drivers. Got the following error.

"Fetching webdriver information...

Data retrieved.

Downloading drivers (387.10.10.10.40.105)...

                                                                           1.1%

curl: (56) LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54

Download complete.

Sanitizing package...

Could not unarchive /usr/local/NVDAInstall.pkg (archive verify failed)

Unable to patch driver.

NVIDIA Web Drivers requested, but not installed."

Retried with better internet and got following error.

"Fetching webdriver information...

Data retrieved.

Downloading drivers (387.10.10.10.40.105)...

######################################################################## 100.0%

Download complete.

Sanitizing package...

Package sanitized.

Installing...

Installation failed.

Continuing patch...

 

Patching components..."

Restarted the system with the egpu connected and it is visible in the system information but not in "about this mac".

Retried running the webdriver option but says its already installed.

This post was modified 1 month ago

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

@niyaz_ahmed Please verify if GPU is visible/functional via benchmarks such as GeekBench or LuxMark and not About This Mac. We can debug next steps once its certain that the issue is something else.

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote
(@micah)
New Member
Joined: 7 months ago
 

@mac_editor

Thank you for rapid reply. I have installed purge-wrangler by downloading it from github. In the beginning, everything seems works well.  About half hour later, UI is getting freeze. Then, I find there is a thread named "DumpGPURestart" in my activity monitor. I have tried to  uninstall/reinstall the script for several times. Same results. Please help.

This post was modified 1 month ago

Computer: Mac Pro (Late 2013)
OS: 10.14.6
eGPU: Gigabyte AMD Vega 64 8GB
enclosure: Razer Core X


ReplyQuote
(@niyaz_ahmed)
New Member
Joined: 1 month ago
 

@mac_editor

GPU wasn't initially being used in Unigine Heaven so I uninstalled and restarted the whole purge-wrangler process. It wasn't being used in Unigine Heaven even after the fresh install. Dug around a bit more and was able to find and run set-egpu.sh . Success 😀 At least in Unigine Heaven. 

Though I'm just using internal screen throughout this process. Will try get an external one sometime soon. Do I connect the HDMI cable straight to the 970? 

This post was modified 1 month ago

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 10 months ago
 

@niyaz_ahmed If you want Mojave AND nVidia, you could try a GTX 780 Ti or any card of the same chip (Kepler): The GTX 780 Ti should be about the same performance as your GTX 970.

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680


ReplyQuote
philw
(@philw)
Trusted Member
Joined: 2 years ago
 

My issues were that I need CUDA - if you just need OPENGL/METAL then the above is ok.

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)


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 10 months ago
 
Posted by: @philw

My issues were that I need CUDA - if you just need OPENGL/METAL then the above is ok.

The odds are not good for CUDA and Mojave.

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680


ReplyQuote
hypernurd
(@hypernurd)
Trusted Member
Joined: 2 years ago
 

Hi all,

Just back to the community after somewhat of a lengthy hiatus. Long story....

I hadn't really used my setup (build posted on here 2 years ago - 2017 15" MacBook Pro (RP560) [7th,4C,H] + GTX 1080 Ti@32Gbps-TB3 (Mantiz Venus) + macOS 10.12.6 & Win10 [hypernurd] ) for quite some time but had been using the MBP independently for other tasks and as a consequence had updated to High Sierra - turns out this was a bad move for my epgu functionality on my return to use it....

I'd managed to get hold of a 2018 Mac Mini recently and was planning to use this with my 1080Ti/Mantiz but since it runs Mohave and can't run any earlier OS I gathered I was on to a non-starter following a quick forum trawl. This left me with resorting to the 2017 MBP which is running 10.13.6 but was not happy with the automate-GPU script set-up I had succeeded with under Sierra.

So, I trawled the forums and note a lot has happened whilst I've been away...A LOT! I am delighted things have continued to progress with High Sierra and even more pleased to find the excellent Purge Wrangler script - @mac_editor you are a lifesaver!!!

Since my MBP has both Intel iGPU and AMD560 dGPU I too suffered from the dreaded black screen woes but a quick application of the Swiss Army Knife commands and all is now peachy 🙂

The intention is to use the 'new' setup for computational tasks with Python/Tensorflow and I note a few forum posts on this to help. Hopefully some of you can point me in the right direction for help if I get stuck and if anyone can recommend a member to talk to about it please let me know...

Well done all - keep up the good work.

Donation on its way!

Hypernurd

mid-2017 15" Macbook Pro RP560 + [email protected] (Mantiz Venus) + macOS & Win10


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

@hypernurd welcome back! Yes a ton has changed. Stick to High Sierra for NVIDIA eGPUs (unless you're using Kepler haha).

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote
ericthetrip
(@ericthetrip)
New Member
Joined: 2 weeks ago
 

Hi there!

I've recently bought a BizonBox3 on ebay, it was a good deal and I've wanted to use an egpu on my Mid 2011 27" Imac and on my Mid 2012 13" macbook.
I work with video, so it would be great to have a better GPU like the AMD Radeon RX580 8GB
I think I can use the BizonBox3 with a Thunderbolt 3 to Thunderbolt 2 adapter, but I've just realised that I'll not be able to use the Imac/Macbook monitors.
I have to connect an external monitor, is that right? is there any other workaround?
thank you

27" mid 2011 Imac i7 3.4 AMD Radeon HD 6970M 2GB 32GB RAM running macos High Sierra 10.13.6
13" mid 2012 Macbook Pro i7 2.9 Intel HD Graphics 4000 16GB RAM running macos Mojave 10.14.6
EGPU BizonBox3 Thunderbolt 3 to Thunderbolt 2 Adapter Radeon RX 580 8GB


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

@ericthetrip

How did you come to the conclusion that internal monitor will be unusable? It would be great if you could share more details, such as OS and system configuration (GPUs, etc.) and add those to your signature for easier assistance. 

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote
ericthetrip
(@ericthetrip)
New Member
Joined: 2 weeks ago
 

@mac_editor

I've read in this forum that the Thunderbolt 1 has a low bandwidth. To to accelerate the internal display you would have even lower bandwidth since the data goes both ways in the cable.
I don't really know what this means. I'm a videographer and I do ok with my 2012 Macbook pro and 2011 Imac, but I really need extra gpu power.
The portability of a egpu would be great, but an external monitor would not, since I really wanted to use the Imac internal monitor as well as the Macbook screen.
Thank you so much for response and advice.

This post was modified 2 weeks ago

27" mid 2011 Imac i7 3.4 AMD Radeon HD 6970M 2GB 32GB RAM running macos High Sierra 10.13.6
13" mid 2012 Macbook Pro i7 2.9 Intel HD Graphics 4000 16GB RAM running macos Mojave 10.14.6
EGPU BizonBox3 Thunderbolt 3 to Thunderbolt 2 Adapter Radeon RX 580 8GB


ReplyQuote
PsyPryss
(@psypryss)
Trusted Member
Joined: 2 years ago
 

Reporting in that PurgeWrangler v5.1.3 works on macOS 10.14.6.

Mid 2012 15" (Non-Retina) MPB GT650M + RX580 (AKiTio Node via TB3 -> TB2/TB1 Adaptor) macOS 10.13.4/Win10


ReplyQuote
asinglet
(@asinglet)
Active Member
Joined: 12 months ago
 

I am using PurgeWrangler on macOS 10.14.6 with an Aorus Gaming Box 1080. I am fully aware that I will get no acceleration from the GPU, but I would like to use it to drive two external displays. When hot plugging the eGPU, both monitors go black (but lit up, as if they are receiving signal). Logging out and back in does not work. The same behavior happened on 10.14.5. 

I can get both displays to function properly when booted in safe mode by simply hotplugging the eGPU, which gives me hope. I have tried deleting all the NVDA and Geforce .kext files in the Library/Extensions folder and booting back into normal macOS, as suggested in a reddit post, but this did not work. After deleting the kext files, the eGPU is not even recognized as a device.

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

@ericthetrip

You’ll be fine in most cases (gaming affected most). Even with the limitations, you will see a performance increase. It was confusing when you said “not being able” which I interpreted incorrectly as “not working.” Anyway, give it a shot with the script. To use the internal display effectively with eGPU, you may want set-eGPU. Finally, this forum does not recommend Bizon products, as they have frequently stolen eGPU solutions from here (and have provided it to users as their own - breaching the SLA); I recommend sticking with the Buyer’s Guide which is frequently updated. 

@asinglet If you don’t care for acceleration, you don’t really need to delete any kexts. Just try suppressing NVIDIA GPUs using:
sudo nvram boot-args=“nv_disable=1”

And reboot. It may or may not work, and this assumes you don’t have a Mac with an NVIDIA discrete GPU inside. Or maybe just connect the displays directly to your Mac. 

This post was modified 2 weeks ago

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote
ericthetrip
(@ericthetrip)
New Member
Joined: 2 weeks ago
 

@mac_editor

I'll do give it a try, thank you for helping me.
I'm sorry, I didn't kwon that Bizon had frequently stolen eGPU solutions from here. I was looking for a used epgu enclosure and I came across one BizonBox, it was the only used enclosure on a schengen country.
I'm a noob and I was afraid to buy form US because of the custom fees.
Thank you once again.

27" mid 2011 Imac i7 3.4 AMD Radeon HD 6970M 2GB 32GB RAM running macos High Sierra 10.13.6
13" mid 2012 Macbook Pro i7 2.9 Intel HD Graphics 4000 16GB RAM running macos Mojave 10.14.6
EGPU BizonBox3 Thunderbolt 3 to Thunderbolt 2 Adapter Radeon RX 580 8GB


ReplyQuote
asinglet
(@asinglet)
Active Member
Joined: 12 months ago
 

@mac_editor

I can connect the displays directly to my Mac, but since my eGPU is already used to provide power and extra USB outlets, it would be convenient to use it as a display adapter as well.

It seems that I am still only able to get the displays working in safe mode, the command you recommended did not seem to keep the screens from going black on my 2018 MBP, although it did prevent the boot from failing with weird screen artifacts when the eGPU is plugged in on startup. Any other recommendations? If not, I will simply switch to a new thunderbolt dock with more display outputs.

Pending: Add my system information and expected eGPU configuration to my signature to give context to my posts


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

@asinglet One course of action could be to change the GPU inside the Aorus box to an AMD card. There should be a thread on the forum regarding what cards work.

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote
(@micah)
New Member
Joined: 7 months ago
 
Posted by: @micah

@mac_editor

Thank you for rapid reply. I have installed purge-wrangler by downloading it from github. In the beginning, everything seems works well.  About half hour later, UI is getting freeze. Then, I find there is a thread named "DumpGPURestart" in my activity monitor. I have tried to  uninstall/reinstall the script for several times. Same results. Please help.

@mac_editor

This problem has gone, after upgrading to 10.14.6. Thanks for your brilliant job!

Computer: Mac Pro (Late 2013)
OS: 10.14.6
eGPU: Gigabyte AMD Vega 64 8GB
enclosure: Razer Core X


ReplyQuote
ChrisH
(@chrish)
Active Member
Joined: 1 week ago
 

Hey there,
I'm facing difficulties setting up an eGPU over Thunderbolt 2 under macOS with PurgeWrangler.

(Besides: A year ago I set up a working system with an Akito Node Pro and a Nvidia GTX 1080 TI in my office. I no longer use the setup, but it has encouraged me to set up an eGPU at home.)

My current components: 

Razer Core X
Sapphire Nitro+ Radeon RX 580 8GB

Apple Thunderbolt 3 (USB-C) to Thunderbolt 2 Adapter
Apple Thunderbolt Cable (0.5 m)

MacBook Pro 13-inch (Late 2013)
macOS 10.14.6

PurgeWrangler (5.1.3)

External Display via DP to miniDP.

The Razer Core X is detected in the Thunderbolt Device Tree. When connected with the MacBookPro the Razer Core X fires up its fan and the GPU lights up its LEDs. PurgeWranglers System Status reveals:

Legacy AMD eGPUs  Enabled 
TB1/2 AMD eGPUs   Enabled
NVIDIA eGPUs      Disabled
Ti82 Devices      Enabled

However the Anomaly Detection says "Discrete GPU: None" and the automate-eGPU script "Thunderbolt device is connected, but no external GPUs detected.". I have no success in getting the eGPU to work and a picture on my external display.

Any Hints are greatly appreciated. Thank you.
(I hope this is the right thread to find help.)

This post was modified 1 week ago

Razer Core X; GPU: Sapphire AMD Radeon RX 580 nitro+ OC; MacBook Pro 13-inch (late 2013); not working currently


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

@chrish you didn’t need legacy or ti82 to be enabled, but irrespective should have worked. Please describe symptoms of what’s happening when you plug in the eGPU, and a screenshot of About This Mac > System Information > Graphics/Displays.

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote
ChrisH
(@chrish)
Active Member
Joined: 1 week ago
 

Thank you for your quick reply!

I reinstalled PurgeWrangler without enabling legacy or ti82. When I plug in the eGPU my Mac shows no reaction at all; no freezing or other indicators. The only thing happening are the external symptoms, fan starts spinning + led lights.

System Information is unfortunately not recognising the GPU in Graphics/Display:

Razer Core X; GPU: Sapphire AMD Radeon RX 580 nitro+ OC; MacBook Pro 13-inch (late 2013); not working currently


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

@chrish roger. Are you certain the GPU is appropriately fit into the enclosure and has its power cords tightly connected? Perhaps a re-assembly may help. If not, it may be the case of faulty hardware. Not sure what else the issue would be, given patch has proven to work on your macOS version already.

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote
ChrisH
(@chrish)
Active Member
Joined: 1 week ago
 

Alright, I made a couple of re-assemblies already. Then my suspect would be the GPU, since the Razer Core X is recognised in the Thunderbolt Device Tree. The only signal I get is the GPUs LEDs lightning up when a Thunderbolt connection is established. 

Have to find a way to test the GPU's functionality and will try again. Thank you.

This post was modified 1 week ago

Razer Core X; GPU: Sapphire AMD Radeon RX 580 nitro+ OC; MacBook Pro 13-inch (late 2013); not working currently


ReplyQuote
nsgr
 nsgr
(@nsgr)
Active Member
Joined: 1 week ago
 
Finally I finished reading the 38 pages.
 
- High Sierra 10.13.6 (17G8030) - Security Update 2019-004 - Jul 29, 2019
 
- AppleGraphicsControl.kext and Plugins from High Sierra 10.13.3 Combo Update
 
- Macbook Pro 15" Early 2011 with failed AMD GPU - Intel HD 3000 and AMD Radeon HD 6750M
  AMD GPU power off by AMDRadeonX3000.kext loaded by LoginHook
  AMDRadeonX3000.kext moved to another directory -> Does not freeze and overheat Macbook Pro 2011 during boot.
 
- AKiTiO Thunder2 PCIe Box
 
- ZOTAC - Nvidia GeForce GTX 1050 Mini - 2GB - Nvidia Pascal - ZT-P10500A-10L
 
- Macbook Pro 2011 -> Thunderbolt 1
 
I only replaced AppleGPUWrangler.kext from 10.13.3 and the Macbook Pro 15" 2011 froze at 75% of the progress bar, overheated and reboot.
 
Solution: I replaced the entire AppleGraphicsControl.kext with its Plugins from High Sierra 10.13.3 Combo Update.
 
0 - Download macOS High Sierra 10.13.3 Combo Update (2.25 GB)
Example: /Users/YourUser/Downloads
 
0.1 - Download Pacifist
 
0.2 - Finder -> Downloads -> double click macOSUpdCombo10.13.3.dmg -> macOS High Sierra 10.13.3 Update Combo -> right button click macOSUpdCombo10.13.3.pkg -> Open with Pacifist
 
0.3 - Pacifist -> Contents tab -> Contents of macOSUpdCombo10.13.3.pkg -> Contents of Manual -> Contents of macOSUpdCombo10.13.3.pkg -> System -> Library -> Extensions -> right button click -> Extract to Custom Location
 
0.4 - Create New Folder -> this example -> /Users/Shared/macOSUpdCombo10.13.3/ -> extract Extensions directory. - directory = folder
Enable Administrator privileges.
 
Administrator privileges = owner:root and group: wheel and permission execute kexts
 
A kext can only be loaded as owner:root and group:wheel.
 
 
If you forget about Administrator privileges:
 
-v: verbose
 
-R: recursive - directory, files and sub-directories
 
sudo chmod -Rv 755 /Users/Shared/macOSUpdCombo10.13.3/Extensions/

sudo chown -Rv root:wheel /Users/Shared/macOSUpdCombo10.13.3/Extensions/
 
 
0.5 - Create Backup directory -> AppleGraphicsControl.kext
 
cd /

sudo mkdir -v HS-10.13.6-kexts
 
 
0.6 - Move (mv) AppleGraphicsControl.kext (10.13.6) to /HS-10.13.6-kexts directory.

In order to move a kext from /System/Library/Extensions, you need to disable the SIP (csrutil disable). Otherwise you will get the message "Operation not allowed".

In order to move or copy a kext to /System/Library/Extensions, you need to disable the SIP (csrutil disable). Otherwise you will get the message "Operation not allowed".

https://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-why-you-shouldnt/

 
sudo mv -v /System/Library/Extensions/AppleGraphicsControl.kext /HS-10.13.6-kexts/
 
0.7 - Copy (cp) AppleGraphicsControl.kext (10.13.3) to /System/Library/Extensions/ 
 
-v: verbose
-R: recursive - copy directory, files and sub-directories
 
sudo cp -vR /Users/Shared/macOSUpdCombo10.13.3/Extensions/AppleGraphicsControl.kext /System/Library/Extensions/
 
0.8 - Change timestamp /System/Library/Extensions/
 
sudo touch /System/Library/Extensions/
 
0.9 - Rebuild kextcache
 
sudo kextcache -v 1 -i /
 
0.10 - Reboot Macbook Pro 2011
 
sudo reboot now
 
1 - After replace AppleGraphicsControl.kext from High Sierra 10.13.3 Combo Update and restart Macbook Pro 2011:
 
Finder -> Applications -> Utilities -> Terminal -> check version kexts with kextstat command.
 
AppleGraphicsControl.kext
AGDCBacklightControl.kext
AppleGPUWrangler.kext
AppleGraphicsDevicePolicy.kext
AppleMuxControl.kext
AGDCPluginDisplayMetrics.kext
AppleGraphicsDeviceControl.kext
AppleMGPUPowerControl.kext
ApplePolicyControl.kext
 
kextstat | grep -i Graphics

com.apple.iokit.IOGraphicsFamily (519.21)

com.apple.driver.AppleGraphicsControl (3.16.21)

com.apple.AppleGraphicsDeviceControl (3.16.21)


kextstat | grep -i AGDC

com.apple.driver.AGDCBacklightControl (3.16.2)

com.apple.AGDCPluginDisplayMetrics (3.16.2)


kextstat | grep -i GPU

com.apple.AppleGPUWrangler (3.16.2)


kextstat | grep -i Mux

com.apple.driver.AppleMuxControl (3.16.21)
 
2 - Install Nvidia webdriver - WebDriver-387.10.10.10.40.130 - High-Sierra-10.13.6 (17G8030) and restart Macbook Pro 2011.
 
Install CUDA driver.
 
 
3 - Nvidia menu bar -> enable Nvidia Web Driver -> restart Macbook Pro 2011.
 
Boot Recovery Mode (press Command + R keys at boot) -> menu Utilities -> Terminal -> disable SIP
 
csrutil disable

reboot now
 
4 - Boot Normal -> purge-wrangler.sh (Version: 6.0.0) -> NVIDIA eGPUs -> restart Macbook Pro 2011.
 
https://github.com/mayankk2308/purge-wrangler
 
 
5 - Boot Normal -> purge-nvda.sh (Version: 3.0.6) -> NVIDIA eGPUs -> restart Macbook Pro 2011.
 
https://github.com/mayankk2308/purge-nvda
 
 
set-eGPU.sh (Version: 2.0.4) -> no external monitor -> only LCD screen Macbook Pro 2011.
 
https://github.com/mayankk2308/set-egpu
 
 
6 - Boot Normal -> Finder -> Applications -> Utilities -> Terminal
sudo log show -last 10m | grep -i Tunnel

Password:

2019-08-04 17:18:47.481115-0300 0x29a      Default     0x0                  0      0    kernel: (IOPCIFamily) Driver "NVDAStartupWeb" needs "IOPCITunnelCompatible" key in plist

2019-08-04 17:18:47.494062-0300 0x29a      Default     0x0                  0      0    kernel: (IOPCIFamily) Driver "IONDRVFramebuffer" needs "IOPCITunnelCompatible" key in plist

2019-08-04 17:18:47.519266-0300 0x29a      Default     0x0                  0      0    kernel: (IOPCIFamily) Driver "AppleHDAController" needs "IOPCITunnelCompatible" key in plist

2019-08-04 17:18:47.544327-0300 0x551      Default     0x0                  0      0    kernel: (IOPCIFamily) Driver "NVDAStartupWeb" needs "IOPCITunnelCompatible" key in plist

2019-08-04 17:18:48.045730-0300 0x613      Default     0x0                  0      0    kernel: (IOPCIFamily) Driver "NVDAStartupWeb" needs "IOPCITunnelCompatible" key in plist

2019-08-04 17:18:48.060071-0300 0x613      Default     0x0                  0      0    kernel: (IOPCIFamily) Driver "IONDRVFramebuffer" needs "IOPCITunnelCompatible" key in plist

2019-08-04 17:18:49.220622-0300 0x2b9      Default     0x0                  87     0    displaypolicyd: (GPUWrangler) [com.apple.GPUWrangler:default] (reg) gpu 0xc8be flags 0x20000000 (quiet) vid.did=10de.1c81 b:d:f=193:0:0 (tunneled)

2019-08-04 17:22:04.993931-0300 0x469      Default     0x0                  161    0    mDNSResponder: [com.apple.mDNSResponder:AllINFO] UpdateAutoTunnelDomainStatuses: Lock not held! mDNS_busy (0) mDNS_reentrancy (0)

2019-08-04 17:23:50.169269-0300 0x29b      Default     0x0                  0      0    kernel: (IOPCIFamily) Driver "NVDAStartupWeb" needs "IOPCITunnelCompatible" key in plist

2019-08-04 17:23:50.191254-0300 0x29b      Default     0x0                  0      0    kernel: (IOPCIFamily) Driver "IONDRVFramebuffer" needs "IOPCITunnelCompatible" key in plist

2019-08-04 17:23:50.218611-0300 0x29b      Default     0x0                  0      0    kernel: (IOPCIFamily) Driver "AppleHDAController" needs "IOPCITunnelCompatible" key in plist

2019-08-04 17:23:50.251247-0300 0x50a      Default     0x0                  0      0    kernel: (IOPCIFamily) Driver "NVDAStartupWeb" needs "IOPCITunnelCompatible" key in plist

2019-08-04 17:23:50.265251-0300 0x50a      Default     0x0                  0      0    kernel: (IOPCIFamily) Driver "IONDRVFramebuffer" needs "IOPCITunnelCompatible" key in plist

2019-08-04 17:23:52.339492-0300 0x2ba      Default     0x0                  87     0    displaypolicyd: (GPUWrangler) [com.apple.GPUWrangler:default] (reg) gpu 0xc8be flags 0 () vid.did=10de.1c81 b:d:f=193:0:0 (tunneled)
 
7 - Needs "IOPCITunnelCompatible = true" key in Info.plist
 
/Library/Extensions/NVDAStartupWeb.kext/Contents/Info.plist
 
/System/Library/Extensions/IONDRVSupport.kext/Info.plist
 
/System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext/Contents/Info.plist
 
<key>IOPCITunnelCompatible</key>
<true/>
 
8 - Edit /Library/Extensions/NVDAStartupWeb.kext/Contents/Info.plist -> IOKitPersonalities -> NVDAStartup -> IOPCITunnelCompatible = true
 
nano Editor -> save and exit -> press CTRL + X keys -> file name to write -> press Y key (YES) and ENTER key -> save and exit
 
sudo nano /Library/Extensions/NVDAStartupWeb.kext/Contents/Info.plist
 
<key>IOPCIMatch</key>
<string>0x100010de&amp;0xf000ffff</string>
<key>IOPCITunnelCompatible</key>
<true/>
 
 
09 - Edit /System/Library/Extensions/IONDRVSupport.kext/Info.plist -> IOKitPersonalities -> 1 / 2 / 3 -> IOPCITunnelCompatible = true
 
sudo nano /System/Library/Extensions/IONDRVSupport.kext/Info.plist
 
<key>1</key>
<dict>
.
.
<key>IONameMatch</key>
<string>display</string>
<key>IOPCITunnelCompatible</key>
<true/>
.
.
 
<key>2</key>
<dict>
.
.
<key>IONameMatch</key>
<string>display</string>
<key>IOPCITunnelCompatible</key>
<true/>
.
.
 
<key>3</key>
<dict>
.
.
<key>IOPCIClassMatch</key>
<string>0x03000000&amp;0xff000000</string>
<key>IOPCITunnelCompatible</key>
<true/>
.
.
 
10 - Edit /System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext/Contents/Info.plist -> IOKitPersonalities -> 
BuiltInHDA - > IOPCITunnelCompatible = true
BuiltInHDA9D70 - > IOPCITunnelCompatible = true
 
sudo nano /System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext/Contents/Info.plist
 
<key>BuiltInHDA</key>
<dict>
.
.
<key>IOPCIClassMatch</key>
<string>0x04010000&amp;0xFFFD0000</string>
<key>IOPCITunnelCompatible</key>
<true/>
.
.
 
<key>BuiltInHDA9D70</key>
<dict>
.
.
<key>IONameMatch</key>
<array>
<string>pci8086,9d70</string>
</array>
<key>IOPCITunnelCompatible</key>
<true/>
.
.
 
11 - Change timestamp /System/Library/Extensions/
 
Change timestamp /Library/Extensions/
 
sudo touch /Library/Extensions/

sudo touch /System/Library/Extensions/
 
Rebuild kextcache
 
sudo kextcache -v 1 -i /

/ locked; waiting for lock.

Lock acquired; proceeding.

rebuilding //System/Library/PrelinkedKernels/prelinkedkernel
.
Directory caches updated for /System/Library/Extensions.

Directory caches updated for /Library/Extensions.
 
12 - Reboot Macbook Pro 2011.
 
sudo reboot now
 
13 - System Information:
 
Graphics/Display: NVIDIA GeForce GTX 1050:
 
  Chipset Model: NVIDIA GeForce GTX 1050
  Type: External GPU
  Bus: PCIe
  PCIe Lane Width: x4
  VRAM (Dynamic, Max): 2047 MB
  Vendor: NVIDIA (0x10de)
  Device ID: 0x1c81
  Revision ID: 0x00a1
  ROM Revision: VBIOS 86.07.25.00.24
  Automatic Graphics Switching: Supported
  gMux Version: 1.9.23
  Metal: Supported, feature set macOS GPUFamily1 v3
 
PCI:
NVIDIA GeForce GTX 1050:
 
  Name: NVDA,Display-F
  Type: Display Controller
  Driver Installed: Yes
  Tunnel Compatible: No
  Pause Compatible: No
  MSI: Yes
  Bus: PCI
  Slot: Thunderbolt@193,0,0
  Vendor ID: 0x10de
  Device ID: 0x1c81
  Subsystem Vendor ID: 0x19da
  Subsystem ID: 0x0010
  ROM Revision: VBIOS 86.07.25.00.24
  Revision ID: 0x00a1
  Link Width: x4
  Link Speed: 5.0 GT/s
 
14 - System Information -> PCI -> NVIDIA GeForce GTX 1050 -> Tunnel Compatible: No
 
NVIDIA GeForce GTX 1050 uses these kexts below:
 
kextstat | grep -i nvidia

com.nvidia.NVDAStartupWeb (10.3.3)

com.nvidia.web.NVDAResmanWeb (10.3.3)

com.nvidia.web.NVDAGP100HalWeb (10.3.3)

com.nvidia.web.GeForceWeb (10.3.3)

com.nvidia.CUDA (1.1.0)
 
/Library/Extensions/NVDAStartupWeb.kext -> Step 8 -> IOPCITunnelCompatible = true
 
15 - Edit /Library/Extensions/NVDAResmanWeb.kext/Contents/Info.plist -> IOKitPersonalities -> NVRM -> IOPCITunnelCompatible = true
 
sudo nano /Library/Extensions/NVDAResmanWeb.kext/Contents/Info.plist
 
<key>IOKitPersonalities</key>
<dict>
<key>NVRM</key>
<dict>
.
.
<key>IONameMatch</key>
<array>
<string>NVDA,NVMac</string>
</array>
<key>IOPCITunnelCompatible</key>
<true/>
.
.
 
16 - Edit /Library/Extensions/NVDAGP100HalWeb.kext/Contents/Info.plist -> IOKitPersonalities -> NVidiaRM -> IOPCITunnelCompatible = true
 
sudo nano /Library/Extensions/NVDAGP100HalWeb.kext/Contents/Info.plist
 
<key>NVidiaRM</key>
<dict>
.
.
<key>IOMatchCategory</key>
<string>IOService</string>
<key>IOPCITunnelCompatible</key>
<true/>
.
.
 
17 - Edit /Library/Extensions/GeForceWeb.kext/Contents/Info.plist -> IOKitPersonalities -> GeForce -> IOPCITunnelCompatible = true
 
sudo nano /Library/Extensions/GeForceWeb.kext/Contents/Info.plist
 
<key>GeForce</key>
<dict>
.
.
<key>IOMatchCategory</key>
<string>IOAccelerator</string>
<key>IOPCITunnelCompatible</key>
<true/>
.
.
 
18 - Change timestamp /System/Library/Extensions/
 
Change timestamp /Library/Extensions/
 
sudo touch /System/Library/Extensions/

sudo touch /Library/Extensions/
 
19 -  Rebuild kextcache
 
sudo kextcache -v 1 -i /

/ locked; waiting for lock.

Lock acquired; proceeding.

rebuilding //System/Library/PrelinkedKernels/prelinkedkernel
.
Directory caches updated for /System/Library/Extensions.

Directory caches updated for /Library/Extensions.
 
20 - Reboot Macbook Pro 2011
 
sudo reboot now
 
21 - System Information -> PCI -> NVIDIA GeForce GTX 1050 -> Tunnel Compatible: Yes 
 
22 - After Effects CS6 -> CUDA
 
sudo nano /Applications/Adobe\ After\ Effects\ CS6/Adobe\ After\ Effects\ CS6.app/Contents/raytracer_supported_cards.txt
 
Add your card -> first line -> GeForce GTX 1050 -> press CTRL + X keys -> press Y (Yes) key and press ENTER key -> save and exit.
 
GeForce GTX 1050
GeForce GTX 285
GeForce GT 650M
Quadro CX
Quadro FX 4800
Quadro 4000
 
23 - Open After Effects CS6 -> Preferences -> Preview -> GPU information:
Enable Ray-Tracing: GPU
 
CUDA
Driver Version: 10.1
Devices: 1 (GeForce GTX 1050)
Current Usable Memory: 1,92 GB (at application launch)
Maximum Usable Memory: 2,00 GB
 
 
GPU CUDA/OpenCL Acceleration Support in Adobe CS6/CC apps
https://www.tonymacx86.com/threads/gpu-cuda-opencl-acceleration-support-in-adobe-cs6-cc-apps.186689/
 
 
24 - No audio over HDMI -> movie with sound -> Quick time -> no audio Samsung Smart TV
 
System Information -> PCI -> pci10de,fb9: -> Type: Audio Device / Driver Installed: No
 
pci10de,fb9:
 
  Type: Audio Device
  Driver Installed: No
  Tunnel Compatible: No
  Pause Compatible: No
  MSI: No
  Bus: PCI
  Slot: Thunderbolt@193,0,1
  Vendor ID: 0x10de
  Device ID: 0x0fb9
  Subsystem Vendor ID: 0x19da
  Subsystem ID: 0x2454
  Revision ID: 0x00a1
  Link Width: x4
  Link Speed: 5.0 GT/s
 
 
I don't know if you have to modify a kext or if it's due to the quality of the HDMI cable.
 
AppleGFXHDA.kext is about Intel and AMD. I don't know if it's for streaming audio to only Apple (AMD) supported eGPUs.
 
/System/Library/Extensions/AppleGFXHDA.kext/Contents/Info.plist
 
Headphones, HDMI, DisplayPort, etc:
 
/System/Library/Extensions/AppleGFXHDA.kext/Contents/Resources/English.lproj/Localizable.strings
 
https://www.nvidia.com/en-us/geforce/forums/discover/295847/missing-audio-over-displayport/
 
https://www.dell.com/community/Laptops-General-Read-Only/Audio-over-displayport-Nvidia-M6500/td-p/3578470
 
https://www.displayport.org/wp-content/uploads/2011/10/DP-Audio-User-Guide-v1.pdf

NVRAM:

/System/Library/Extensions/NVDAStartup.kext/Contents/MacOS/NVDAStartup

nvda_drv

/Library/Extensions/NVDAStartupWeb.kext/Contents/MacOS/NVDAStartupWeb

nvda_drv_vrl

Would it be "vrl" referring to Virtual Reality?

This post was modified 1 week ago

- Macbook Pro 15" Early 2011 with failed AMD GPU - Intel HD 3000 and AMD Radeon HD 6750M
- AKiTiO Thunder 2 Box
- ZOTAC GeForce GTX 1050 Mini - 2GB - Nvidia Pascal
- Thunderbolt 1


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

Welcome @nsgr! We last spoke on MacRumors (my username was mayankk2308) forums on the Early 2011 dGPU thread. Do consider creating a build to add to our database (check builds section). Quick question for you: why do you need the kexts from 10.13.3? Is it because of the failing dGPU?

This post was modified 1 week ago

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote
nsgr
 nsgr
(@nsgr)
Active Member
Joined: 1 week ago
 

@mac_editor

Yes, the famous thread created by AppleMacFinder.
I dreamed about AppleMuxControl.kext. hahaha.
I am going to "build section" tomorrow.

I read about the Thunderbolt change (this thread) from 10.13.4 and decided to experiment. And I saw people talking about mac crashing in the progress bar.

I've already modified so much kext to try to make audio work through HDMI. Soon I will make a clean install formatting everything.

I even added a third GPU (Nvidia) to AppleMuxControl.kext -> Config2 but I was also unsuccessful.
AppleMuxControl.kext has an HDA config.

I don't know if AppleMuxControl2.kext is for AMD eGPU.
AppleGFXHDA.kext does not exist in Sierra (10.12) and also does not exist in El Capitan (10.11).

Nvidia GTX 1050 eGPU works fine (video). The problem is the audio over HDMI.

This post was modified 1 week ago

- Macbook Pro 15" Early 2011 with failed AMD GPU - Intel HD 3000 and AMD Radeon HD 6750M
- AKiTiO Thunder 2 Box
- ZOTAC GeForce GTX 1050 Mini - 2GB - Nvidia Pascal
- Thunderbolt 1


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

@nsgr Looking forward to your build. You could make some aspects easier:

  • purge-wrangler provides options to install web drivers and patches them appropriately.
  • You do not need Pacifist to retrieve pkg contents. Consider using pkgutil --expand-full option.
  • If you are using 10.13.3 kexts, it may be possible to use NVIDIAEGPUSupport instead (might need minor changes to get it to run on 10.13.6).

Audio support was something we never even attempted to dive into, so your insight is certainly appreciated. Perhaps we can take inspiration from the Hackintosh community: https://hackintosher.com/forums/thread/nvidia-hdmi-audio-with-applealc.193/

This post was modified 1 week ago

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote
nsgr
 nsgr
(@nsgr)
Active Member
Joined: 1 week ago
 

@mac_editor

Yes, I read all purge-wrangler.sh, purge-nvda.sh and set-egpu.sh. I like to know what I am installing on the system.

Now I'm seeing how I can make eGPU Nvidia work properly with a user with "standard" permissions.
I come from Linux. And accessing the system as a user with administrative rights is complicated. Call me paranoid. haha ha
And with SIP disabled.

I put the example of Pacifist because there are many users who do not use Terminal very much.
The tutorial I made of the Nvidia GTX 1050 could be done in 7 steps or less. But questions would start to appear on how to edit this kext, how to do this or that. So I made a step by step tutorial for beginners.

Does NVDAEGPUSupport have the source code to download or view?

I will see this link (hackintosh) and I will do some tests.. Thank you.

"Apple removes support for NVIDIA audio devices starting in 10.13.4 and continuing in 10.14."

Apple just makes my life "easier" -> irony on.
https://hackintosher.com/forums/thread/nvidia-hdmi-audio-with-applealc.193/

This post was modified 1 week ago

- Macbook Pro 15" Early 2011 with failed AMD GPU - Intel HD 3000 and AMD Radeon HD 6750M
- AKiTiO Thunder 2 Box
- ZOTAC GeForce GTX 1050 Mini - 2GB - Nvidia Pascal
- Thunderbolt 1


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

@nsgr

Awesome.

Making kext modifications with standard permissions would be a challenge, and more akin to undermining the security of the system (since you are modifying what is executed as part of kernel space) - assuming I have understood you correctly, standard permissions = SIP enabled + user-level access (non-root).

NVDAEGPUSupport was forked here: https://github.com/pedroresende/NVIDIAEGPUSupport

This post was modified 1 week ago

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote
nsgr
 nsgr
(@nsgr)
Active Member
Joined: 1 week ago
 

@mac_editor

System Preferences -> Users & Groups -> User with Standard permissions -> disable -> Allow user to administer this computer -> and SIP disable.

To enable SIP again will take some time. I have two users on the system.

Example:
paul (administrator permissions) -> created during High Sierra installation.

jonas (standard permissions) -> created after completing High Sierra installation -> System Preferences -> Users & Groups -> "+" Symbol -> New Account: Standard

Reboot Macbook Pro 2011 -> login jonas (standard)

User paul (administrator permissions) -> Nvidia eGPU works fine.

User jonas (standard permisions) -> Nvidia eGPU Nvidia eGPU does not work exactly as user paul (administrator). I need to do more tests.

When I want to modify a kext, then I use the "su" command and invoke user paul (administrator).

Terminal:

Change jonas (standard user) to paul (administrator):

jonas$ su paul

enter paul password  -> change to bash-3.2$

bash-3.2$ sudo nano /System/Library/Extensions/IOThunderboltFamily.kext/Contents/Info.plist

enter paul password -> open nano and edit Info.plist file.

Logout paul user:

bash-3.2$ exit 

exit 

jonas$
This post was modified 1 week ago

- Macbook Pro 15" Early 2011 with failed AMD GPU - Intel HD 3000 and AMD Radeon HD 6750M
- AKiTiO Thunder 2 Box
- ZOTAC GeForce GTX 1050 Mini - 2GB - Nvidia Pascal
- Thunderbolt 1


ReplyQuote
mac_editor
(@mac_editor)
Noble Member Moderator
Joined: 2 years ago
 

@nsgr

Fun reading: https://pikeralpha.wordpress.com/2015/07/28/apples-kext-signing-bypassed/ which may allow for patched kexts with SIP enabled.

purge-wrangler.shpurge-nvda.shset-eGPU.shautomate-eGPU EFI Installer
2018 MacBook Pro 15" RP560X + Vega 64 [Sonnet Breakaway 350 -> 600W]


ReplyQuote
nsgr
 nsgr
(@nsgr)
Active Member
Joined: 1 week ago
 

@mac_editor

I read this article from PikerAlpha. Apple wasted no time and hired PikerAlpha.

- Macbook Pro 15" Early 2011 with failed AMD GPU - Intel HD 3000 and AMD Radeon HD 6750M
- AKiTiO Thunder 2 Box
- ZOTAC GeForce GTX 1050 Mini - 2GB - Nvidia Pascal
- Thunderbolt 1


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 10 months ago
 
Posted by: @mac_editor

@nsgr

Fun reading: https://pikeralpha.wordpress.com/2015/07/28/apples-kext-signing-bypassed/ which may allow for patched kexts with SIP enabled.

@mac_editor
Can you do it? Yes, you can!

It would be a breakthrough if I could enable SIP again, because the system and its integrity is priority.

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680


ReplyQuote
 of  39