Mid 2015 15-inch MacBook Pro eGPU Master Thread
 
Notifications
Clear all

Mid 2015 15-inch MacBook Pro eGPU Master Thread  

 of  13
  RSS

goalque
(@goalque)
Noble Member Admin
Joined: 5 years ago
 

Has anyone tried enabling the iGPU of 2016-2019 MBPs by using this new method and my recent change in loading apple_set_os.efi?

https://egpu.io/forums/pc-setup/how-to-keep-mbps-irisiris-pro-activated-when-booting-into-windows-boot-camp/paged/9/#post-74286

[Please login to see this]

This thread is not just about the ADT-Link R43SG, it is more about how to enable the iGPU and solve error code 12 if you using a TB3 enclosure.

automate-eGPU EFIapple_set_os.efi

Mid 2015 15-inch MacBook Pro eGPU Master Thread

 
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]  


itsage liked
ReplyQuote
itsage
(@itsage)
Founder Admin
Joined: 5 years ago
 

@goalque,  I tried the new method with the revised apple_set_os.efi on my 2017 13-in MacBook Pro. It worked well with Win10 1903 (OS Build 18363.657). Do I need to create a startup.nsh if I was to try it on 2018 Mac mini and 2019 13-in MacBook Pro? Thank you!

LinkedIn | Twitter | Facebook | Youtube | Instagram
 
external graphics card builds
best laptops for external GPU
eGPU enclosure buyer's guide

 
2021 13" ASUS ROG Flow X13 (RTX3050Ti) [R5K,8C,H] + RTX 3080 @ 64Gbps-XG (XG Mobile) + Win10 20H2 [build link]  


goalque liked
ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 5 years ago
 

The best thing in using startup.nsh is its configurability. You can choose whether or not to load apple_set_os.efi, resize PCIe root bridge windows (the most difficult part and machine specific), change the gmux state by 6 mm commands and/or power off the dGPU (the last 4 mm commands). If you decide to switch off the dGPU, the screen goes black but the iGPU takes over and Windows login screen should appear in a few seconds, or in about half a minute if you are booting from an USB drive.

I am not sure if apple_set_os.efi can be used with Mac minis, iMacs or the nMP. You can always put a # character in front of the line you don't want to run. The above code block worked with my 2018 13" MBP so it should work with the 2019 13" MBP as well.

Feel free to ask more if some points are unclear.

For example: stall 1000000 waits for a second and reset -w makes a warm restart if apple_set_os.efi does not load successfully.

automate-eGPU EFIapple_set_os.efi

Mid 2015 15-inch MacBook Pro eGPU Master Thread

 
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]  


itsage liked
ReplyQuote
itsage
(@itsage)
Founder Admin
Joined: 5 years ago
 

@goalque,  I tried this new solution on 2019 13-in MacBook Pro last night. The revised apple_set_os.efi works very well in keeping the iGPU activated during boot. However the laptop struggles with Thunderbolt device detection once Windows fully loads. Hot-plug would detect the Thunderbolt device but causes error 12. This could be due to the latest Windows 10 version 2004 I'm running on this laptop. I created startup.nsh using a text editor and paste the code you provided in #post-74447.

 

LinkedIn | Twitter | Facebook | Youtube | Instagram
 
external graphics card builds
best laptops for external GPU
eGPU enclosure buyer's guide

 
2021 13" ASUS ROG Flow X13 (RTX3050Ti) [R5K,8C,H] + RTX 3080 @ 64Gbps-XG (XG Mobile) + Win10 20H2 [build link]  


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 5 years ago
 

@itsage That's the only purpose of the apple_set_os.efi - to keep iGPU enabled.

It took a couple of days to figure out workable mm commands for the Radeon VII with the 2015 15" MBP (M370X). Ideally, the adjusted memory regions would allow hot plugging too as Windows enumerates with values it gets from the EFI. The problem is that deep hierarchy of bridges with Thunderbolt connection. Most of the bridges have no initial address value so Windows is clueless what to do with them.

