Refind Boot Manager For Mac
Now that macOS High Sierra 10.13 officially supports external graphics cards, we've developed a reliable procedure to set up and maintain a functional external GPU in Windows 10 via Boot Camp. In the past month, we’ve tried many different solutions by reading through. What we've found to work most reliably with a Late 2016 15″ MacBook Pro is a combination of, rEFInd, integrated.bat, and the right-side Thunderbolt 3 ports. The 13' MacBook Pro is less involved to implement due to its lack of a discrete graphics card. Our goals were to have an integrated GPU active for eGPU internal display mode and a reliable Windows bootup without error 12. Why so serious?
Let's discuss graphics switching in Windows briefly. Forum member explained the three modes in Windows 10 (Microsoft Hybrid graphics, AMD XConnect, and Nvidia Optimus) in. The crucial prerequisite is the Intel integrated graphics card for internal display acceleration with an external graphics card. Without a functional iGPU, eGPU would only work with an external display. This explains the ease of eGPU implementation on iGPU-only hosts while dGPU + iGPU hosts such as the Thunderbolt 3 15' MacBook Pro is harder to accomplish. The worst-case scenario is when there's no iGPU present either due to the host firmware or its CPU configuration.
Prior to setting up an external GPU, it's a good idea to identify the routing of the PCIe connection over Thunderbolt 3 for each host. We used to check the arrangement of PCIe controllers and lanes on this Late 2016 15″ MacBook Pro (same as Mid 2017 model). The x16 PCI Express Controller connects to the Radeon Pro dGPU. The x8 PCI Express Controller connects to the left-side USB-C/Thunderbolt 3 ports. The x4 PCI Express Controller connects to the right-side USB-C/Thunderbolt 3 ports. It makes total sense to disable the entire line of communication to the dGPU so that we can free up resources for the USB-C/Thunderbolt 3 ports.
The 13' MacBook Pros have no direct Thunderbolt 3 to CPU connection. All PCIe lanes are routed through the platform controller hub (PCH). Apple's states that the right-side Thunderbolt 3 ports on the Late 2016 13' Touch Bar MacBook Pro have lower bandwidth than the left-side ports. This is due to the x2 PCI Express Root Port #9 - 9D18 to which these ports attach. The left Thunderbolt 3 ports attach to x4 PCI Express Root Port #5 - 9D14. We captured the PCIe arrangement of the Thunderbolt 3 15' MacBook Pro (shown on the left) and Thunderbolt 3 Touch Bar 13' MacBook Pro (shown on the right) in and labeled them for reference. The name of the game is to allocate enough resources for the external graphics card to function in Windows 10 while not severely crippling other functionalities of the laptop.
Through trial and error, we found the right-side Thunderbolt 3 ports under PCI Express x4 Controller - 1909 is the best way to connect an eGPU to the 15' Thunderbolt 3 MacBook Pro. This is especially relevant when using an AMD Radeon eGPU in which both PCI Express Controller 1901 and 1905 need to be disabled to resolve error 12. The 13' non-Touch Bar MacBook Pro would likely be able to negotiate enough resources for eGPU automagically. If error 12 arises, simply disabling the connection to the iSight camera would resolve it. The 13' Touch Bar iteration is slightly harder for eGPU implementation due to an extra Thunderbolt 3 controller and two more Thunderbolt 3 ports.
It's best to use the lower left Thunderbolt 3 port closest to the TAB key for eGPU connection on this model and to disable the PCI Express Root Port #9 – 9D18 that connects to the right Thunderbolt 3 ports to resolve error 12. Here are the recommended steps to set up an external GPU with Thunderbolt 3 MacBook Pros and the reasons behind them. If you're familiar with using an external graphics card in Windows 10 via Boot Camp, proceed to the summarized setup procedure. Step 1: Install Windows, DDU & Restore Point There are setup guides to install Windows on an external hard drive so that the internal PCIe flash storage can be preserved solely for macOS partition. We don't recommend having the Windows volume on an external drive because it would complicate the eGPU setup process and may cause unforeseeable maintenance issues. If your MacBook Pro has a limited amount of storage, partition the Boot Camp volume with 50GB for Windows installation and save 200GB for the macOS partition.
You can then install software and games on an external hard drive. Windows 10 can detect new graphics cards and install the drivers automatically.
However the drivers are not up-to-date and sometimes interfere with setting up an external GPU. We recommend using to uninstall the Radeon Pro drivers that came with Apple Boot Camp drivers 6.1 (part of Boot Camp Assistant in macOS). DDU can also disable Windows automated graphics drivers installation. Keep in mind Apple itself has not provided support for external GPU in Boot Camp. Therefore the following steps to set up an external graphics card with your MacBook Pro can possibly cause bootup issues. We highly suggest the use of the Windows System Protection feature. You can create manual Restore Points that capture snapshots of Windows in order to revert changes should you encounter issues.
Step 2: Use applesetos.efi When booting into an operating system that is not Mac OS, the Mac laptop's firmware tends to deactivate the integrated GPU if there's another GPU present. For example, the 15' MacBook Pro boots into Boot Camp with only the Radeon Pro discrete GPU activated. By only having an integrated GPU, the 13' MacBook Pro sometimes hangs at the Windows bootup process if an external GPU is connected. To remedy this first hurdle we rely on to trick the Mac laptop into believing it's booting into Mac OS. This boot loader file can be stored on either a USB drive or in the ESP partition of the Mac's internal drive through the use of boot manager. Is the resource for accomplishing this task.
He provided instructions on creating a USB thumb drive with. Is an alternative for the need to use an external USB drive and Option boot. Once the iGPU is active in Windows, we want to make sure it has the latest Intel graphics drivers. If the iGPU shows up in Device Manager as 'Microsoft Basic Display Adapter,' you may need to install the manually. In the 15' Thunderbolt 3 MacBook Pro, we want to attach the iGPU to the internal display so that we can use eGPU internal display acceleration and disable the dGPU if needed. This is where comes in. Step 3: Run integrated.bat This step is relevant to the Thunderbolt 3 15' MBP only.
If you have a Thunderbolt 3 13' MBP. The purpose of 0xbb's GPU-switch script is to assign a particular GPU to the internal display at the next boot. We want to run integrated.bat in Command with Administrative privilege to execute iGPU attachment to the internal display. Upon the next and subsequent restarts, Windows will use the iGPU to power the Mac internal display. May be required to run this script successfully.
Warning: One important thing to keep in mind is that you have to re-enable PCIe Controller x16 – 1901 in Device Manager (if it's disabled) then re-attach the dGPU to the internal display by running dedicated.bat prior to booting back into macOS. Otherwise the next Windows boot will hang due to macOS force-attaching the dGPU onto the internal display. This is another reason why we recommend creating manual restore points in Windows. In the event Windows fails to boot, you can go back to a safe point without redoing the entire setup process.
Step 4: Solve error 12 The last and most challenging step is to overcome error 12 (not enough resources for eGPU). This almost always happens on a Mac with both iGPU and dGPU. There are several methods to resolve error 12.
This is also called 'yellow-banged,' as visually identifiable in Device Manager by the yellow triangle and black exclamation. For late-2016 Macbook Pros, via registry works well, but the required Windows Test Mode prevents some some games and software working. The workaround has some risks but can provide a simple final solution. Adventurous users may consider this. For mid-2017 15' Macbook Pros consider using a PCIe relocation script from to solve error 12.
A reasonable workaround is to disable PCIe controllers/bridges to free up enough resources so that Windows can handle hosting an external GPU. The PCIe arrangement is different for each Mac but the approach is similar. We start with the PCIe component with the least usage.
In the 13' non-Touch Bar MacBook Pro, disabling the iSight camera PCIe bridge does the trick. The 13' Touch Bar is slightly different in that it has one more Thunderbolt 3 controller to handle the two additional Thunderbolt 3 ports on the right side. Some have success by disabling the PCI Express Root Port #9 – 9D18 that connects to the right Thunderbolt 3 ports and using the lower left Thunderbolt 3 port closest to the TAB key for eGPU. The 15' MacBook Pro is rather challenging to allocate resources for the external graphics card. By disabling the x16 PCIe controller - 1901 to the discrete Radeon Pro GPU, we found Windows likely has enough resources for an external GPU.
For us this method has worked with GTX 980 Ti, GTX 1070, and GTX 1080 eGPU. From eGPU.io members' experience, Windows has a harder time with AMD cards. When we tried the RX 580 and RX Vega 56 eGPU, we needed to also disable the PCI Express x8 Controller - 1905 that connects to the left Thunderbolt 3 ports. External GPU works reliably using the right-side ports that connect to the PCI Express x4 Controller - 1909. Boot Camp eGPU Setup Procedure If viewing this on the forum, please jump to the mirrored news post to see steps 1-4 below correctly.
Here are all the steps from start to finish to get an external graphics card running on a Thunderbolt 3 15' MacBook Pro. Do not connect the external GPU to the Mac laptop until instructed to do so. Download the linked resources at each step.
Nvidia eGPU can work without error 12 when the PCIe Controller x8 -1905 is disabled. AMD eGPU needs the PCIe Controller x16 – 1901 disabled as well to free up enough resources.
Refind Boot Manager Mac Install
Select View » Devices by connection in Device Manager and locate PCIe Controller x16 – 1901 to disable it. Windows Booting Procedure We've tested different combinations of the R9 Fury/X, RX 480, RX 580, GTX 980 Ti, GTX 1070, and GTX 1080 with the, Gigabyte, and on a Late 2016 15' MacBook Pro, a Mid 2017 13' non-Touch Bar MacBook Pro, and a Mid 2017 13' Touch Bar MacBook Pro. External GPU works well and reliably once these steps are completed successfully. A normal boot procedure is as follows:.
Connect the external GPU to designated Thunderbolt 3 port and power MacBook Pro on. Cold boot shows rEFInd boot menu (hold OPTION at boot if is on USB drive).
Press ENTER on boot item - MacBook Pro's display flashes briefly to confirm selection. Press ARROW key to Windows 10 volume then press ENTER to boot. Windows loads to Desktop and AMD XConnect/Nvidia Optimus icon shows up to confirm eGPU activation There are reports of hot-plug possibilities. However, we've found it's not reliable and can crash Windows. Furthermore it may cause corruption in the bootup process. We've made a habit of always creating a manual restore point following a change. You never know when Windows will decide it can't boot into the Desktop anymore.
Having these restore points labeled for each step allows you to go back to a particular stage should something happen. Closing Thoughts Apple can facilitate external GPU support in Boot Camp by optimizing its firmware. We're uncertain how many engineers are working on external graphics support for High Sierra. Boot Camp eGPU is likely low on the list of priorities, if on the list at all.
We've opened a thread to. Please voice your opinions so that Apple will hopefully focus more attention on Boot Camp Mac users. We're all learners as we venture into the territory of eGPU Boot Camp environment. If you know of a better procedure to setup and use external GPU in Boot Camp with a Mac, please share your experience with the community.
Update Apple has made some firmware improvements in the mid-2017 MacBook Pro. Windows 10 now shows ' under Device Manager » View » Resources by connection. This means some Mid 2017 MacBook Pros may be able to use Nvidia eGPU without encountering error 12, no workaround needed. So I believe I am about there, but when i log into windows (without egpu connected) the desktop displays, then flashes black, and then back to the desktop again.
It appears that it's attempting to switch from the igpu to the dgpu. I installed rEFInd, copied over to the boot partition. Select it, then go over to windows and tell it to boot.
I disabled the x8 1905 pcie bit, installed the intel video drivers, and ran the integrated.bat file. Ideally windows would be functional sans egpu if needed, and then with egpu for gaming if desired and for firmware updating. If I start menu open, it stops flashing back and forth. Hi there, I got a macbook pro retina which is MacBook Pro (Retina, 15-inch, Mid 2015), it only got the Intel Iris Pro 1536 MB and only comes with the thunderbolt 2. I was wondering if this guide can work on my computer since your mentioned 'This explains the ease of eGPU implementation on iGPU-only hosts while dGPU + iGPU hosts such as the Thunderbolt 3 15″ MacBook Pro is harder to accomplish.' But since I know nothing about the 'PCIe connection with thunderbolt' issue, which makes me really uncertain about purchasing a e-GPU set up. So, can you make the e-GPU working on the Macbook Pro retina with thunderbolt 2, and running it perfectly on its internal display?
I am thinking about buying a with a GTX1060 to run some steam games. Looking forward to your reply. Best regards, Frank from Australia. Posted by: Eightarmedpet Not sure if it was you who messaged me (it appears to have vanished - this forum's software is buggy as hell IMO) but I'm afraid my experience isn't transferable.
I use the 13inch model and dont need to disable anything. The LG 5K gets treated like an internal screen by the eGPU and comes with the same sort of performance loss.
So in terms of setting up the eGPU, I need to set it up as if I don't even have this 5k monitor because it's being recognized as an internal display, correct? Futhermore, have you had any updates on possibilities of connecting the 5k to the graphics card? @theitsage, I've just received my 1080 Ti, installed into a, connected via TB3 to 2016 15' MBP with R460, connected the card to an external monitor, followed the guide fully on macos H.S.
& win 10, iGPU is working as expected, disabled both PCIe 16x 1901 and PCIe 8x 1905, and using the right side TB3. Still the 1080 Ti shows error 12 in device manager whatever I do, I restarted win many times, and in every time I'm activating the and boot windows from rEFInd, then disable / enable both PCIe again, but with no luck!!! Do I miss anything here or it's macos H.S. Prevents the setup from functioning? Please advise. Update: after being frustrated last night, today I updated macos on the same exact setup with the new supplemental update, and now with pessimistic trial, I decided to boot into windows (boot camp), I discovered that rEFInd is gone (may be due to a new firmware update in the supplemental update) so I decided to boot the usual way by holding the 'option' key, without activating any appleset.efi and without rEFInd at all.
And BOOOOOOOM. Windows recognized my EVGA GTX 1080 Ti without code 12 (attached screenshot) And even without disabling any of the PCIe controllers (attached screenshot) Then I performed some benchmarks (attached screenshots) including with the expected performance. I restarted widows again to make sure everything will run smoothly as per the first boot, and yes.
Everything works just fine without any error. Moreover, I'm connecting many peripherals to the, and to the left side TB3 using Belkin TB3 Express Dock Station, even windows 10 (bootcamp) is on an external TB3 raid SSD by Glyph This is just amazing. I do appreciate all support and help I found on this magnificent forum, and would like to thank all eGPU gurus for their priceless help to average users through this forum. Great write-up - which I am trying to follow.
I am on High Sierra 10.13.1 Beta - 2017 13-inch i7 MBP no touchbar. No problem in Windows 10 anniversary with GTX 1080,- but when I tried to use an RX 580 in Windows (worked great with High Sierra) -problems problems problems.
Easily detected the AMD card in the Node.but - Error 12. I tried to disable and re-enable the RX580, the the camera, the thunderbolt ports and used refind with, then after updating the intel and Radeon drivers (still have error 12) - I now have a flickering windows logo in the center of my screen at all times including before the apple logo on startup even into High Sierra, it persists floating and flickering in the middle of my High Sierra desktop. I have reinstalled the last two sets of intel drivers. Used DDU to clear both intel and Radeon drivers to no avail.
Unfortunately I did not make a 'DDU safe' manual start point before this happened. Since this is a new laptop (purchased 18 days ago) and I have not made it my working one yet and I was online with apple support late into the night we did some pretty extreme things- wiped the SSD completely, reset the NVRAM and reset the SMC several times. We then went back and through the internet clean installed Sierra-no bootcamp and still the flickering windows logo remains in the center of the screen.
It's been there since shutdown after the Windows 10 Intel GPU driver update. Does not effect external screens through thunderbolt hdmi adapters - only the laptop screen.
Update on persistent windows logo- solved. After reinstallation of the bootcamp drivers in windows and a reboot it vanished. I imagine it was the intel driver software in bootcamp. It reappeared and was persistent again after I left the computer on overnight Friday night and it went to sleep. Was able to clear it with reinstallation of the bootcamp software and a reboot after NVRAM and SMC reset during which it 'faded'.
Next time I will just reinstall bootcamp driver software. One odd feature of the persistent logo and flicker - it seems to slowly 'fade'. I have done a net search and this is reported happening without an egpu on 2016 MBPs as well unfortunately I did not find a solution in that search so I don't know if the driver reinstall would fix that on the 2016 MBP. Hey, I wanted to thank you for the guide.
As I, like many used it to make my 15' MBP w/TB and Radeon 450 work with my GTX 1080 TI in the. Long story short I was having 2 issues: first one, whenever I chain loaded first, Windows 10 would crash and reboot. After consulting with Mantiz John and Nando4, I think the cause of this for me was that I was enrolled and using a windows insiders preview version. After going with 1703 version of windows and opting out of windows insider previews, I was able to enable the Intel iGPU on Windows. My second setback was that my, was not properly detected or so I thought, as I would only get the 15D2 thunderbolt device appearing on the Device Manager console.
The reason for this I discovered was that I was hot-plugging it and same as with Mac OSX, it needs to boot up with it plugged in. Again, all this applies to my setup, but as the guides have a broad audience, they mention to plug the eGPU on different parts of the bootup.
For me, the best method is so far, to shutdown the mac, plug the eGPU, then turn the mac back on. Boot with reFind selecting (previously running the integrated.bat as mentioned on the guide), but I am diverting from the guide a bit by after, chainloading Clover with the modified DSDT and then booting windows bootcamp with Clover. Finally i see some results!!!
My configuration - Macbook pro 2016 with radeon pro 460 4gb, tb3, nvidia gtx 1080Ti via bootcamp. I did everything according to guide, but i have 1 issue and 1 question!
ISSUE - gtx1080ti is visible, but works only with external monitor. Any benchmarks do not want even start on internal monitor like on your video. And geforce menu says there is no monitor connected to graphics card. I did everything in 5AM so there is a chance that I miss something, but what? )) QUESTION - if I wannt just take my macbook without eGPU to trip or something, and work with it like before, with radeon pro 460, how can I do that and dont brake everything i do for eGPU? (on windows) Thanks for your work! : How did you end up getting past this issue with the Vive?
'headset needs to be run on the same graphics card as the SteamVR program' What, if any additional hardware did you have to use? I have: 15' Mid-2017 MacBook Pro, AMD RX 580, Windows 10 on removed link It seems that SteamVR content without laptop display mirroring works great, but SteamVR content that mirrors the HMD on the laptop display requires the USB and HDMI HMD to be connected to the same graphics removed link Is this the same problem you encountered and solved? I'll try to make this as clear as possible to understand because even I am slightly confused what is happening. So firstly I got my and set everything up as above and it worked great! But then I became stuck in a boot-loop and the manual restore points I made wouldn't show so I just ended up clean installing windows on my 2017 15' MBP. Here is where my problem lies when I open device manager on windows (not running on integrated) the integrated card doesn't show what so ever, not even as microsoft basic display driver. So when I run the intergrated.bat and then boot using the in refind then boot to windows it just hangs.
I have enabled show hidden devices in device manager with no results either, it is almost as if the internal graphics card is not there, which is obviously false as if i disable the radeon pro 555 the internal kicks in. Even then it does not display in Device manager. Any help would be great as i'm pretty stuck at the moment.Edit I managed to get this working by disabling the radeon 555 in device manager. Then running the integrated script,booting into windows and then everything worked out fine. Except I am stuck with a constant screen flicker when the display is idle, but if a youtube video is played then the flickering stops, any ideas?