[SCRIPT] automate-eGPU.sh v1.0.1 - macOS eGPU installation tool  

Page 2 / 9 Prev Next
  RSS

nickmilitello
(@nickmilitello)
Eminent Member
Joined: 2 years ago
Posts: 21
January 27, 2017 7:07 pm  

Yep same guy.  And really happy you are on this forum. And huge thanks for all the help previously and all the hard work you did to create and continue to help with this script.  

On El Capitan I was able to successfully run 2 Titan Z giving a total 6 GPUs.  2 D700 and 4 Titan GPUS.  I did have them connected to Bus 0.  

On Sierra I tried splitting them into Bus 1 and 0 with no luck.  I originally had the Amfeltec splitter but going from thunderbolt Akitio to Amfeltec pci card to Amfeltec board caused Cinema 4d to crash often.  So I split it with two Akitio boards each separately going into Bus 0. (2 thunderbolt cables into the Mac). That worked well on El Capitan.  However Sierra has made the both Akitio devices not able to boot.  Single works fine.  Except for the FCPX thing.  Used -a mode and disconnect all other devices except the monitor.

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


goalque liked
ReplyQuote
nickmilitello
(@nickmilitello)
Eminent Member
Joined: 2 years ago
Posts: 21
January 27, 2017 7:16 pm  
hey, I am starting a new thread for people with nMP.  seems that there can be some interesting differences than using a MacBook Pro.
It should be at the top of the Mac Set ups.  Hit me up there and I will try and answer any questions.
Posted by: imcalledandy

 

I've been struggling with the nMP too - tried to get a Titan X running - no joy. What was your process for getting a single card working? Please can you share - possibly in another thread?

   

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
XIPRX
(@xiprx)
Active Member
Joined: 2 years ago
Posts: 6
January 28, 2017 8:33 pm  

Hi Sir!

 

I'm new to eGPU and I need some guidance since I'm stuck mid road with my project...

Here are the main components.

Hardware:

MacbookPro 17-inch early 2011, 2.33 i7, 16GB RAM, AMD Radeon HD 6750M VRAM 1024 MB, Intel HD Graphics 3000 512 MB, Thunderbolt 1 (up to 10 Gb/s x2)

AKITIO Thunder 2 Box

Nvidia GTX Titan X 12GB (Maxwell)

 

Software:

macOS Sierra v.10.12.3

CUDA Driver Version: 8.0.63

GPU Driver Version: 10.15.20 (367.15.10.35f01)

 

Using the "automate-eGPU.sh" V1.0.0  I get:

 

-----------------------------------------------------------------------

***      automate-eGPU.sh v1.0.0      ***

* (c) 2016, 2017 by Goalque & FricoRico *

*****************************************

Detected eGPU

 GM200 [GeForce GTX TITAN X]

Current OS X

 10.12.3 16D32

Previous OS X

 [not found]

Latest installed Nvidia web driver

 Version: 367.15.10.35f01

 Source: 3rd Party

 Install Date: 2017-01-28, 17:37

 

Checking IOPCITunnelCompatible keys...

 

Searching for matching driver...

 

Your system is eGPU enabled and Nvidia web driver is up to date.

-----------------------------------------------------------------------

 

while the system report finds only...

 

-----------------------------------------------------------------------

NVIDIA Chip Model:

 

  Chipset Model:    NVIDIA Chip Model

  Type:    GPU

  Bus:    PCIe

  PCIe Lane Width:    x4

  VRAM (Total):    256 MB

  Vendor:    NVIDIA (0x10de)

  Device ID:    0x17c2

  Revision ID:    0x00a1

  ROM Revision:    preset 1.0.0

  Automatic Graphics Switching:    Supported

  gMux Version:    1.9.24

  Metal:    Supported

-----------------------------------------------------------------------

 

I don't get any picture on external monitor in any of the Titan X ports.

The card is supposed to be flashed for Apple but I don't know how to check or if is possible to do that from my Mac. Had no idea what version is installed.

Any Idea what's wrong here and how to fix it?

 

Highly grateful!

 

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
January 28, 2017 9:39 pm  

You’re the 3rd person having issues with the Maxwell Titan X:

https://egpu.io/forums/mac-setup/what-brand-gnu-for-os-x/#post-1923

Try the suggested command.

Please use regular PC cards, and favour EVGA or Gigabyte.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
XIPRX
(@xiprx)
Active Member
Joined: 2 years ago
Posts: 6
January 28, 2017 11:03 pm  

Thanks a lot for your attention.

Running the commando I get:

 

Last login: Sat Jan 28 23:56:21 on console

IPRs-MacBook-Pro:~ eaii$ log show --last 10m | grep NVDA

 

2017-01-28 23:55:52.006552+0100 0x27c      Default     0x0                  0      kernel: (IOPCIFamily) Driver "NVDAStartup" needs "IOPCITunnelCompatible" key in plist

