[SCRIPT] fr34k's macOS-eGPU.sh - one script, all solutions, fully automated
 
Notifications
Clear all

[SCRIPT] fr34k's macOS-eGPU.sh - one script, all solutions, fully automated  

 of  76
  RSS

Chippy McChipset
(@chippy-mcchipset)
Reputable Member
Joined: 3 years ago
 

Today's release of 10.13.5 b4 got me thinking about this script. Once it's in a non-alpha form, will it be the case each new Apple update requires a script update?

Secondarily, through four betas now I haven't seen anything that suggests additional eGPU support / fixes in this OS version... have you guys seen anything different? Apple may be waiting till WWDC to fill us in on what they intend to do next, if anything.

Thunderbolt 3 Macs, Sonnet and OWC eGPUs, 4K Displays, etc


ReplyQuote
Chippy McChipset
(@chippy-mcchipset)
Reputable Member
Joined: 3 years ago
 
Posted by: goalque
Posted by: Chippy McChipset

None of Adobe's applications have built-in support for eGPU yet. You may see some evidence that the app "Sees" the eGPU but so far all reports I've read and all tests I've attempted indicate we'll have to wait for Adobe to update the suite before we'll see the real benefits of eGPU. Not sure about Element 3D. In general I'm not aware of any plugins which have advertised eGPU support. Possibly the recent updates from Red Giant include eGPU support?

You should visit the Applications forum on this board for more specific (app by app) info but very few creative apps are currently set up on Mac to use eGPU. DaVinci Resolve is the best option right now for anything video-related.

Impatient people can fool apps to think that eGPU is the only GPU in your system. If developers do nothing, we need more workarounds Grin

That's true but you'd have to be pretty impatient to use headless adapter tricks to accelerate a true production workflow. Smile

In your experience are those workarounds stable enough across a range of adapter brands (on 10.13.4) that you could recommend them for someone in a real-world production workflow?  To me it would depend on the person and project.  From what I've seen, I don't think I'd recommend it for anyone other than freelance artists who are not involved in big budget projects / have some leeway to experiment a bit.

But your point about developers doing nothing is key; we all need to pressure all of our favorite developers (by writing them directly and asking on their social feeds to get onboard ASAP). They should be able to add support in many cases without a major update. Think 1.1 vs. 2.0. If they don't get a lot of people asking, they'll do nothing. And native support is going to be far better for everyone than applying hacks.

Thunderbolt 3 Macs, Sonnet and OWC eGPUs, 4K Displays, etc


ReplyQuote
fr34k
(@fr34k)
Reputable Member Moderator
Joined: 3 years ago
 

@psonice
done and done! Currently there was only the --checkSystem update so I made this one v0.1 alpha ...
bugfixes won't get a new version (maybe 0.11 alpha)
major updates get the .1 up
and once 10.14 arrives we've reached 1.0

fr34k's macOS-eGPU.sh on GitHub or on eGPU.io

2016 15'' MacBook Pro + GTX1080Ti@32Gbps-TB3 (Sonnet Breakaway 550) + macOS 10.13.6 (17G65 driver: 378.10.10.10.30.107 + CUDA: 396.148)


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

@mellowwood I thought 2013 15" 750M was doomed to failure due to overlapping Nvidia drivers (native + web). Does OpenGL/OpenCL work?

Are there any differences between Iris Pro vs 750M driving your internal display?

@goalque Oddly enough, I am also running a Late 2013 with NVidia dGPU + Nvidia eGPU and It's working well on 13.3. I'd like to hear more from you, that have close to infinite more knowledge on this, about how 13.4 drivers work that makes this setup a doomed one. Wouldn't the NVidia Driver take over control of both cards just like in Windows and work just as normal?

@mellowwood did you try using the disable nvidia dgpu option of the script? Can you share your full experience installing your eGPU. I have a very close configuration. Late 2013 + Akitio Thunder 2 + Zotac 970GTX and I am experiencing Black internal screen (nothing plugged in) right after script reboots. I just didnt try this option and when i get time Ill restore 13.4 backup to read the checkSystem output and see if any clues arise.

Macbook Pro Late 2013 (dGPU GT 750m) + Akitio Thunder 2 + GTX 970


ReplyQuote
mellowwood
(@mellowwood)
Active Member
Joined: 2 years ago
 

@LeoLeal

No, i just used the terminal commands posted, from a new MacOs installation on an external USB drive, i use  for testing purposes. Im hesitant to upgrade to 10.13.4 as my 10.13.3 is still working perfect with openGL support for gaming.    I do have a "disable laptop monitor app" running which i activate when i game and i did install that on the new 10.13.4 to test.               

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

.

ReplyQuote
LeoLeal
(@leoleal)
Eminent Member
Joined: 3 years ago
 

My Setup is plugged since power on and It's working fine in 13.3. It is running beautifully. But 13.4 gets a black screen even without the eGPU plugged.

Macbook Pro Late 2013 (dGPU GT 750m) + Akitio Thunder 2 + GTX 970


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

That's true but you'd have to be pretty impatient to use headless adapter tricks to accelerate a true production workflow. Smile

In your experience are those workarounds stable enough across a range of adapter brands (on 10.13.4) that you could recommend them for someone in a real-world production workflow?  To me it would depend on the person and project.  From what I've seen, I don't think I'd recommend it for anyone other than freelance artists who are not involved in big budget projects / have some leeway to experiment a bit.

But your point about developers doing nothing is key; we all need to pressure all of our favorite developers (by writing them directly and asking on their social feeds to get onboard ASAP). They should be able to add support in many cases without a major update. Think 1.1 vs. 2.0. If they don't get a lot of people asking, they'll do nothing. And native support is going to be far better for everyone than applying hacks.

