Jump to content

automate-eGPU EFI - Mac bootscreen on eGPU


euqlaog

Recommended Posts

7 minutes ago, t00h0t said:

 

So this disables eGPU output, but still lets me use the card for CUDA optimized applications? And fixes the internal display issue? 

 

Yes. CUDA/OpenCL/Metal accelerated apps don't require an external monitor if the eGPU is selectable within the app.

Link to comment
Share on other sites

20 hours ago, goalque said:

@Simurgh5
 

You can extract your VBIOS using GPU-Z and name it “eGPU.rom”. If it doesn’t work through the TB connection, search and download the correct one:

https://www.techpowerup.com/vgabios/

Can anyone extract the rom for the GALAX GTX 970 OC ? I couldn't find it on the techpowerup site and I don't have a PC in order to extract it myself.

Link to comment
Share on other sites

Did some more testing and for some reason the eGPU is not seen anymore in the app.

 

I tried all the restart combinations, reinstalled the script, tried -a, etc.

 

It is connected to TB bus 0 and it's all good if i boot to OSX but the app doesn't see the eGPU at all. If I boot to windows, it doesn't even show up in the device manager.

Link to comment
Share on other sites

Would you be more specific? “Anymore” means that at some point the eGPU device id was there? As if the -a mode is still enabled, uninstall the script. The demo version doesn’t allow to boot into OS X / Windows with the nMP, it should say “Not supported” when you press enter.

 

MacPro6,1.jpg

Edited by goalque
Link to comment
Share on other sites

16 hours ago, goalque said:

Would you be more specific? “Anymore” means that at some point the eGPU device id was there? As if the -a mode is still enabled, uninstall the script. The demo version doesn’t allow to boot into OS X / Windows with the nMP, it should say “Not supported” when you press enter.

 

MacPro6,1.jpg

Yes, I've seen the eGPU detected at some point but not anymore. I tried to uninstall the script and reinstall it without -a and it's the same.

 

I'm just trying to get the app to see the eGPU and then try restarting and booting into windows.

 

I've installed the Razer Core drivers and I'm curious if there's any difference in how windows interprets the eGPU.

Edited by razvani
Link to comment
Share on other sites

@razvani

Just got confirmation that v0.0.1-demo recognizes an eGPU connected to a nMP. What enclosure are you using? Try deleting eGPU.efi, and "settings" file under the root of the USB device. If you don't see eGPU.efi with eGPU.rom, your eGPU.rom is not UEFI compatible.

Link to comment
Share on other sites

3 hours ago, goalque said:

@razvani

Just got confirmation that v0.0.1-demo recognizes an eGPU connected to a nMP. What enclosure are you using? Try deleting eGPU.efi, and "settings" file under the root of the USB device. If you don't see eGPU.efi with eGPU.rom, your eGPU.rom is not UEFI compatible.

I'm using the Akitio Thunder2. eGPU.efi is over there with eGPU.rom

 

I still don't have an appropriate rom for my GTX 970. Haven't found it yet.

 

UPDATE: Tried different ROMs, no result. Running the script without -a. eGPU still not showing up in the app.

 

UPDATE 2 : I had a thunderbolt hard drive also connected to the TB Bus0, so for some reason the eGPU wasn't seen by the app. If I disconnect it, it sees it.

 

Edited by razvani
  • Thumbs Up 1
Link to comment
Share on other sites

Alright! Nice going @goalque! Very cool to see something of your new work.

 

I see you implemented the ability to disable the dGPU and enable the iGPU. Did you happen to test whether a mbpr with dGPU still causes the 10-20% constant load using Windows?

I stopped using Windows because of the obligated usage of the dGPU. If that issue got resolved, I might install Windows again and try some things out.

Right now my mbpr is a bit too important to fiddle around with. So I hope someone is able to help out on that :)

 

Anyway, many thanks for the cool project!

Edited by juniordiscart
Link to comment
Share on other sites

6 hours ago, juniordiscart said:

Alright! Nice going @goalque! Very cool to see something of your new work.

 

