automate-eGPU EFI - eGPU boot manager for macOS and Windows
 
Notifications
Clear all

[Solved] automate-eGPU EFI - eGPU boot manager for macOS and Windows  

 of  108
  RSS

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

So so far, it hasn't worked much better than with the egpu-switch windows utility + apple_set_os.efi , I get exactly the same behaviour (either spinner or flashing white screen when booting). But it's much easier to recover, having the ability to simply boot the USB stick and reset things is a massive progress.

Now if only I could make that damn iGPU work under Windows 🙁

egpu-switch or https://github.com/0xbb/gpu-switch ?

This may explain it, it would be unfortunate if your MBP doesn't behave the same way as the old ones.

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
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 3 years ago
 

@goalque Another important observation when booting with the nvram variable set to iGPU is that during the POST sound on older macs, there will be a noticeable delay for the display to turn on (from off -> LCD black). When this variable is absent, the display will power on immediately after pressing the power button along with the sound.

So to summarize:

Without variable: POST sound + display turns on alongside

With variable: Almost like POST sound first, then display turns on

Hypothesis: Obviously, MuxSetting=1 cannot and doesn't replicate this behavior as it is set later. What it does I am presuming is that it sets the mux to the iGPU, and this setting holds into the OS if and only if the other (non-mux selected) GPU is disabled (which can't be done on macOS completely as it can be with Windows). Evidence is @itsage's recent update on the 2016 MBP build with 1.0.5 where he mentions "internal display attachment to iGPU" - he had dGPU disabled in Windows. If the other GPU (i.e, the one wired to display) is usable, the mux switches back to it as the OS boots. The last symptom should not occur if the nvram variable is used.

@jya Running if from macOS then booting into Windows should preserve the mux change.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


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

The difference is that @itsage is using the older 2016 15" MBP whereas @jya has the new 2018 15" MBP.

@jya said "if I disable the dGPU in the device manager, then Windows will boot into a black screen".

So it has something to do with the firmware. If gpu-switch or gpu-power-prefs has no effect either, I would look at what the UEFI Shell says.

@mac_editor do you have Windows?

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
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 3 years ago
 

@goalque Right, @itsage is on the 2016 model. I was under the assumption that the EFI muxing (power-prefs variable) is functional on the 2018 MBPs without testing this myself. My bad.

Yes, I do have Windows. Doesn't need any mods to get eGPUs working though.

Update: I can confirm that the NVRAM command does disable switching to the dGPU completely for one boot and works as expected on the 2018 MBP on macOS. In such a configuration, external monitors connected directly to the likely won't work (cannot test this myself on 2018 MBP).

Update 2: Some interesting observations:

With NVRAM
Without NVRAM

First image: Booted with NVRAM arg. in place. I was expecting to see the iGPU interestingly the eGPU shows up.

As expected, disabling automatic graphics switching did not switch GPU to the 560X while booted as such.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


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

Yes, 2018 doesn't need any mods but now the problem is that IF you really want to activate the iGPU of the 2018 15" on Windows. That does not seem to be possible. @jya has a good reason to do so: "For the work I do, using the Intel UHD 630 or a nvidia 10xx eGPU would achieve the same goal (have access to the 10 bits HW video decoders that the AMD lacks".

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
jya
 jya
(@jya)
Trusted Member
Joined: 2 years ago
 
Posted by: goalque
Posted by: jya

So so far, it hasn't worked much better than with the egpu-switch windows utility + apple_set_os.efi

, I get exactly the same behaviour (either spinner or flashing white screen when booting). But it's much easier to recover, having the ability to simply boot the USB stick and reset things is a massive progress.

Now if only I could make that damn iGPU work under Windows 🙁

egpu-switch or https://github.com/0xbb/gpu-switch ?

This may explain it, it would be unfortunate if your MBP doesn't behave the same way as the old ones.

I've played with egpu-switch many times.. I only end up with the rotating white pattern on the screen. It never moves from there.. Problem is recovering from that one is an absolute pain. Gotta boot on mac, start the bootcamp partition in VMWare and play with the command again (and that doesn't always work)

gonna try all the options provided earlier now.

thanks again.

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

.

ReplyQuote
jya
 jya
(@jya)
Trusted Member
Joined: 2 years ago
 
Posted by: mac_editor

@goalque Right, @itsage is on the 2016 model. I was under the assumption that the EFI muxing (power-prefs variable) is functional on the 2018 MBPs without testing this myself. My bad.

Yes, I do have Windows. Doesn't need any mods to get eGPUs working though.

Update: I can confirm that the NVRAM command does disable switching to the dGPU completely for one boot and works as expected on the 2018 MBP on macOS. In such a configuration, external monitors connected directly to the likely won't work (cannot test this myself on 2018 MBP).

