Mid 2012 15" MBP GT650M Non Retina + RX580@10Gbps-TB1 (Gigabyte Gaming Box via TB3->TB2 adapter) + macOS 10.13.4 / Win10 [clarketus]  

 

clarketus
(@clarketus)
Active Member
Joined:3 months  ago
Posts: 9
April 25, 2018 8:22 pm  

System specs  (model inc screen size, CPU, iGPU, dGPU, operating system)

  • Mid 2012 15" Macbook Pro - "Non Retina" or "Unibody" -  "MacBookPro9,1" Full specs here
  • 2.6GHz Quad Core i7
  • 16GB DDR3 1600MHz (Aftermarket parts)
  • Nvidia GT650M 1GB dGPU / Intel HD4000 iGPU
  • Samsung 850 PRO SSD 1TB (Aftermarket parts)
  • High res 1680 x 1050 internal LCD panel
  • Existing installation of macOS 10.13.4 using APFS with NO Filevault.

 


eGPU hardware  
(eGPU enclosure, video card, any third-party TB3 cable, any custom mods)

  • RX580 8GB Gigabyte Gaming Box (Same enclosure as the Aorus Gaming Box), no modifications
  • Apple Thunderbolt 3 to Thunderbolt 1/2 adapter
  • OWC Thunderbolt 2 cable (2 meters)
  • ASUS MG28UQ 4K/UHD 28-Inch FreeSync Monitor connected over DisplayPort
  • I did not use the USB 3 Hub built into the Gaming Box, I have another USB cable running to the Monitors USB 3 Hub for all USB accessories.

 


Hardware pictures

photo desktop mac

 

photo desktop windows

 

screenshot about this mac

 

screenshot my computer properties

 

 

Installation steps (what did you do to get it all going?)


macOS 10.13.4

  • My existing macOS 10.13.4 installation is on APFS with no file vault.
  • For this entire guide, I always have the eGPU plugged in and turned on when the laptop boots. There was no need to hot-plug.
    • The only exception to this was while installing Windows (See below).
  • Installing purge-nvda and purge-wrangler worked perfectly the first time. Super easy to get set up.
  • I can uninstall the purge-nvda script when I want to take the laptop with me. When I want to plug the eGPU in again, I can install purge-nvda again. This has worked very well.


Windows 10

  • This was a lot more complicated.
  • The bootcamp assistant will by default (on this model Macbook Pro) install an MBR/BIOS/Legacy Windows 10 installation.
    • With this type of installation, eGPU starts up on boot, but when booting from windows, the screen stays blank and no blinking cursor appears before the Windows logo.
    • When the eGPU is disconnected, the blinking cursor appears and windows boots fine, but re-attaching the eGPU to the thunderbolt port never starts eGPU.
    • Due to this, I cannot use the eGPU DIY Setup 1.35 tool unless the boot freeze is solved with some kind of timing work around. I decided not to do this.
  • My solution was to use a UEFI installation of Windows 10.