Headless adapters or isHeadless booleans Smile As said, these are workarounds. By definition, not recommended for any serious production use. Another key is that Apple promised Metal support across all GPUs (from AMD, Intel, Nvidia) in WWDC 2016. Metal 2 brought external GPU support and a new property that determines whether or not a GPU is external GPU, removable. This property is defined also in Nvidia's drivers but I am afraid it is just a plain struct, without any implementation.

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
Chippy McChipset
(@chippy-mcchipset)
Reputable Member
Joined: 3 years ago
 
Posted by: goalque
Posted by: Chippy McChipset

That's true but you'd have to be pretty impatient to use headless adapter tricks to accelerate a true production workflow. Smile

In your experience are those workarounds stable enough across a range of adapter brands (on 10.13.4) that you could recommend them for someone in a real-world production workflow?  To me it would depend on the person and project.  From what I've seen, I don't think I'd recommend it for anyone other than freelance artists who are not involved in big budget projects / have some leeway to experiment a bit.

But your point about developers doing nothing is key; we all need to pressure all of our favorite developers (by writing them directly and asking on their social feeds to get onboard ASAP). They should be able to add support in many cases without a major update. Think 1.1 vs. 2.0. If they don't get a lot of people asking, they'll do nothing. And native support is going to be far better for everyone than applying hacks.

Headless adapters or isHeadless booleans Smile As said, these are workarounds. By definition, not recommended for any serious production use. Another key is that Apple promised Metal support across all GPUs (from AMD, Intel, Nvidia) in WWDC 2016. Metal 2 brought external GPU support and a new property that determines whether or not a GPU is external GPU, removable. This property is defined also in Nvidia's drivers but I am afraid it is just a plain struct, without any implementation.

Good point regarding the Metal angle and Apple's part in continuing to build this part of the platform. Unfortunately Apple will probably do whatever it's going to do without respect to customer feedback for the first couple years. For example it took a lot of bashing and gnashing of teeth by industry pros (not just every day consumer-level users) to get them to admit to a failure and recommit to redesign with 2013 Mac Pro design (roughly 4 years worth). So whatever pressure and visibility we put on third party app developers it will have to be double that for Apple, and more frustrating along the way because they'll never comment on whether they've "heard us" or plan to implement anything or not.

Maybe we'll get some insight at WWDC and they'll tell us what they intend with... Metal 2.x / 3?

Thunderbolt 3 Macs, Sonnet and OWC eGPUs, 4K Displays, etc


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

@goalque Oddly enough, I am also running a Late 2013 with NVidia dGPU + Nvidia eGPU and It's working well on 13.3. I'd like to hear more from you, that have close to infinite more knowledge on this, about how 13.4 drivers work that makes this setup a doomed one. Wouldn't the NVidia Driver take over control of both cards just like in Windows and work just as normal?

 The problem is that Nvidia's web drivers are not designed with eGPUs in mind. The release notes say:

"Includes BETA support for iMac and MacBook Pro systems with NVIDIA graphics".

Unfortunately.

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]  


LeoLeal liked
ReplyQuote
phenotype
(@phenotype)
New Member
Joined: 2 years ago
 

Many thanks to @goalque and @fr34k and everyone else that has helped.

I'm up and running on a 2017 Macbook Pro 13" Non-Touch Bar + Mantiz Venus and EVGA 1080Ti FTW3.  

Some tips.

  • Run the scripts ONLY with Terminal.app.   If you happen to be in love with iTerm.   Temporarily suspend your affection, because the script will quit it as part of the "closing all open applications" portion.   This is hella confusing until you try it under Terminal.app.   Smile
  • If you've tinkered with some timid installs, but nothing full blown - then this sequence worked for me on the 13" Macbook Pro without a dGPU.. 
    1. Disconnect EGPU and don't touch it until asked.  Smile
    2. Disable SIP fully via Recovery. 
    3. Reboot into Mac OS.
    4. Run the 3.0.0 script with the --uninstall option first.
    5. Reboot.
    6. Run the 3.0.0 script with the --install option. 
    7. Plug in EGPU when asked by the script.   Disconnect EGPU when asked by the script. 
    8. Reboot.
    9. After OS has loaded, plug in EGPU.    EGPU will show a single option, Disconnect "null".   Don't touch it or do anything, just observe it.
    10. Reboot.
    11. The laptop will get 1/2 way through the boot progress bar, then move itself to the first of N number of attached monitors.
    12. You are now golden. 
    13. You can safely update to the latest Nvidia drivers - it will prompt you.
  • For Bootcamp on Windows 10 Pro
    1. Ok - this is crazy - just leave everything attached and reboot holding option into Windows.  
    2. Everything will work and display on the attached monitors
    3. Install Nvidia Experience and game ready drivers.   It will remove something called an Nvidia Container Driver(?), will flicker and freak out for a bit.   But all will be well afterwards.
    4. Reboot Windows 10 and lose your mind when Steam and Origin both work.
  • If you happen to have a TB3 audio interface such as the Lynx Aurora 16 with LSLOT.   Do not unplug it from your dock setup while running the EGPU.   You will crash hard - black screen with internationalized bad-things-just-happened notification.   Doesn't appear lasting damage will occur to anything though.
  • So moral of story is just boot and shutdown with everything attached after the above config.   Hot plugging and unplugging just seem to be bad news.   Given how fast everything boots, this isn't any inconvenience.
  • Can't figure out how to upload my screenshots, but will update soon as soon as I figure out how.  Smile   Thanks again guys!

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

.

fr34k and lars18th liked
ReplyQuote
 of  76