2017-01-28 23:55:57.242509+0100 0x27c      Default     0x0                  38     kextd: (IOKit) kext-dev-mode allowing invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext "/System/Library/Extensions/NVDAStartupWeb.kext"

2017-01-28 23:55:58.039732+0100 0x27c      Default     0x0                  38     kextd: (IOKit) kext signature failure override allowing invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext "/System/Library/Extensions/NVDAStartupWeb.kext"

2017-01-28 23:55:58.075840+0100 0x27c      Default     0x0                  38     kextd: (IOKit) Invalid signature -67030 for kext <OSKext 0x7fe04754d120 [0x7fffb0dded80]> { URL = "file:///System/Library/Extensions/NVDAStartupWeb.kext/", ID = "com.nvidia.NVDAStartupWeb" }

2017-01-28 23:55:58.114589+0100 0x753      Default     0x0                  0      kernel: (IOPCIFamily) Driver "NVDAStartup" needs "IOPCITunnelCompatible" key in plist

2017-01-28 23:55:58.115844+0100 0x753      Default     0x0                  0      kernel: (NVDAStartupWeb) NVDAStartupWeb: Web

2017-01-28 23:56:12.490756+0100 0x80d      Default     0x0                  0      kernel: (NVDAGM100HalWeb) NVDAGM100HAL loaded and registered

2017-01-28 23:56:15.888713+0100 0x868      Default     0x0                  0      kernel: (GeForceWeb) nvAccelerator::attach provider NVDAgl parent display

2017-01-28 23:56:15.888728+0100 0x868      Default     0x0                  0      kernel: (GeForceWeb) nvAccelerator::probe enter provider: NVDAgl [score 130]

2017-01-28 23:56:15.888749+0100 0x868      Default     0x0                  0      kernel: (GeForceWeb) nvAccelerator::detach provider NVDAgl parent display

2017-01-28 23:56:15.888759+0100 0x868      Default     0x0                  0      kernel: (GeForceWeb) nvAccelerator::attach provider NVDAgl parent display

2017-01-28 23:56:15.888765+0100 0x868      Default     0x0                  0      kernel: (GeForceWeb) nvAccelerator: ENTER ::start with provider: NVDAgl

2017-01-28 23:56:16.181013+0100 0x753      Default     0x0                  0      kernel: (IOPCIFamily) Driver "NVDAStartup" needs "IOPCITunnelCompatible" key in plist

2017-01-28 23:56:19.324338+0100 0x470      Default     0x0                  0      kernel: (NVDAResmanWeb) NVDA::rmStart failed

2017-01-28 23:56:19.324339+0100 0x470      Default     0x0                  0      kernel: (NVDAResmanWeb) NVDA::rmStart failed

2017-01-28 23:56:19.324727+0100 0x470      Default     0x0                  0      kernel: (IONDRVSupport) NVDA,Display-B: Not usable

2017-01-28 23:56:19.324965+0100 0x470      Default     0x0                  0      kernel: (IONDRVSupport) NVDA,Display-C: Not usable

2017-01-28 23:56:19.325072+0100 0x470      Default     0x0                  0      kernel: (IONDRVSupport) NVDA,Display-D: Not usable

2017-01-28 23:56:19.325161+0100 0x470      Default     0x0                  0      kernel: (IONDRVSupport) NVDA,Display-E: Not usable

2017-01-28 23:56:19.325248+0100 0x470      Default     0x0                  0      kernel: (IONDRVSupport) NVDA,Display-F: Not usable

IPRs-MacBook-Pro:~ eaii$ 

 

 

 

 

Does it tell you anything?

 

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
XIPRX
(@xiprx)
Active Member
Joined: 2 years ago
Posts: 6
January 28, 2017 11:14 pm  

more info from system_profiler :

 

Graphics/Displays:

 

    Intel HD Graphics 3000:

 

      Chipset Model: Intel HD Graphics 3000

      Type: GPU

      Bus: Built-In

      VRAM (Dynamic, Max): 512 MB

      Vendor: Intel (0x8086)

      Device ID: 0x0126

      Revision ID: 0x0009

      Automatic Graphics Switching: Supported

      gMux Version: 1.9.24

      Displays:

        Color LCD:

          Display Type: LCD

          Resolution: 1920 x 1200

          Pixel Depth: 32-Bit Color (ARGB8888)

          Main Display: Yes

          Mirror: Off

          Online: Yes

          Automatically Adjust Brightness: Yes

          Built-In: Yes

 

    AMD Radeon HD 6750M:

 

      Chipset Model: AMD Radeon HD 6750M

      Type: GPU

      Bus: PCIe

      PCIe Lane Width: x8

      VRAM (Total): 1024 MB

      Vendor: ATI (0x1002)

      Device ID: 0x6741

      Revision ID: 0x0000

      ROM Revision: 113-C0170L-573

      Automatic Graphics Switching: Supported

      gMux Version: 1.9.24

      EFI Driver Version: 01.00.573

 

    NVIDIA Chip Model:

 

      Chipset Model: NVIDIA Chip Model

      Type: GPU

      Bus: PCIe

      PCIe Lane Width: x4

      VRAM (Total): 256 MB

      Vendor: NVIDIA (0x10de)

      Device ID: 0x17c2

      Revision ID: 0x00a1

      ROM Revision: preset 1.0.0

      Automatic Graphics Switching: Supported

      gMux Version: 1.9.24

 

      Metal: Supported

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
XIPRX
(@xiprx)
Active Member
Joined: 2 years ago
Posts: 6
January 28, 2017 11:19 pm  