Windows 10 UEFI

  • macOS with purge-nvda active was set up before I started on Windows UEFI, which I think does affect the boot process. I would advise doing this too even though I have not totally experimented with purge-nvda not being active.
    • Another option here could be to use gpu-switch and run integrated.bat which would set the integrated video device to be used at boot. But again I have not experimented with this.
  • I also had the eGPU disconnected until later in the process.
  • Using the bootcamp assistant, create a bootable USB stick
    • You will need a Windows 10 disk image.
    • Using a USB3 compatible USB stick will make this significantly faster.
  • You will also need to download the Bootcamp 6 support software via the bootcamp assistant. I did this and copied the files onto the USB stick for use in Windows later.
  • To install windows 10 as a UEFI installation, do not use the Bootcamp assistant to install Windows. Use disk utility instead.
    • Add a new partition as HFS+ and call it BOOTCAMP. This should resize the boot partition.
    • When this is created, reboot with the bootable USB stick connected, hold the option key, select "EFI boot", this will load the windows setup.
    • When asked, select "Customize installation", this will allow you to modify disk partitions.
    • Find the BOOTCAMP HFS+ partition, and delete it to create free space (DO NOT DELETE ANY OTHER PARTITION, or you could destroy all your mac OS data).
    • Create a new partition in this free space, and use it to install windows.
  • Verify your Windows installation is UEFI
    • Run "msinfo32" in the run dialog.
    • Verify BIOS Mode: is “UEFI”, not “Legacy”
  • Verify in device manager that you can see two display adapters, one will be iGPU, one dGPU.
    • This happens without anything else needed. We do not need to use apple_set_os.efi to see the iGPU.
  • Now you need to prevent the Intel HD4000 adapter from having drivers installed
    • This causes the system to crash if installed.
    • Install the Nvidia drivers ONLY from the bootcamp support folder on the USB stick to allow you to see which display adapter is the dGPU and which is the iGPU.
    • This guide here had a good description of how to prevent the Intel drivers from being installed:
    • See this link for how to prevent driver installation
    • I did not "Uninstall the device" for the Intel adapter. I left the Microsoft display driver installed and this was fine.
  • Now you can install the Bootcamp 6 software using the regular installer on the USB stick.
    • The Audio adapter WILL NOT WORK initially. But will work later. See later in the guide.
  • Once this is done and you have rebooted, you can enable your network connection.
  • At this point, I checked for updates for both Windows 10 and Bootcamp and installed all of them.
    • I also created a restore point just in case.
  • NOW: Plug in eGPU and reboot.
  • The eGPU will not be detected, but there will be an error 35 in your device manager:
    • Go to the device manager 
    • screenshot error 35

    • You should see the audio adapter has a problem
    • You should also see the PCI Express root port has an error 35.
  • To resolve error 35, we need to do a DSDT override
    • This was used to fix error 35 even though error 35 is not mentioned in that thread.
    • I used the Intel creation method and it compiled first try with no errors
      • Don't be intimidated here! It was actually super easy.
    • I initially loaded the dsdt-modified.aml as a registry override with Windows test signing mode enabled. This gets things working and can be changed later.
  • Reboot and verify the large memory group as per the DSDT guide
  • Verify error 35 is gone.
    • The eGPU device should now be visible with no drivers installed.
    • Also, your audio device should now be working
      • This was actually a surprise, as there is nowhere else on the internet that I could find that mentioned how to get the audio working on this model macbook in UEFI mode. I even purchased a USB sound card as I was not expecting it to work. But it does!!
  • Install the drivers for the eGPU and reboot.
  • Confirm that the eGPU is installed but has error 12
    • screenshot error 12

    • This should be as per the screenshot.
    • Create a restore point before proceeding
  • Fix error 12 by disabling PCI-to-PCI bridge devices
    • This is suggestion number 5 here
    • In device manager, sort devices by connection.
    • Find the top PCI-to-PCI bridge above the eGPU device.
    • There is a single PCI-to-PCI bridge device that needs to be disabled, see the attached screenshot:
    • screenshot disabled device

    • Disable this device.
  • Reboot, verify error 12 is gone 
    • All devices should be working correctly.
    • Only disabled bridge device should be "not working".
    • If error 12 is not gone, try disabling other PCI-to-PCI bridge devices with no children.
  • And thats it!
  • (Optional) Use clover to avoid test signing mode
    • This will need to be done if you want to play games with strict anti-cheat software (PUBG). 
    • Follow the guide on the DSDT guide
    • The config.plist the clover installer gave me caused macOS to freeze on boot. I could still boot by holding down the option key and selecting macOS (bypassing clover).
    • Renaming the config.plist (to config.plist.bak) allowed macOS to boot via clover (with no config).
    • I then generated a new config when booted into macOS via clover:
      • Make sure purge-nvda is DISABLED before creating a new clover config. If you do not, disabling purge-nvda can cause clover to not boot.
      • Command: /usr/local/bin/clover-genconfig > config.plist
      • Mentioned here: https://clover-wiki.zetam.org/configuration
    • I can boot into Windows 10 and macOS via clover with no issues.

 