I see you implemented the ability to disable the dGPU and enable the iGPU. Did you happen to test whether a mbpr with dGPU still causes the 10-20% constant load using Windows?

I stopped using Windows because of the obligated usage of the dGPU. If that issue got resolved, I might install Windows again and try some things out.

Right now my mbpr is a bit too important to fiddle around with. So I hope someone is able to help out on that :)

 

Anyway, many thanks for the cool project!

Thanks! I rarely use Windows but it’s not a long time since I noticed constant CPU load, not sure if the dGPU caused it. Hibernate resolved the issue:

 

https://communities.intel.com/thread/97975

 

I’m about to discontinue script development if it turns out that everything can be done in pre-boot environment as it now looks so. I cannot promise that every Mac will work, but as there is model validation, it’s easy to add new ones. Your 750M equipped MBP could be the next.

 

I’ve decided to keep EFI work closed-source since my MIT licensed script can be grabbed and modified by anyone.

 

Thus far, I have provided almost daily support and advice to this community, but this is not possible anymore. I hope that members of this forum understand that I don’t have time to answer to their questions due to this new project. And I need some distance from computers, going to the summer cottage soon :) I’ve received some questions about how to contribute financially. I feel that the work itself creates value. No decisions yet if the full version is going to be commercial.

Link to comment
Share on other sites

On 20 June 2016 at 2:48 AM, goalque said:

For now, the application assumes that you have solely OS X or Windows Boot Camp partition, or both of them. Maybe in the future.

 

I have designed this for Thunderbolt Macs only, and in order to show the eGPU boot screen, you likely need a TB2 Mac. Majority of the PC UEFI cards should work. I’ve tried Gigabyte and EVGA. 2011 Mac mini supports GOP, but its firmware wasn’t able to output text through the eGPU. 2014 Mac mini is supported.

 

This was just a cool thought I had when I was thinking about what you're doing. I do understand that it's for eGPU's on Thunderbolt Macs, but could something like that be possible in the future? I know people with cMP's would be in debt if they could have a boot screen for their internal PC card (not just a black screen). If you're able to get the info for the eGPU on boot then wouldn't it be possible to get the info for the internal PCI card as well and activate it?

 

Edited by pixxelpusher
Link to comment
Share on other sites

@pixxelpusher

Apple keeps displaying 1.10 in their firmware EFI implementation, even if GOP (Graphics Output Protocol) is a part of UEFI 2.0 Specification. However, this protocol is included with the Thunderbolt Macs. I've never owned a classic Mac Pro but I suppose that they are bound to older protocol and require Mac EFI, UEFI ROM doesn't help. If cMP's firmware was GOP compatible and STO runs on top of GOP, in theory it would be possible to show the same custom boot screen. Unfortunately the classic Mac Pro won't be supported even if somehow possible.

Link to comment
Share on other sites

On 21. kesäkuuta 2016 at 4:28 PM, razvani said:

UPDATE 2 : I had a thunderbolt hard drive also connected to the TB Bus0, so for some reason the eGPU wasn't seen by the app. If I disconnect it, it sees it.

 

 

I have already rewritten the eGPU detection, tried delaying but it didn't resolve the issue with AKiTiO after cold restart. Says "eGPU not detected" randomly but seems to work quite reliably if you wait for wifi to be ready, and then select "EFI Boot" disk. Can you try that (other TB devices disconnected)? When the eGPU is visible (Load GOP drivers set to ON earlier), can you change the screen output with two monitors? Monitors have to be connected from the beginning.

 

57 minutes ago, razvani said:

Any word on when the full version would be released?

 

That needs another ~2000 lines of code, so not in the near future. I may give the development version to some members who are interested in beta testing.

Link to comment
Share on other sites

@Simurgh5

Seems that you cannot receive PMs. I could make a special version of automate-eGPU EFI for your 750M equipped MBP if you can test with an UEFI capable card? Optimus automation of M370X model probably applies to 750M as well with little changes.