run once again the "automate-eGPU.sh v1.0." script

IPRs-MacBook-Pro:Desktop eaii$ sudo ./automate-eGPU.sh

Password:

***      automate-eGPU.sh v1.0.0      ***

* (c) 2016, 2017 by Goalque & FricoRico *

*****************************************

Detected eGPU

 GM200 [GeForce GTX TITAN X]

Current OS X

 10.12.3 16D32

Previous OS X

 [not found]

Latest installed Nvidia web driver

 Version: 367.15.10.35f01

 Source: 3rd Party

 Install Date: 2017-01-28, 17:37

 

Checking IOPCITunnelCompatible keys...

 

Searching for matching driver...

 

 

Your system is eGPU enabled and Nvidia web driver is up to date.

 

 

 

 

 

Hope give you some ideas...

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
January 29, 2017 12:21 am  

Messages "NVDAStartup" needs "IOPCITunnelCompatible" key in plist
are ok because you are using the web driver.

2017-01-28 23:56:19.324338+0100 0x470      Default     0x0                  0      kernel: (NVDAResmanWeb) NVDA::rmStart failed

There’s your problem. Some ideas…

- Check the power connectors of the GPU (both 8pin and 6pin)
- Nvidia web driver does not support Titan X (Maxwell) on 10.12.3
- Your eGPU display interface is not compatible
- And the worst case: you have a faulty eGPU:

https://discussions.apple.com/message/17542332#message17542332

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
gbailey4
(@gbailey4)
New Member
Joined: 2 years ago
Posts: 2
February 1, 2017 3:00 am  

I'm getting the "Thunderbolt device is connected, but no external GPUs detected" error upon running the script. The GPU fan runs the second I attach it to my 2016 tMBP 15" and I'm even able to attach a SSD to the external enclosure - PowerColor Devil Box. I've tried with the -a flag as well but that throws an error also. Any thoughts on how to troubleshoot this error?

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
nando4
(@nando4)
Noble Member Admin
Joined: 2 years ago
Posts: 1813
February 1, 2017 3:17 am  
Posted by: gbailey4

 

I'm getting the "Thunderbolt device is connected, but no external GPUs detected" error upon running the script. The GPU fan runs the second I attach it to my 2016 tMBP 15" and I'm even able to attach a SSD to the external enclosure - PowerColor Devil Box. I've tried with the -a flag as well but that throws an error also. Any thoughts on how to troubleshoot this error?

   

Check your Devil Box version. There's one that detects eGPUs and one that doesn't. See details at https://egpu.io/forums/mac-setup/late-2013-mac-pro-setup-issues-macos-10-12-3/#post-2070

eGPU Setup 1.35    •    eGPU Port Bandwidth Reference Table    •    Several builds
2015 15" Dell Precision 7510 M1000M + macOS 10.14 & Win10


ReplyQuote
gbailey4
(@gbailey4)
New Member
Joined: 2 years ago
Posts: 2
February 1, 2017 3:55 am  
Posted by: nando4

 

Posted by: gbailey4

 

I'm getting the "Thunderbolt device is connected, but no external GPUs detected" error upon running the script. The GPU fan runs the second I attach it to my 2016 tMBP 15" and I'm even able to attach a SSD to the external enclosure - PowerColor Devil Box. I've tried with the -a flag as well but that throws an error also. Any thoughts on how to troubleshoot this error?

   

Check your Devil Box version. There's one that detects eGPUs and one that doesn't. See details at https://egpu.io/forums/mac-setup/late-2013-mac-pro-setup-issues-macos-10-12-3/#post-2070

   

Thanks for the quick reply! Looks like I'll need to return the box 🙁

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
imcalledandy
(@imcalledandy)
Estimable Member
Joined: 2 years ago
Posts: 139
February 1, 2017 5:52 am  

I received the same error with my Akitio Thunder 2 and 980Ti setup. I made sure every cable was fully seated and ran the script again and again. It must have taken about 8-9 tries and then it installed correctly. 

I knew everything was recognised because I could see the Akitio had a device connected in System Information. 

2013 MacPro 2xD700 [email protected] (AKiTiO Thunder2) + macOS 10.13.3
2017 TB MBP 2xGTX1080Ti-TB3 (Akitio Node) + macOS 10.13.4