You can edit the startup.nsh easily with the built-in ASCII editor in EFI Shell. Change to correct directory and type: edit startup.nsh.

You are correct, the Windows version does matter, how it enumerates. That algorithm is a mystery.

automate-eGPU EFIapple_set_os.efi

Mid 2015 15-inch MacBook Pro eGPU Master Thread

 
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]  


itsage liked
ReplyQuote
itsage
(@itsage)
Founder Admin
Joined: 5 years ago
 

@goalque,  I will try pci.sys replacement next (using one from Win10 1903 V1 ISO) and see if either Thunderbolt detection or hot-plug would improve.

This new solution is certainly more flexible but I'm afraid it's too technical. Your automate-eGPU EFI is more friendly for beginners. Is there a chance you can revise it to auto-reset when apple_set_os.efi is not active?

 

LinkedIn | Twitter | Facebook | Youtube | Instagram
 
external graphics card builds
best laptops for external GPU
eGPU enclosure buyer's guide

 
2021 13" ASUS ROG Flow X13 (RTX3050Ti) [R5K,8C,H] + RTX 3080 @ 64Gbps-XG (XG Mobile) + Win10 20H2 [build link]  


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 5 years ago
 

Yep, you need a hex calculator and lots of patience if you want to apply this method with other Macs.

The automate-eGPU EFI does provide an easy DSDT override mechanism, thanks to Clover. However, the code is not pretty to look at. I can look if I find time...

automate-eGPU EFIapple_set_os.efi

Mid 2015 15-inch MacBook Pro eGPU Master Thread

 
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]  


itsage liked
ReplyQuote
orchoidizer
(@orchoidizer)
Active Member
Joined: 2 years ago
 

So the only way I can get my Razer Core X / Vega 64 to load is by going through the whole Enable / Disable PCIE Ports procedure but I need to go through it numerous times and it's a bit hit and miss. Is this usual?
Would somebody be kind enough put up a screenshot of the ports to you need to target and the correct order in which to hit them.
I'm pretty sure I'm doing something wrong.

I was also wondering, does this procedure need to be done with each boot? Is there not some kind of script so the system 'remembers' how to allocate the devices once and for all?

Thanks in advance for any assistance.

Mid 2015 15-inch MacBook Pro Retina (2.2GHz Intel quad Core i7)
Intel Iris Pro Graphics. Thunderbolt 2, High Sierra - Bootcamp Win10 1903 (18362.39)
Razer Core X - Vega 64, Apple TB3 to TB2 Adapter ,- 2m TB2 cable


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 5 years ago
 

@orchoidizer It's not a hit and miss with Radeon VII. The screenshot is shown above (left top TB2 port), all the ports enabled.

This script is not tested with the Vega 64.

EDIT: I cancel my words. Something has changed while I tested the Samsung Portable SSD T5 on the other MBP. The Radeon VII shuts down during the boot into Windows and the start address of the PCIe root brige that I jotted down is now different. Disabling and enabling the root bridge does not seem to help. I am still on 18363.592.

automate-eGPU EFIapple_set_os.efi

Mid 2015 15-inch MacBook Pro eGPU Master Thread

 
2018 13" MacBook Pro [8th,4C,U] + Radeon VII @ 32Gbps-TB3 (ASUS XG Station Pro) + Win10 1809 [build link]  


ReplyQuote
syphus
(@syphus)
Active Member
Joined: 5 years ago
 

I had this setup working fine (except I am using a 5700xt).

I was forced to reinstall my windows after an update stopped it working. I installed the 1809 (I think) version, didn’t do much to make it work.

 

Have been gaming on it for weeks now but tonight something has mysteriously made it code 12 again. I should mentioned that my Windows doesn’t update anything as I change what was necessary in the reg to make it not.

 

Any ideas on what made it stop working? 

 

And also, more related to this tread, any simpler ways to get this setup to work?

MacBook Pro 15" Mid 2015 Razer Core + 5700XT on macOS 10.15.3 + Win10


ReplyQuote
 of  13