2016 MacBook Pro 15 and RTX 2070
So I had my Razer Core X loaded with an older 970 and everything was working great.
It seems that with the Core X plugged in, the computer will not even turn on, and when I try to hot plug it:
1) At the Windows boot logo, it just hangs.
2) If I hot plug it once in Windows, I get a BSoD, and then the computer turns off, and will not turn on again, until I unplug the eGPU.
Is it possible that the 2016 MacBook Pro 15 just doesn't have the chops to run this kind of setup?
I have followed itsage's guide perfectly, which is how I got the 970 working, but the 2070 just doesn't want to play ball....I am currently doing a completely clean setup with a ROG STRIX 1080, hoping it will work, but I would have really liked the 2070 to work.
Any tips or even opinions would be great!
@dozeball Your 2016 15″ MacBook Pro is fine. I encountered the same boot hang issue with RTX series GPUs too. It’s likely a firmware compatibility issues between the laptop and GPU. If you’re using a boot loader such as rEFInd or automate-eGPU EFI, you can try booting into Windows without eGPU connected. Once Windows is fully loaded, hot-plug the RTX 2070 eGPU. It may take a few minutes to Windows 10 to sort out the drivers. If BSOD occurs, download and run DDU to remove all existing Nvidia drivers. At next hot-plug you can manually install latest Nvidia drivers.
thanks for that...I’ll give it a try on the weekend...The 1080 is working fine for me, during the work day.
could the BSoD I consistently got when hot-plugging simply be because I was plugging in the eGPU too soon, before Windows had fully loaded?
Also, from reading, there seems to be some anecdotal evidence of the latest insider build being more eGPU accommodating (April 2019)...Might that be worth a try?
I should probably also point out that it isn’t a reference RTX card.
I’d be inclined to say Windows is ready to go when you see the Desktop. BSOD when you hot-plug an eGPU is due to numerous reasons. My guess is the drivers Windows was trying to load for your RTX 2070 didn’t play well with it. It’s a challenge to have one set of drivers for three GPU generations.
Fair points, though I did try a complete boot camp removal and reinstall via the utility, following the same guide you wrote up for the 2016 MacBook Pro.
When I try the RTX card again, this weekend, I’ll reply with the BSoD errors that the system threw off...I THINK that there were two different BSoD errors, one may have been related to the order that I disabled the Thunderbolt busses, though...I suspect you’ll be able to make more sense of them than I will, though I DO KNOW that one of them specifically referenced unavailable memory.
So, after months of trying and failing, I've finally gotten the RTX 2070 to work, and it seems to be stable...Getting it to work however, is VERY finicky, and any time the computer reboots for any reason, I have to plug the eGPU in at a VERY SPECIFIC point, otherwise it either doesn't get detected, or it will BSoD on login, but even the BSoD will be a fustercluck of artifacts instead of text.
Sequence for successful functioning is the standard, to a point:
Install Windows 10 (build 1903 in this case) via Bootcamp and the Bootcamp software.
Partition the internal drive to add a 25MB FAT partition.
Manually install the Automate-EFI 1.0.5 to the partition, modifying for NVidia muxsetting 0->1
DDU the installed AMD drivers.
Install VisualC++ 2013 x86.
Download and Run integrated.bat
Boot from 25MB partition (I named mine EFI EGPU BOOT) press q, select the Auto-Run/Auto-Boot option, then Load Windows.
Go into Device Manager, 'View by Connection Type' - IF your 2016 MBP has the 450 or 455 gpu, you only need to disable PCIE Controller 1901, and the FaceTime camera...For 460, you MAY need to disable 1909 also, but I can't confirm this, since my MBP has the 455.
Install the Intel Graphics Driver.
HERE IS THE CRUCIAL POINT!!
First, make sure you have nothing else plugged in at all...As soon as you select Load Windows, once the front/first dot of the rotating dots under the Windows logo gets to the top 12 o'clock position, plug the eGPU into the right port that is closest to you, not the closest to the screen.
You MIGHT get a black screen after a short while, but this seems to be a case of either you will or you won't....If you do, hit CMD+P, this should restore the display, and then select the top option.
First thing to check after login, is Device Manager - You should see either the Intel graphics, and either it will say NVIDIA RTX 2070, or it will say Microsoft Basic Display Adapter....If it only shows the Intel graphics, you didn't time the eGPU plugin right...Reboot and try again.
As I said, for SOME reason, this particular combination of RTX and 2016 Macbook Pros is INCREDIBLY finicky and you have to be extremely precise to get it working!
Once you get the second display adapter showing up in Device Manager, and the system hasn't BSoD, download and install DCH Nvidia drivers...The standard drivers don't work anymore.
After installing, HARD shutdown the computer by holding the touch button (top right of the keyboard) for about 5-10 seconds, unplug the eGPU again, turn the MBP on again, select load windows, time the eGPU plugin correctly again as per the instructions under the all-caps warning, and you should be good to go.
Once you are logged in again, IF you didn't have to disable 1909 as well, you can start to plug in your other things...ONE AT A TIME!!...I have three ports occupied: eGPU in the bottom right, An Apple USB-C to USB-A adapter in the top right, which is connected to an externally powered 7 port USB 3.0 hub, and the bottom left has a system powered USB-C SSD enclosure with a 1TB SSD in it.
I'm not too tech-savvy to be able to figure out or explain WHY this particular MBP 15-inch is so finicky with the RTX series cards...Maybe someone else here, can.
@dozeball Thank you for posting this update and being persistent. I read through your report and believe you have not used DSDT to allocate Large Memory for your 2016 15″ MacBook Pro. I have a fairly identical machine to yours and my latest build was surprisingly easy in regards to hot-plug an eGPU, both Nvidia and AMD. @nando4 has compiled a nice collection of dsdt.aml files for immediate use. You can simply download the one matching your system (dGPU). Simply copy it to EFI/CLOVER/ACPI/WINDOWS folder inside EFI partition and your 2016 15″ MacBook Pro will have Large Memory.
@dozeball Thank you for posting this update and being persistent. I read through your report and believe you have not used DSDT to allocate Large Memory for your 2016 15" MacBook Pro. I have a fairly identical machine to yours and my latest build was surprisingly easy in regards to hot-plug an eGPU, both Nvidia and AMD. @nando4 has compiled a nice collection of dsdt.aml files for immediate use. You can simply download the one matching your system (dGPU). Simply copy it to EFI/CLOVER/ACPI/WINDOWS folder inside EFI partition and your 2016 15" MacBook Pro will have Large Memory.
Hey sage...Thanks for that, sincerely!
It was one of the many things that I have tried over the months, and no matter what I did (I'm fairly sure I used the correct dsdt-modified.aml file...It was the 2016 MBP one by mgear1981 that had RP455 in the filename, and placed it in the specified location correctly), I still had to follow all of the above, to get it working!
If you can tell me how to verify if the large memory dsdt file is loaded correctly, I can provide a screenshot.
There's just something about the combination of equipment, that just doesn't play well together.
Do you see Large Memory line in Device Manager when you tried it? I’m not good at compiling the DSDT myself. I had asked @nando4 for help with that. If you want to give it a shot you can extract the DSDT file from your system and follow these error 12 DSDT override instructions.
I couldn't find anything specific like you described, that references 'Large Memory', but if it helps, here is a screencap of the RTX 2070 Resource Properties:
The only line that you can't see, which is below the scroll line, is the IRQ number.
I guess the pre-compiled DSDT didn't work for me, because it's in the correct place: EFI->CLOVER->ACPI->WINDOWS->dsdt-modified.aml ?!
Did you rename the downloaded DSDT file to [dsdt.aml] prior to copying it to automate-eGPU EFI? Here’s what my Device Manager [View – Resources by type] looks like when there’s Large Memory.
Did you rename the downloaded DSDT file to [dsdt.aml] prior to copying it to automate-eGPU EFI? Here's what my Device Manager [View - Resources by type] looks like when there's Large Memory.
THAT'S what I didn't do....Rename it!
When I view resources by type, however, I get this:
The name is different, but the Hex values match exactly....Could it be that by plugging in the eGPU at precisely the right moment, Windows is automatically allocating it with Large Memory?