Benchmarks 
(Include a CUDA-Z or AIDA64 bandwidth pic. Optional: Valley, 3dmark, noting if it's on internal/external LCD )

I am only using an external display, I have not tried using the internal display with the eGPU.

Geekbench Windows 10:
Score: 119267

Geekbench macOS:
Score: 106057

Aida64:

screenshot aida64

I can run some more benchmarks if requested.

 


Comments 
(eg: how has the eGPU improved your workflow or gaming?)


End Result:

  • Everything works, all devices, including built in audio and discrete graphics.
  • Both display adapters are enabled
    • screenshot active adapters

  • It doesn’t matter if the discrete card gets re-enabled in macOS with purge-nvda uninstall, as windows can handle it as it is not disabled.
  • Personal reaction
    • This setup is awesome!!!!!
    • I am actually surprised at how fast this system is. I have no need to buy a desktop for gaming now. Equivalent performance to new systems using a 6 year old laptop.
  • Windows gaming
    • I took off the eGPU case for windows gaming due to heat. The primary fan speed is the same as in macOS (And does increase when the eGPU is under load) but the smaller secondary fans are turned off in windows. The heat can make the case pretty warm, so taking the case off seems to make the heat disperse faster.

 

Things that don’t work:

  • Windows 10
    • The USB hub on eGPU enclosure (But they do in macOS).
    • The Lights on eGPU enclosure (But they do in macOS).
    • The secondary fans on the eGPU enclosure do not work in Windows (but do in macOS).
    • The Aorus control panel software doesn’t work in windows (and therefore at all, as there is no macOS version). This means that there is no way to control the fan speed or the LED color. It was mentioned in a post somewhere on this forum that it will only work on a Thunderbolt 3 machine.
    • Brightness control on internal LCD.
    • Most other bootcamp guides seem to mention these issues with the Aorus enclosures.
  • macOS
    • Brightness control on internal LCD when purge-nvda is active.
    • Sleep when closing lid when purge-nvda is active.
    • Can uninstall purge-nvda when unplugging laptop to restore this functionality when on the go.
    • I am hoping future versions of macOS will remove the need for purge-nvda.
      • This will make usability a lot nicer if this is not needed.

 

Things I am not doing:

  • Installing the Intel display driver
  • Installing thunderbolt drivers
    • During experimentation, installing these made my windows install freeze on boot. They weren’t needed in the end.
  • Using apple_set_os.efi
  • Using rEFInd with OS spoofing
  • Using a regular bootcamp install
    • On this model macbook pro, a regular bootcamp install uses MBR.
    • Egpu starts up on boot, but when booting from windows, screen stays blank, no cursor appears.
    • Egpu disconnected, cursor appears and boots fine, but re-attaching port never starts egpu.
    • So cant use eGPU DIY Setup 1.35
    • Couldn’t get past this.
  • Leaving the discrete card disabled
    • Disabling the discrete card can result in a freeze on boot for windows if the discrete card gets set for use on boot by OSX.
    • The discrete card can be left enabled and everything works.
  • Using automate-egpu -a
    • This wasn’t used even though lots of guides mention this.


A massive thank you to all the people who contributed to the information on this forum. I am very happy with the result.

 

Edited: 2 months  ago

Guides:
Mid 2012 15" MBP GT650M Non Retina + RX580@10Gbps-TB1 (Gigabyte Gaming Box via TB3->TB2 adapter) + macOS 10.13.4 / Win10


Neo302, PsyPryss, Zetthard and 3 people liked
ReplyQuote
Wesley
(@wesley)
Active Member
Joined:2 months  ago
Posts: 18
May 4, 2018 11:01 pm  

I also have this gaming box and noticed the PSU fan does not spin down when the computer is off. Only when there is nothing connected to the enclosure's TB port, it is off. Can you confirm?

Do you ever work in clamshell mode for OSX with this setup? I cannot get Valley and Heaven benchmark to work after pressing Run. The app goes unresponsive in clamshell mode.

Late 2011 15" MBP - Gigabyte RX 580 Gaming Box - 10.13.4


ReplyQuote
clarketus
(@clarketus)
Active Member
Joined:3 months  ago
Posts: 9
May 8, 2018 2:06 am  

I just checked, and the PSU fan does not turn off unless I remove the thunderbolt adapter from the port on the enclosure. So it's the same as what you said. But I honestly did not notice this until you pointed it out as the PSU fan is so quiet.

Regarding clamshell mode, this does not work for me at all. I believe its a limitation of purge-nvda that clamshell does not work properly (or sleeping when closing the lid). I have to use purge-nvda due to having an Nvidia dGPU. Hopefully newer versions of macOS remove the need to use this script.

Your laptop has an AMD Radeon dGPU, which is why clamshell works. But I cant help you with any questions regarding that sorry.

Edited: 1 month  ago

Guides:
Mid 2012 15" MBP GT650M Non Retina + RX580@10Gbps-TB1 (Gigabyte Gaming Box via TB3->TB2 adapter) + macOS 10.13.4 / Win10


Wesley liked
ReplyQuote
PsyPryss
(@psypryss)
Eminent Member
Joined:6 months  ago
Posts: 43
May 23, 2018 4:03 am  

Thanks for the amazing guide! I finally got Win10 working thanks to your guide. I got stuck at Error 35 and couldn’t find ppl with similar error. Thanks! Even sound works! Thanks so much!

Mid 2012 15" (Non-Retina) MPB GT650M + RX580 (AKiTio Node via TB3 -> TB2/TB1 Adaptor) macOS 10.13.4/Win10


ReplyQuote
anse
 anse
(@anse)
New Member
Joined:2 months  ago
Posts: 3
May 25, 2018 3:33 pm  

Thank you man, so much! I finally got it working on Windows. My setup is the same, except of Mantiz Venus(also no hdd, no usb ports, no ethernet working under Win) and 1080Ti. The only difference from the guide that I didn't have to cure it from Error 12 and disable PCI-to-PCI bridge.  

Great guide!

Macbook Pro 15"(non Retina, mid2012) + Mantiz Venus + NVIDIA 1080Ti + MacOS 10.13.4/Windows 10


ReplyQuote