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  106
  RSS

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

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.

Thank you for the comprehensive testing. It confirms what I was afraid of: the firmware of the new 2018 15" rejects attempts to activate the iGPU by known methods.

Please download UEFI Shell:

https://sourceforge.net/projects/efidevkit/files/latest/download

- Format an USB stick in OS X Disk Utility (Choose Erase, Format: MS-DOS (FAT), Scheme: Master Boot Record)

- Create a folder structure in Finder as follows: EFI/Boot/bootx64.efi

where bootx64.efi is the renamed Shell_Full.efi file from /Edk/Other/Maintained/Application/UefiShell/bin/x64/folder

Then hold down the Option key and select "EFI Boot".

Type "devtree -b" to see which GPU is driving the internal display.

Our last chance is to access the gmux through IO address space:

mm -io 7D0 10 -n

mm -io 7C2 -n

What's the output?

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
 

This post serves as a summary of what happened in my tests:

  • Control Case #1: Standard Windows 10 boot using AMD drivers from bootcampdrivers.com: no issues. GPUs in Device Manager: RP560X. Internal display active.
  • Control Case #2: Boot with AMD RX 480 plugged in from the start: no internal display, but external worked fine. GPUs: RX 480, RP560X.
  • Control Case #3: Boot with GTX 1070 plugged in from the start: no internal display, but external worked fine. GPUs: GTX 1070, RP560X.
  • EFI Boot #1: Windows boot using the EFI stick -> yellow banged MSFT Basic Adapter + RP560X. Unaccelerated internal display.
  • EFI Boot #2: RP560X was disabled prior. Working MSFT Basic Adapter and RP560X disabled. No mux changes made yet. Installed the UHD 630 drivers manually: blacked the unaccelerated internal display.
  • EFI Boot #3: Rebooted after the drivers were installed, same configuration as above. Result was a black screen. No mux changes made yet.
  • EFI Boot #4Boot with eGPU + external monitor, rest same as above. External monitors came to life with UHD 630 available and ready to go in device manager.
  • EFI Boot #5: MuxSetting=1 and boot as above. Spinning circles with keyboard lighting up. No dice.
  • EFI Boot #6: NVRAM setting instead and boot as above. Spinning circles with keyboard lighting up. No dice.
  • EFI Boot #7Re-attempt #4 after clearing NVRAM and MuxSetting after effects (verified in macOS). Cannot reproduce.

 

Every EFI boot was followed by 1-2 clean non-EFI stick boots.

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]  


jya and goalque liked
ReplyQuote
nu_ninja
(@nu_ninja)
Reputable Member
Joined: 2 years ago
 

Looks like I have NvidiaWeb YES from the script install even though I choose AMD. Removing fixes the problem.

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
 
Posted by: nu_ninja

@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

Thank you for testing. Could you share the config.plist files of your working vs. the script-created file?

Update: Ok I saw your post and yes I thought that wasn't making a difference. Bad me. An update to the script will remove that when choosing AMD.

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]  


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

@nu_ninja script has been updated. Could you try again?

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
OliverB
(@oliverb)
Noble 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.

I can confirm this. No mods, no patch, no bootloader and eGPU is running perfectly in Windows 1803 on 2018 MPB 15.

But: You get the interal display running by the Microsoft Basic Display Adapter and you can't change the resolution or do anything more than display:

HWiNFO 2018MPB15
DisplayResolutFix

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

 
2018 15" MacBook Pro (RP560X) [8th,6C,H] + RX 5700 XT @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 & macOS 10.15.4 [build link]  


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

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.

Thanks. I don't have an eGPU chassis.
My aim here was to have a universal dev machine I could use on the go. My desktop has both a Vega 64 and 1080ti, I can always do my work there if needed. Unfortunately, my desktop is about 17kg, so it makes it difficult to carry in a backpack Smile
Having the Intel has a compute unit is unfortunately not possible. When using the hardware decoders, you get a GPU based frame (a texture really). You can only render such texture if you have a D3D11/DXVA HW accelerated display adapter.
But when the Intel is active, you always end up using the Microsoft Basic Graphic adapter, which is software only.

I work on video players (Firefox Web browser), ability to use HW decoder is a must for both performance and battery life.

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

.

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

@jya Roger that, forgive my ignorance on the matter. Sadly it seems on the 2018 MBP it may not be possible at this time.

@oliverb If using an NVIDIA eGPU, you can get the internal display to function fully accelerated as well, if the eGPU is hot-plugged at the right time and no other peripherals are present.

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
nu_ninja
(@nu_ninja)
Reputable Member
Joined: 2 years ago
 

@mac_editor

Script works perfectly now  🙂

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
 

@nu_ninja Appreciate you testing this quickly Smile Thanks a bunch!

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  106