ReplyQuote
reccy
(@reccy)
New Member
Joined: 2 years ago
Posts: 4
February 1, 2017 3:08 pm  

Needing to shut down completely and boot with the Core plugged in is quite an annoying inconvenience. 

If anyone cracks discovers a way to hot-plug it without Mac OS freezing, be sure to let us know.

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
XIPRX
(@xiprx)
Active Member
Joined: 2 years ago
Posts: 6
February 1, 2017 5:16 pm  

Dear Goalque & FricoRico!

 

I don't want to continue without starting by THANK you for a grate work! Awesome, in Apple language...

 

I have Good News to report and some bad.

 

1. The BEST news is that the procedure and the script works perfectly for my components and environment: Macbook Pro 17" early 2011, osX 10.12.3, AKITIO Thunder 2 Box, GTX Titan X (Maxwell) and Cooler Master PowerSupply (PSU) G750M 750W

 

2. The reason I couldn't make it work first was a power supply issue for the graphic card. I wasn't aware that I had to make a bridge to the PSU connector to be able to start the PSU without a mother board connected to it. A simple bridge does the trick.

 

3.  Titan X is reported present on every system recourses inclusive application as DaVinci resolve and Adobe Premiere, Encoder and After Effects etc

 

4.  Benchmarking with GFXBench GL and GFXBench Metal generates grate performance increase over the built in solutions.

 

5.  The BAD news is that the pro apps, as Resolve and Adobes, despite the fact that they recognize the card and make it possible to chose in menus, does not provide ANY increase in rendering speeds. It seems that the CPU works instead the eGPU.

Either is a bug or a bigger problem, thats for you masters to decide!

 

Does any one have any idea or clue why creative software does not take any advantage of the eGPU and hopefully have a solution?

 

 

Thumbs up and all my respect for your efforts and commitment!

 

 

 

 

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
NCPFMP
(@neecudaformacpro)
Active Member
Joined: 2 years ago
Posts: 9
February 2, 2017 12:06 am  

It works!!!

two steps I missed:

1. deactivate SIP
https://www.google.es/search?client=safari&rls=en&q=macos+dissble+sip&ie=UTF-8&oe=UTF-8&gfe_rd=cr&ei=3U2TWIDMBaisgAb334uwDA

2. bridge the external psu to make it work without a motherboard connected (I feel really stupid! . thanks @XIPRX for mentioning this)
http://www.instructables.com/id/How-to-power-up-an-ATX-Power-Supply-without-a-PC/step2/Connect/

 

Cabinet:

OWC Mercury Helios TB2 (a slight variation of the Atikio Thunder 2)

GPU:

Inno3D GTX 980 ti IChill X3
Using a FitHeadless to fake a hdmi screen

 

...and with a PCIE riser cable to avoid destroying the TB box before verifying that it works:
https://www.amazon.es/gp/product/B01J35UUAM/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

Important. Remember to manually install the latest cuda drivers as well.

I am totally shocked how smooth the process is (once I figured out my  self provoked quirks- RTFM)

With a stock Macbook Air 2011 and 4gb ram and TB2 the GPU  scores 121.94 with the octane render (OSX 10.12.3)
With a nMP 6 core 3,5ghz, 32GB ram and TB2 the gnu scores 126.55 with the octane render (OSX 10.11.6)

The reference benchmark for this card is 126.

I have to say that I am a really happy man 😀

@goalque . you are a true hero!!!!

 

------

Tried with an Inno3D 980 ti + owc helios tb2 enclosure + external PSU +mac book air (OS X 10.12.3) and nMP (0sx 10.11.6).

No luck. Although the TB enclosure sees a connected card the script does not detect a gpu present.

The GPU has connection to the enclosure since it turns on each time the TB cable is connected (and system info detects a presence of a card)

I have to admit that I do use a riser cable since gpu is way to big for the enclosure. But I have tested with some black magic cards and they work just fin with the riser card.

No sure wether it is en OWC helios, the GPU or the riser card that messes things up. Too many variables.

It might be the INNO3D card not egpu friendly?

Or the enclosure?

 

UPDATE -

 

I disasembled the OWC Mercury Helios box to connect the GPU directly to the pcie board without the rider cable.
Same result. The GPU does not get recognised :-/
I will return the gpu.
And probably get an Atikio Node box for the next experiments

UPDATE 2
Seems like the OWC Mercury Helios is a rebranded Atikio Thunder 2 so it should work

UPDATE 3

I forgot to disable the SIP.
But that does not change anything either.

All feedback I get from the terminal is:
'Thunderbolt device is connected, but no GPU present"

I have tried on different mac. Same result.
Will definitely return the GPU 

 

 

 

 

 

 

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
NCPFMP
(@neecudaformacpro)
Active Member
Joined: 2 years ago
Posts: 9
February 2, 2017 2:22 pm  