Update 2: Some interesting observations:

With NVRAM
Without NVRAM

First image: Booted with NVRAM arg. in place. I was expecting to see the iGPU interestingly the eGPU shows up.

As expected, disabling automatic graphics switching did not switch GPU to the 560X while booted as such.

You have the 15" version of the MBP 2018?
Did you ever managed to get the iGPU working under windows and driving the internal screen? (with our without eGPU)

With automate-egpu.efi installed, and MuxSetting set to 1, after running the gmset gpuswitch command I see:
 

Capture

which is identical to just running the apple_set_os.efi bit. So while the intel shows up just fine in the device manager, and the 560X has the yellow bit, it's still the Microsoft Basic Display Driver that is in use..

gonna try the nvram option now and edit this post once done

Edit: So in the device manager, I disabled the 560X device. Rebooted -> white rotating pattern, after about a minute or so: blank screen. You can tell Windows has booted properly otherwise. Holding the fn key you can see the touch bar changing content etc.. I can change the backlight of the keyboard etc..

So then I attempted this:
1- Hold option key to boot via automate-egpu.efi
2- Press q, select mac
3- Open a terminal
4- Type

3) sudo pmset -a gpuswitch 2
4) sudo pmset -a gpuswitch 0

then:

sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

5- Reboot
6- Hold option, press [q] select windows
7- Enjoy either the blank screen, the rotating white pattern, or the windows boot spinner.

So I always go back to the same behaviour:
1- iGPU is apparently running, driver loaded, I can even query its DXVA and D3D11 capabilities with tools such as DXVA Checker, yet it's not used as display controller, the Microsoft Basic one is
2- Blank or funny screen.

There's something messy about it...
I was bitching about this whole thing a couple of weeks ago to some Apple engineers that happened to be at the same conference I was, and they told me at the time that they hadn't written intel drivers for the MBP yet and it couldn't be switched, and was asked to open a bug about it (at Apple, if a bug isn't opened, the problem doesn't exist really). So I did, and it was closed the following day with

Thank you for your feedback, it is noted. Engineering has determined that there are currently no plans to address this issue.

Unfortunately, Boot Camp currently does not support graphics muxing. It is something we will investigate for the future.

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

.

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

A while back, when I was attempting to use a Mac Pro 2013 with a nvidia eGPU under bootcamp (for the exact same reasons I'm trying to get the iGPU to work on this MBP 2018), while the eGPU worked fine under macOS, under Windows I always got the error 12 issue. At the time I had been given some mm -io commands to play with in an EFI shell, trying to deactivate one of the AMD D500 GPU. I never got anywhere with this. (Instead I bought a PC and made my first hackintosh)

I realise that I've hijacked this thread for a different topic... I'll open a new thread next. My apologies for this.

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

.

ReplyQuote
nu_ninja
(@nu_ninja)
Reputable Member
Joined: 2 years ago
 

@mac_editor

Yes, the script installed EFI causes a frozen login screen if I startup with egpu connected and my manual installation works normally. Hot-plug and log-out doesn't get egpu recognized but unload and reload the thunderbolt kext and egpu is recognized and the icon stays in the menubar

Mid-2012 13" Macbook Pro (MacBookPro9,2) TB1 -> RX 460/560 (AKiTiO Node/Thunder2)
+ macOS 10.15+Win10 + Linux Mint 19.1

 
2012 13" MacBook Pro [3rd,2C,M] + RX 460 @ 10Gbps-TB1 (AKiTiO Thunder2) + macOS 10.14.4 [build link]  


ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 3 years ago
 

@goalque @jya It's all starting to make sense after I did some few tests. This is exactly the same issue @itsage came across when he was testing eGPUs on the 2018 models.

Crux: If multiple GPUs are present in preboot environment, Windows boots into a black internal display on the 2018 model(s). AMD eGPUs have further complications with drivers, but that is unrelated here. The same issue is occurring with iGPU. But there are many variables - such as GPU enabled/disabled in Windows. It's hard to summarize.

@jya Seeing that screenshot seems like you got into Windows fine with both GPUs present. The best I could do using the EFI stick was boot with the iGPU enabled but use an eGPU's external display as the internal display would be disabled anyway. Unable to reproduce that result at this time. So I guess the best way of getting things going for your workflow would be to boot with the eGPU plugged in, load Windows using the EFI stick, and have the UHD available as a compute unit while using the accelerated external display (if you are using one). Maybe mention your config. in your signature.

Before today, I never tried getting the iGPU to work in Windows so I don't have much experience with this. While I was running on the eGPU-display, the UHD 630 was available for compute as in your case.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


ReplyQuote
 of  108