[Solved] automate-eGPU EFI - eGPU boot manager for macOS and Windows
I am on a 2018 MBP and I was aiming to address a different issue: whether muxing is functioning as expected or not. I got the display working on a basic adapter - which was the Intel at the time and the RP560X disabled/uninstalled.
Drivers uninstalled or disabled? It leads to two very different outcome for me: drivers uninstalled : basic adapters (though it's the same with drivers installed), device disabled: black screen
@jya Intel -> no drivers, AMD -> disabled. Uninstalled there meant I removed AMD from the device manager (this is not same as driver uninstall). Doing that would result in black screen, but didn't in that case.
@navillezhang I think you should consider retrying on a clean bootcamp installation/ensure non-modded state install, with this EFI. First just attempt getting the iGPU to work. Test multiple boots in this config. and then go on to the eGPU (hotplug/DSDT/etc.).
While it's not for NVIDIA eGPU, which is actually easier, I believe following most of the steps there should give you a system that can initialize any single eGPU properly (he initialized 2).
Instead of using integrated.bat you could use MuxSetting=1.
@itsage @mac_editor I formatted and installed everything again. I can see iGPU now with MuxSettings=1. However disabling 1901 gets me a bluescreen in AppleSPIDevice.sys with error WDF_VIOLATION and disabling 1905 is not an option for me since I need all the ports.
I then moved on attempting to do a DSDT override, I can't compile my own DSDT and pre-built ones doesn't have my model. The decompiler still says something were not imported and I don't know how to proceed the "Search for a unique error keyword from your dsdt-modified.dsl error line within dsdt-modified.asl (it may look a bit different) and the just swap the lines above/below into your dsdt-modified.dsl file and compile." part, I've attached my DSDT dump.
I used my own dumped dsl as a base and used mgear1981's dsl to merge in the patch as well as some parsing errors. I can compile the dsl as well as load into Windows. However as soon as the eGPU is plugged in, in a few seconds I'm greeted by a bluescreen. Each time the error is a bit different, last time was some exception in AppleSPIDevice.sys, the one before was some IRQ_NOT_LESS_OR_EQUAL. I used muxsettings=1 instead of intergrated.bat, as suggested by @mac_editor
Below is my modified .dsl
Hello! System boot problem. Hangs on the UEFI bootloader screen after selecting a system (wINDOWS OR MACos). All graphics adapters are defined. Determine even iNTEL HD4000, which is not on the iMac).
It does not make up imaginary device ids, there is an Intel HD 4000 [0x8086 0x162].
maybe disabled by the firmware.
Did you remove apple_set_os.efi?
Hello! You mean not UEFI apple_set_os.efi, sary versions? I previously reinstalled MacOS High Sierra.
I found out that you need to explicitly run intergrated.bat prior disabling 1901. Now I can reboot and 1901 remains disabled, so that's some progress.
However now as long as I plugin the eGPU I always get a bluescreen with code SYSTEM_THREAD_EXCEPTION_NOT_HANDLED in (AppleSPIDevice.sys or Wdf01000.sys)
@navillezhang Can you boot into Windows using EFI Boot Manager without eGPU connected? If so, please share screen captures of Device Manager under three different tabs. The first one is "Devices by type". The second is "Devices by connection". The last one is "Resources by connection".
You're getting close to pairing the RTX 2080 Ti with your 2016 15" MacBook Pro. This laptop is one of the more challenging Macs to get working in Boot Camp. It doesn't help that there's firmware conflict between RTX series GPUs and the i7-H CPU in this laptop. Therefore don't connect the RTX eGPU prior to boot, it will freeze the booting process.
Thank you very much for this. I tried start with this EFI in my usb storage, I found that some thing just flash on my screen and then all screen become black. I have been waiting for a long time, but nothing happend. So did I miss something? Thinks.