@XIPRX - your step2 solved things for me!!!

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
Phtoon
(@phtoon)
New Member
Joined: 2 years ago
Posts: 1
February 6, 2017 7:27 pm  

Thanks a lot for the updated script. I am using a GTX980ti in Akitio2 on TH2 with my 2015 late 5k iMac retina. I am only using the CUDA render capability with DaVinci Resolve, so I do not use external display on the egpu.

I upgraded to OS X Sierra from El Capitan and used the v1.0 script. After the restart I got a half res monitor in the middle of the 5k screen. I remembered that something has to do with modifying the script in order to disable the external monitor output. Finally I have found it, so after uninstalling, I changed line 63 in the new script to this: 

config_board_ids=()

After reinstall and restart egpu works like before, Resolve can use it. 

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


goalque and theitsage liked
ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314

Phtoon and theitsage liked
ReplyQuote
wondermike
(@wondermike)
Active Member
Joined: 2 years ago
Posts: 6
February 6, 2017 8:58 pm  

Hello, first of all thank you goalque for this wonderful piece of software, I've run an nvidia before with success, but now I have to switch to a Gigabyte ATI Eyefinity X6 (HD 5870), because I wanna use 6 screens and I'm stuck.

My setup: Mac mini (End 2014), El Capitan 10.11.6, Sonnet ExpressCard to Thunderbolt Converter, Expresscard V8.0 EXP GDC Beast. I've tried the following steps:

1) run the script with -uninstall before in order to unsinstall the NVIDIA stuff (CUDA is still installed though)
2) shutdown
3) plugged in the  ATI
4) Booted and run your script

Unfortunately, it doesn't seem to properly install the card. I can see output on two monitors (can't test more monitors for now), but it is slow as hell: Login already builds up the screen almost row-by-row and HD videos are not working or only with a big lag.  System information shows the card, but even only with one monitor, although two are being used. 

I'd be happy for any advice you can give me. Thank you in advance!

Here's the output of your script:

bash-3.2# ./automate-eGPU.sh
***      automate-eGPU.sh v1.0.0      ***
* (c) 2016, 2017 by Goalque & FricoRico *
*****************************************
Detected eGPU
 Cypress XT [Radeon HD 5870]
Current OS X
 10.11.6 15G1217
Previous OS X
 10.11.6 15G31
Latest installed Nvidia web driver
 Version: 346.03.15f06
 Source: 3rd Party
 Install Date: 02.02.17, 19:49

Checking IOPCITunnelCompatible keys...

Accelerator not found.

 

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
February 6, 2017 9:17 pm  

@wondermike: script v1.0.0 doesn't support x3000 codenames anymore, only x4000 and x4100. You have to modify SetIOPCITunnelCompatible() function. It may work with v0.9.9.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
wondermike
(@wondermike)
Active Member
Joined: 2 years ago
Posts: 6
February 6, 2017 10:24 pm  

I haven't found version 0.9.9 neither on git nor elsewhere on the web, but I've found 0.9.8.

Now I get a spinning wheel at boot time, the two screens flicker up for a fraction of a second and the loop resumes at the spinning wheel.

The output of script 0.9.8 looked promising though. I would try the other route what you suggested (modify SetIOPCITunnelCompatible), but I have to admit I have no clue. But: now I cannot try that route anymore, because the Mac mini won't boot anymore with the card attached.

bash-3.2# ./automate-eGPU.sh
*** automate-eGPU.sh v0.9.8 - (c) 2015 by Goalque ***
-------------------------------------------------------
Detected eGPU
 Cypress XT [Radeon HD 5870]
Current OS X
 10.11.6 15G1217
Previous OS X
 10.11.6 15G31
Latest installed Nvidia web driver
 Version: 346.03.15f06
 Source: 3rd Party
 Install Date: 02.02.17, 19:49

Checking IOPCITunnelCompatible keys...

Missing IOPCITunnelCompatible keys.
SetIOPCIMatch() appended device ID 0x68981002 in /System/Library/Extensions/AMDRadeonX3000.kext/Contents/Info.plist
IOPCITunnelCompatible mods done.
All ready. Please restart the Mac.

I have looked inside /System/Library/Extensions/AMDRadeonX3000.kext/Contents/Info.plist and I've found 0x68981002 twice. Shall I remove those matches? 

                <key>AMDBartsGraphicsAccelerator</key>
                <dict>
                        <key>ATIEnableWideBlitSupport</key>
                        <true/>
                        <key>ATIUseTearingWideBlit</key>
                        <false/>
                        <key>CFBundleIdentifier</key>
                        <string>com.apple.AMDRadeonX3000</string>
                        <key>GpuDebugPolicy</key>
                        <integer>0</integer>
                        <key>IOClass</key>
                        <string>AMDBartsGraphicsAccelerator</string>
                        <key>IODVDBundleName</key>
                        <string>AMDRadeonVADriver</string>
                        <key>IOKitDebug</key>
                        <integer>0</integer>
                        <key>IOMatchCategory</key>
                        <string>IOAccelerator</string>
                        <key>IOPCIMatch</key>
                        <string>0x67381002 0x67391002 0x67201002 0x67221002 0x68981002</string>
                        <key>IOPCITunnelCompatible</key>
                        <true/>
                        <key>IOProbeScore</key>
                        <integer>200</integer>
                        <key>IOProviderClass</key>
                        <string>IOPCIDevice</string>
                        <key>IOSourceVersion</key>
                        <string>0.0.0.0.0</string>
                        <key>IOVARendererID</key>
                        <integer>16908288</integer>
                </dict>