Link to comment
Share on other sites

@goalque,

 

yes, there's something wrong, I'm trying to resolve it. I'd love to test such a version. Thanks! 

My eGPU is still the 750Ti – is this sufficient?

 

And does the Sonnett Echo SE ii somehow stand in the way?

 

Edited by Simurgh5
Link to comment
Share on other sites

@goalque

 

You're more than welcome to use my setup for beta testing as well. I have a MacBookPro11,3 (750m), a Thunder2, and a reference model GTX 980 that I believe is EFI compatible. (GPU-Z in Windows has the UEFI check mark checked next to the VBIOS)

 

I've extracted the BIOS if you'd like me to send it over or anything.

 

Currently, when I run the EFI app, it says "eGPU Not Detected" and only lists the 750m and the Iris Pro. 

 

I have Optimus running the "manual" way in Windows, via apple_set_os and rEFInd, so I can confirm it works, but automation would be nice as well.

Link to comment
Share on other sites

@P-Mac Thanks! Please wait a moment until wifi has finished loading, a couple of restarts (F1) may be needed with a single-slot enclosure.

I’ve a reference GTX 980 as well, and the demo version detects it with the Thunder2 and this rom file:

https://www.techpowerup.com/vgabios/179589/179589

GV-N980D5-4GD-B

 

Yep, gpu-switch and apple_set_os.efi are handy tools. The latter caused some blue screen errors with the M370X model. I accessed the gmux device directly by modifying IO address space.

 

@Simurgh5
The new demo is not designed for detecting two-slot enclosures, but if you can provide the PCI configuration space data, I can take a look. I will send instructions in PM.

Link to comment
Share on other sites

  • 2 weeks later...

@goalque So I finally had some time to test this out some more this past weekend. I am currently running macOS beta 2 so I understand I'm already pushing the limits of whats available at the moment. 

 

The results so far are this,

 

I was able to get the correct ROM (eGPU.rom) file for my board and add it to the boot USB. When I select the drive to boot up, your EFI loader appears and recognizes the card and lets me set Load GOP drivers ON/OFF and changed the Switch screen option to either iGPU or eGPU. I am not able to view anything on an external monitor via the eGPU when I change these settings. But I believe since I have a dedicated graphics card already in my iMac the eGPU can only be used for CUDA functions correct? macOS will boot normally but will not recognize the eGPU at all, even after a few F1 restarts.

 

However using your script I am able to get the macOS beta 2 (Nvidia has beta drivers for macOS Beta 2 367.05.10.05b07 already)  to recognize the eGPU card fully and install the CUDA drivers. BUT I cannot get any CUDA applications (CUDA-Z, Resolve, etc) to recognize the eGPU at all. Tried with and without an external monitor plugged into the eGPU.

 

When booting into Windows 10 I have to "time" the plugging in of the external eGPU to right before the login screen, otherwise I get a blue screen crash. If I time it correctly it works very well in Windows 10 and I am even able to drive my Oculus Rift just fine.

 

Hardware: 

iMac (Retina 5K, 27-inch, Late 2014)

Echo Express III-D with Nvidia GTX 970

 

Link to comment
Share on other sites

@t00h0t I thought all Nvidia drivers are embedded on macOS installers? Have you tried to download a separate Cuda driver?

What is your dGPU? Did Resolve/Adobe able to detect your dGPU CUDA?

Or maybe the Cuda compute features has not been unlocked in Sierra Beta

Link to comment
Share on other sites

1 hour ago, t00h0t said:

@goalque 

 

I was able to get the correct ROM (eGPU.rom) file for my board and add it to the boot USB. When I select the drive to boot up, your EFI loader appears and recognizes the card and lets me set Load GOP drivers ON/OFF and changed the Switch screen option to either iGPU or eGPU. I am not able to view anything on an external monitor via the eGPU when I change these settings.

“Load GOP drivers” must be set to ON and one restart is required before you can test screen switching. What is the manufacturer of your card?

Other menu options in demo version are limited to the MBP11,5.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.