automate-eGPU EFI - eGPU boot manager for macOS and Windows
@llamafilm Yes, EFI patches are done in memory. The purpose of the validation script is to ensure that nothing is changed on the disk. Kernel extensions load from the cache to speed up the boot time. After OS upgrade, you may need to rebuild caches.
Does anyone know what's up with this flash message on boot (followed by a dark screen)? Had to record it with slow mo on my phone lol.
The EFI app activates simple text output protocol in the beginning, so this seems to be a side effect from the firmware log output before the screen is cleared.
Will this work with reFIND? I already use it for bootcamp. If so, how do I set it up? I currently have a bunch of boots in there as well: Microsoft EFI, Microsoft Legacy, and Apple. Not sure whether this will overwrite something that's already working for me in bootcamp. I want to make sure my bootcamp stuff doesn't get overwritten.
Here is my EFI folder right now:
@timothyov No, you can’t use rEFInd.
Internally, Clover uses rEFIt but it didn’t work well so I decided to make my own, simplified boot screen.
when I boot on the usb drive it finds
egpu not detected
@goalque, I was able to install the EFI files on an external flashdrive using maceditor's installer. However, whenever I try to use it on my mac, this happens (enclosed in link, photo says FileOpen:2584 Status 8000000000000007)
Hi, I created the USB flash drive with maceditor's installer. I am trying to boot Windows 10 with it with my dsdt.aml created using this guide: https://egpu.io/forums/pc-setup/fix-dsdt-override-to-correct-error-12/paged/1/ because I want to disable test signing mode, but the dsdt isn't loaded (I get error 35 again). I moved the dsdt.aml file into \EFI\CLOVER\ACPI\WINDOWS folder. The dsdt should be compiled correctly because it worked when I have test signing mode enabled. I have a mid-2012 15" retina MacBook Pro. Could the issue be that I still have purge-wrangler and purge-nvda installed in macOS? Do they have influence on the Windows booting process?
@goalque I have Windows 10 installed in UEFI mode. It won't work anyway?
Do you see BIOS Mode "UEFI" or "Legacy" under Win10 System info?
"I wouldn’t have thought my Windows 10 in Bootcamp still uses BIOS. Just examining the way of converting the entire stuff into UEFI."
Anyhow, this app supports only installations through Boot Camp Assistant and it says that MacBookPro10 is in the list of PreUEFIModels.
I see UEFI (run -> msinfo32). I didn't use bootcamp assistant. I used it only to make the bootable USB, then I made the partition with Disk Utility, and then booting the USB drive by selecting EFI Boot in the boot manager. By the way, I found someone that used automate-eGPU-UEFI on a mid 2012 13" non-retina MBP: https://egpu.io/forums/builds/mid-2012-13-macbook-pro-macbookpro92-tb1-rx-460-akitio-node-macos-10-13-6win10/#post-43638
I don't want to use clover to inject the dsdt, since it bricks MacBooks, but I'd like to run the games with anti-cheat too, so I'm trying to find a way to not use test-signing mode. Also, I can boot automate-eGPU-EFI, it also detects the egpu and it boots Windows, only issue, it doesn't inject the DSDT (-> error 35 in device manager).
That's good news, I didn't know. I guess 2012 is in some part "UEFI" but possibly lacks necessary features to support Clover's DSDT injection fully (nothing changed). May depend on the Apple firmware version.
Maybe I'm doing something wrong? Having a mac with dedicated graphics, do I have to do something first? Maybe the dsdt file is renamed incorrectly? I used the dsdt-modified.aml file. Is it the correct one?
Can you turn on debug=true and see if you find a line that starts with "DSDT found" or "Cannot found DSDT"?
Try with uppercase: DSDT.aml
Sorry, I can't figure out how to turn on debug mode. Do i need to modify the config.plist?
EDIT: It worked. I renamed the file and it worked fine. I am now writing this post in Windows 10!
EDIT: It worked. I renamed the file and it worked fine. I am now writing this post in Windows 10!
Brilliant! 🙂 You're one of the rare 2012 MBP users who had success with UEFI mode. I would be grateful if you could make a build guide to help other users.
Hey, just wanted to say thanks for this tool,
I just started a setup this week with a new 2018 Mac Mini 6 core i7 8700B 32gb ram with a XFX 8gb AMD Radeon RX580 OC+ and the setup was at first pretty tricky until I found out about the EFI Boot loader.
My system was plug and play with the OSX side of things running OSX Mojave 10.4.4 and the eGPU works flawlessly with the internal Intel UHD processor.
On Windows 10, however, instant issues. I could get the machine to boot windows using the (built in) HDMI port on the mac mini to my LG4k display and usb C to display port for the second LG4k, but the system would not detect the external GPU in windows at all until I used the USB Efi boot loader to use both internal video and external video using your automate-eGPU EFI v1.0.5 tool.
-- the terminal command was super simple and easy to use to create a USB booter with a spare cruzer 4gb stick I had laying around.
-- afterwards booting to windows worked fine and after adjusting some resources in device manager (the mac mini uses an PCI Express x16 lane for the built in 10GBps ethernet, had to disable that and restart to detect the x4 lane for the eGPU) - I was then able to install the AMD drivers and, well damn, it works. I have been playing destiny 2 all afternoon with ultimate settings.
- Once the initial setup was done and I trusted Windows to restart properly every time, I have switched my 2x LG4k panels to the display port outputs on the eGPU and now the tool is no longer needed> if I reboot to OSX, I have to make sure I do it from the bootcamp control panel in windows and it boots up fine ever time. If I want to boot back to windows I set startup manager in OSX to load windows 10 and restart. I don't see the windows load screen but this machine is so damn fast, that doesn't really matter, because within 10 - 15 seconds after post I am at the windows 10 login screen using the eGPU connected screens.
tldr: your tool was helpful, good work.
MacMini 2018 6 Core i7-8700B @ 3.20GHz 32gb Corsair Vengeance Ram, Razer Core X TB3 Enclosure, XFX AMD R580 8GB Overclocked
This isn't working for me.
I'm following this guide: macbook-pro-13-2016-ntb-rx58032gbps-tb3-razer-core-x-macos-10-14-1-win10-sace
Is there anything I can do about this? Could the problem be that the flash drive is connected through a USB hub?
These are the exact steps I've followed:
1. Install Windows 10 Home, 1809, Oct 10 2018
2. Boot into Windows and install Boot Camp drivers
3. Update all Windows updates
4. Install DDU and remove AMD drivers
5. Disable PCI Express Root Port #10 - 9D19
6. Boot into macOS and install automate-eGPU EFI to flash drive using the installer, choose AMD
7. Boot into EFI
8. Black screen
UPDATE: I got it working! I mean, the apple_set_os.efi from here how-to-keep-mbps-irisiris-pro-activated-when-booting-into-windows-boot-cam worked right away for me. Not sure why this one wasn't working.
In case anyone has the same problem, this is what I did:
1. Install and boot into bootcamp (eGPU unplugged)
2. Adjust privacy/other settings as needed, update Windows
3. If you have Magic Mouse/Keyboard, go into Device Manager, Bluetooth, Bluetooth Radio properties, disable allow computer to turn off to save power
4. Disable PCI Express Root Port #10 - 9D19 (unsure if needed, but other posts said to do it)
5. Download AMD drivers 19.1.1 (19,3,2 resulted in black screen/crash)
6. Download DDU (unsure if needed for the first time, but after 100 install attempts of the drivers, it was needed)
7. Turn off internet, because Microsoft will ruin everything
8. Open DDU, uninstall AMD drivers
9. Boot into macOS, get a flash drive and put apple_set_os.efi on it as instructed in the link above
10. Shut down, plug in eGPU, hold option, select EFI Boot
11. It may seem like the eGPU isn't working, but that's because you need to install the drivers, so install drivers and hope for the best
12. Once it finishes, turn on internet (unsure if needed) and restart
13. If it doesn't blue screen, you've succeeded. If it blue screens, uninstall AMD drivers through control panel and then DDU and try again (it blue screened me the first time it asked me to restart, then AMD settings weren't working)
That's how I got it working anyway. I hope this works for others. I still have a lot of challenges to face with this setup probably. I'm scared of future driver updates because of the nasty black screen/crash/hang I got from the 19.3.2 drivers and the settings not opening when it crashed the first time. I also haven't done any tests on it yet. This was a nightmare.
Hi goalque, firstly thank you for your contribution to the EGPU community.
I was wondering what, if any, benefits using your EFI app would give me over my current setup.
The card works well once its been recognized by the OS. I't does however crash the machine whenever unplugged (there is no way to eject the EGPU) and it does take a fair bit of fiddling around (logging in and out at specific times) to get the OS to recognize the card (when the monitor is actually plugged into the card and not just using the processing power of the GPU).
Rebuilding kernel caches may help. There are many ways but this has been the most reliable (SIP must be turned off):if [[ $(test -f /System/Library/PrelinkedKernels/prelinkedkernel && echo 1) ]] then rm /System/Library/PrelinkedKernels/prelinkedkernel 2>/dev/null fi if [[ $(test -f /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache && echo 1) ]] then rm /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache 2>/dev/null fi touch /System/Library/Extensions kextcache -q -update-volume / touch /System/Library/Extensions kextcache -system-caches
Make a small executable script and run it as sudo.
Or reinstall macOS from the recovery.
Reposting this in case anyone else has a similar issue. I just updated to 10.14.4 and had to rebuild the cache to get the EFI working again. Thanks goalque for the helpful script!
Would this method allow TB2 Macs, like the 2013 Mac Pro, to use eGPUs in Windows?
I've been using the Purge Wrangler workaround for a while and that does not allow them.
@mac_editor, thank you for this information. It's never too late to learn new things.
@goalque, I am sorry if this is not something that you are willing to do/share. This looks like a very interesting project and I am curious to see the source codes of it if that's possible. I was able to find the one for apple_set_os.efi but not the main EFI you developed for 1.0.5. Do you think you can share that? It's primarily for educational purposes for myself.
Many thanks in advance even if this is too much to ask (or if I just failed to find it online 🙂 ).
Just tried this on my 2017 iMac 5K with RP580 dGPU, macOS 10.13.6, and GTX1080ti eGPU in OWC Mercury Helios FX.
I have the latest web drivers installed, and your validation script said my system was 'clean'.
- Copied the files onto a FAT32-formatted external HDD
- Did EFI boot (with eGPU turned off)
- The automate-eGPU screen loads just fine
- Hit q, then selected 'Boot mac OS' from the menu
- It freezes on this menu screen and never goes anywhere
Tried several times with the same result. Help? 🙂
I have exactly the same problem, EFI just freezes when I choose "Boot Mac OS"
Hit q, then selected 'Boot mac OS' from the menu
It freezes on this menu screen and never goes anywhere
It appears to only work if the Apple OS Partition was formatted in APFS. I tried installing High Sierra on a HFS+ Volume (in order to be able to read from Windows without buying a new driver) and figured out, that automate-eGPU EFI freezes when trying to boot to macOS installed to the HFS+ Volume
Thank you so much for the info.
For people that have the same problem, at the moment not working in HFS+ volumes it means "automate-eGPU EFI" is only compatible with OSx 10.13 High Sierra and 10.14 Mojave, thats why it's in a separate section for 10.13 and up.
Thanks for this wonderful simple utility. It works great on my 2012 MBP. I upgraded the HDD to an SSD a few months ago and in doing this it automatically formatted to APFS and your utility works.
I tried to use this utility on my iMac but found, like others that it freezes at the boot choice screen. So my question is; is there any way to get this utility to work with a fusion drive formatted in HFS+ with High Sierra?
It would be just a matter of time, debug and see why it works only with APFS. Unfortunately, I am busy and no time.
@titaniumjones Probably not without source modifications, but the project is closed-source. IIRC the EFI uses the Preboot partition (APFS-only) to determine macOS boot partition (thereby not requiring FileVault access to actual boot disk) so you would be out of luck in this regard. macOS Mojave introduces support for APFS on Fusion drives, but then NVIDIA Maxwell/Pascal eGPUs are not supported. Alternatively, use purge-wrangler for your iMac.
- For NVIDIA, no changes are made, while for AMD, the NVIDIA NVRAM value is removed, and @goalque's NVIDIA patch is replaced with my Thunderbolt 1/2 patch, that enables native-like eGPU support with the eGPU icon in the menubar working as expected.
- It is evident that one could easily combine a variety of kext/kernel patches (such as for Ti82 enclosures) if needed by adding more KernelAndKextPatches keys.
Hi guys - maybe a dumb question here. I'm going to replace my Nvidia 1070 with an AMD Vega 56 (running in an Akitio Node). The reason is two-fold: 1) it will allow me to upgrade to 10.14 which is required by a few applications I need to use; and 2) it will work with my work laptop (a 2018 MBP 13" with touch-bar), which is on 10.14 and doesn't allow any external booting or anything like that so can't be used with an Nvidia eGPU.
Before it arrives, I'm trying to sort out the best way to make the AMD Vega 56 work on my 2012 Retina MBP (Intel, 650m). I've been using the EFI thumb boot to date, which is super easy with Nvidia. However, from my understanding I also need to add the Purge-NVDA script/install. It sounds like from those instructions I quoted above this could somehow be injected in the EFI boot sequence, but not entirely sure how to do that. Is there a way? Am I completely mis-reading that? Obviously I could just install the purge-wrangler and purge-nvda scripts the old-fashioned way, but love the idea of having the EFI boot and when I don't boot off it a completely normal system.
Separately, I'm going to have to figure out if I can get Windows working with Nvidia internal GPU and AMD eGPU on my 2012 MBP, but I care less about that and will need to do more research on it.