and

                <key>AMDCypressGraphicsAccelerator</key>
                <dict>
                        <key>ATIEnableWideBlitSupport</key>
                        <true/>
                        <key>ATIUseTearingWideBlit</key>
                        <false/>
                        <key>CFBundleIdentifier</key>
                        <string>com.apple.AMDRadeonX3000</string>
                        <key>GpuDebugPolicy</key>
                        <integer>0</integer>
                        <key>IOClass</key>
                        <string>AMDCypressGraphicsAccelerator</string>
                        <key>IODVDBundleName</key>
                        <string>AMDRadeonVADriver</string>
                        <key>IOKitDebug</key>
                        <integer>0</integer>
                        <key>IOMatchCategory</key>
                        <string>IOAccelerator</string>
                        <key>IOPCIMatch</key>
                        <string>0x68981002 0x68991002</string>
                        <key>IOProbeScore</key>
                        <integer>200</integer>
                        <key>IOProviderClass</key>
                        <string>IOPCIDevice</string>
                        <key>IOSourceVersion</key>
                        <string>0.0.0.0.0</string>
                        <key>IOVARendererID</key>
                        <integer>16908288</integer>
                </dict>

 

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
February 7, 2017 12:01 am  

You probably found a bug 🙂 The device id 0x6898 should be in AMDCypressGraphicsAccelerator section only, plus the IOPCITunnelCompatible key. I've discontinued this project but I hope that @FricoRico or another programmer can give some guidance.

v0.9.9 is available from the GitHub, not sure if that's better.

https://raw.githubusercontent.com/goalque/automate-eGPU/18666e1ed6e95dc9272b9d2c287c28c4ce553241/automate-eGPU.sh

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
wondermike
(@wondermike)
Active Member
Joined: 2 years ago
Posts: 6
February 7, 2017 5:46 pm  

Hi, thanks for the link to the 0.9.9, I've uninstalled 0.9.8 as cleanly as possible, I've manually traced all steps in the Uninstall() procedure, then rebooted, then shut down, then connected the HD 5870 and installed 0.9.9

Unfortunately, I have the same effect than above, flickering, boot loop. Before I did that, I saw tha HD5870 in the system information, but without acceleration. What else can I do?

Here's some diagnostics/logs:

bash-3.2# ./automate-eGPU.sh
*** automate-eGPU.sh v0.9.9 - (c) 2016 by Goalque ***
-------------------------------------------------------
Detected eGPU
 Cypress XT [Radeon HD 5870]
Current OS X
 10.11.6 15G1217
Previous OS X
 10.11.6 15G31
Latest installed Nvidia web driver
 Version: 346.03.15f06
 Source: 3rd Party
 Install Date: 02.02.17, 19:49

Checking IOPCITunnelCompatible keys...

Missing IOPCITunnelCompatible keys.
SetIOPCIMatch() appended device ID 0x68981002 in /System/Library/Extensions/AMDRadeonX3000.kext/Contents/Info.plist
IOPCITunnelCompatible mods done.
All ready. Please restart the Mac.
bash-3.2# ls /Library/Application\ Support/Automate-eGPU/backup/15G1217/
AMD2400Controller.kext		AMD3800Controller.kext		AMD4800Controller.kext		AMD6000Controller.kext		AMD8000Controller.kext		AMDRadeonX3000.kext		AMDSupport.kext			IONDRVSupport.kext
AMD2600Controller.kext		AMD4600Controller.kext		AMD5000Controller.kext		AMD7000Controller.kext		AMD9000Controller.kext		AMDRadeonX4000.kext		AppleGraphicsControl.kext	NVDAStartup.kext
bash-3.2# cd /Library/Application\ Support/Automate-eGPU/backup/15G1217/
bash-3.2# for i in *
> do
> diff -r /System/Library/Extensions/$i /Library/Application\ Support/Automate-eGPU/backup/15G1217/$i
> done
diff -r /System/Library/Extensions/AMDRadeonX3000.kext/Contents/Info.plist /Library/Application Support/Automate-eGPU/backup/15G1217/AMDRadeonX3000.kext/Contents/Info.plist
46,48c46
< 			<string>0x67381002 0x67391002 0x67201002 0x67221002 0x68981002</string>
< 			<key>IOPCITunnelCompatible</key>
< 			<true/>
---
> 			<string>0x67381002 0x67391002 0x67201002 0x67221002</string>
diff -r /System/Library/Extensions/AMDSupport.kext/Contents/Info.plist /Library/Application Support/Automate-eGPU/backup/15G1217/AMDSupport.kext/Contents/Info.plist
59,60d58
< 			<key>IOPCITunnelCompatible</key>
< 			<true/>
diff -r /System/Library/Extensions/IONDRVSupport.kext/Info.plist /Library/Application Support/Automate-eGPU/backup/15G1217/IONDRVSupport.kext/Info.plist
57,58d56
< 			<key>IOPCITunnelCompatible</key>
< 			<true/>
74,75d71
< 			<key>IOPCITunnelCompatible</key>
< 			<true/>
91,92d86
< 			<key>IOPCITunnelCompatible</key>
< 			<true/>

Edit: In /System/Library/Extensions/AMDRadeonX3000.kext/Contents/Info.plist, I've taken 0x68981002 out of  AMDBartsGraphicsAccelerator, so that it is only in AMDCypressGraphicsAccelerator, plus I've set the IOPCITunnelCompatible to true in ...Cypress...lerator. Same effect. 🙁 Is there anything else I could test/see?

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
February 7, 2017 6:35 pm  

I don’t know about El Capitan 10.11.6 but 0x6898 device id is natively supported on macOS (both AMD5000Controller.kext and AMDRadeonX3000.kext). Script should not append the device id. You just have to add IOPCITunnelCompatible key-value pair into those plist files. Try reinstalling OS X, and see if the 0x68981002 is missing from the AMDRadeonX3000.kext.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
wondermike
(@wondermike)
Active Member
Joined: 2 years ago
Posts: 6
February 7, 2017 8:07 pm  

I think we're getting closer ... I had a look on a vanilla install of El Capitan and *bling* I saw the device inside two of the kexts:

bash-3.2# cd /System/Library/Extensions/
bash-3.2# find . -type f -exec grep -H 0x68981002 {} \;
./AMD5000Controller.kext/Contents/Info.plist:			<string>0x68981002 0x68991002 0x68E01002 0x68E11002 0x68D81002 0x68C01002 0x68C11002 0x68D91002 0x68B81002 0x68B01002 0x68B11002 0x68A01002 0x68A11002 </string>
./AMDRadeonX3000.kext/Contents/Info.plist:			<string>0x68981002 0x68991002</string>
bash-3.2#

This might also be the reason that if I plug it in, I see it in the system information without installing anything. So as you said: natively supported. So if I see things right, I won't need the script. Sorry for the hassle. 🙂

My only remaining problem: The graphics are slow as hell (in pre-script state, i.e. in native state). How can that be tackled?

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
February 7, 2017 10:35 pm  

Missing acceleration indicates that AMDRadeonX3000.kext is not loaded. Type "kextstat | grep AMD" to see which kexts are loaded.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
wondermike
(@wondermike)
Active Member
Joined: 2 years ago
Posts: 6
February 7, 2017 11:22 pm  

I have put the HD5870 in a Hackintosh (PC) and I saw that it was running from minute zero without any tweaks, without any special confiuguration and with full acceleration: I was able to watch two 1080p videos on two screens. There, I saw a little detail (see screenshot) ... PCI-e lane width (German: "Breite"). Hackintosh: x16, EXP GDC Beast: x1 (see earlier screenshot on page #3).

I think there lies the rabbit buried (as we like to say in Germany): The bandwidth of the EXP GDC Beast seems to be too low. Unfortunately I have both configurations buried for today - I will check out your AMDRadeonX3000.kext advise soon and I will provide feedback for documentation purposes.

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
February 8, 2017 12:02 am  

The script is meant to be used over a direct Thunderbolt link (x4). I don't know if it works with the EXP GDC Beast.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
Rapunzel
(@rapunzel)
Eminent Member
Joined: 2 years ago
Posts: 35
February 23, 2017 12:35 am  

Hi, I am noob regarding all this EGPU stuff and I encountered a problem running macOS 10.12.4 Beta (16E163f), where I tried to get my Akitio Thunder3 (with beefed up DC supply) and MSI V809-2210R RX 460 4 GB running.

 The Thunder3 is working and reported in the system report.  The card is visible in the system report, but it says "kext not loaded".

 When running the script, I get the following output:

 

***      automate-eGPU.sh v1.0.0      ***

* (c) 2016, 2017 by Goalque & FricoRico *

*****************************************

Detected eGPU

 Baffin [Radeon RX 460]

Current OS X

 10.12.4 16E163f

Previous OS X

 10.12.2 16C67

Latest installed Nvidia web driver

 [not found]

Checking IOPCITunnelCompatible keys...

File Doesn't Exist, Will Create: /System/Library/Extensions/AMD9500Controller.kext/Contents/Info.plist

Print: Entry, ":IOKitPersonalities:Controller:IOPCIMatch", Does Not Exist

Parse Error: Unclosed Quotes

Value Required for Set Command

SetIOPCIMatch() appended device ID 0x67ef1002 in /System/Library/Extensions/AMD9500Controller.kext/Contents/Info.plist

IOPCITunnelCompatible mods done.

Rebuilding caches...

All ready. Please restart the Mac. 

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
February 23, 2017 1:05 am  

The v1.0 doesn't support beta builds. I've stopped the development.

You have to wait for updated version from @FricoRico.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
Rapunzel
(@rapunzel)
Eminent Member
Joined: 2 years ago
Posts: 35
February 23, 2017 6:07 am  

Ok, thanks for the feedback and the work.

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
FricoRico
(@fricorico)
Eminent Member
Joined: 2 years ago
Posts: 41
February 27, 2017 1:24 pm  

Please bear with me as I will release a beta compatible version soon.

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


Daelin and ikir liked
ReplyQuote
Menneisyys
(@menneisyys)
Eminent Member
Joined: 2 years ago
Posts: 35
February 28, 2017 6:12 pm  

Folks,

 

today, after finding out Windows doesn’t freeze upon selecting it from the boot menu with the eGPU is connected if and only if you first boot into MacOS and simply restart from there (even from the user login screen), I’ve played with constantly rebooting from MacOS to Windows to see whether I can get Windows my eGPU finally recognized.

 

(Interestingly, I now can’t even make Windows recognize my connected and powered Node with the graphics card manually removed. Before today, Windows 10 saw it as an ejectable Thunderbolt device. The Node firmware updater, however, couldn’t – and still can’t - see it. And Windows doesn’t see it either any more. This may also be related to the problem.)

 

During this, for some reason, automate-eGPU.sh v1.0.0 just stopped recognizing my GPU card. This also means it no longer knows which kext files to modify. I completely ‘-uninstall’ed it so it restored the original kexts. This also means, while there’s image on the external screen even now, there’s no acceleration at all. After re-running the script to install it again, as  it can’t identify my card now, it can’t know what kexts to patch and, therefore, the x4100 kext is still not patched.

 

Any ideas on why this may have happened? Before, it could identify the RX 480 without problems. The output of the script now is as follows:

 

sudo ./automate-eGPU.sh 

***      automate-eGPU.sh v1.0.0      ***

* (c) 2016, 2017 by Goalque & FricoRico *

*****************************************

Detected eGPU

 

Current OS X

 10.12.3 16D32

Previous OS X

 10.11.6 15G31

Latest installed Nvidia web driver

 [not found]

Checking IOPCITunnelCompatible keys...

 

Controller not found.

 

My config is: early 2013 15” rMBP (i7, 8G, 256), Apple TB1/2 cable - Apple TB1/2-to-3 adapter – Node (firmware unknown, as the Node updater has never been able to see the device), Sapphire RX 480 4GByte.

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years ago
Posts: 1314
February 28, 2017 9:54 pm  

It doesn't restore all the original kexts. There is a bug at line 284. Change -f to -d, Reset NVRAM, reinstall macOS, disable SIP, and try again.

If you had the -a mode turned before restarting to Windows, the eGPU stays invisible because you have a pre-2014 Mac. You may have better luck with apple_set_os.efi.

If the script doesn't recognize RX 480 after macOS reinstallation, you might have a faulty eGPU.

 

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
Menneisyys
(@menneisyys)
Eminent Member
Joined: 2 years ago
Posts: 35
March 1, 2017 6:59 am  

Thanks!

 

Today morning (after some 10-12 hours of downtime), upon reconnecting & -starting my gear, the script started to work without problems - now it could detect the eGPU (and properly hack the x4100 kext, after which acceleration also works).

***      automate-eGPU.sh v1.0.0      ***

* (c) 2016, 2017 by Goalque & FricoRico *

*****************************************

Detected eGPU

 Ellesmere [Radeon RX 470/480]

Current OS X

 10.12.3 16D32

Previous OS X

 10.11.6 15G31

Latest installed Nvidia web driver

 [not found]

Checking IOPCITunnelCompatible keys...

 

SetIOPCIMatch() appended device ID 0x67df1002 in /System/Library/Extensions/AMDRadeonX4100.kext/Contents/Info.plist

IOPCITunnelCompatible mods done.

Rebuilding caches...

 

All ready. Please restart the Mac.

 

Thanks for the tip on apple_set_os.efi; I'll play with it a bit.

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
Rapunzel
(@rapunzel)
Eminent Member
Joined: 2 years ago
Posts: 35
March 1, 2017 9:49 am  

I had a similar problem. After a shutdown it worked again.

Soon I will add my system & eGPU details or a build link to this my signature to give context to my posts


ReplyQuote
Page 2 / 9 Prev Next