[GUIDE] keeping iGPU activated when booting into Windows using apple_set_os.efi  

Page 2 / 7 Prev Next
  RSS

goalque
(@goalque)
Noble Member Admin
Joined: 2 years  ago
Posts: 1298
April 21, 2017 4:11 pm  

@Axam: Did you run gpu-switch integrated.bat prior to executing apple_set_os.efi? This is a necessary step with the dGPU equipped MBP. Otherwise, your boot will hang 100%.

 

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
Eason85
(@eason85)
Eminent Member
Joined: 2 years  ago
Posts: 21
April 22, 2017 12:39 am  
Posted by: goalque

 

@Eason85: No problem. apple_set_os.efi is not a script - it is an UEFI binary that calls Apple’s proprietary interface in the firmware, much lower level than OS.

   

So it is selected as a boot disk when starting up, thus the need for USB?


ReplyQuote
Axam
 Axam
(@axam)
Active Member
Joined: 2 years  ago
Posts: 17
April 22, 2017 5:26 am  
Posted by: goalque

 

@Axam: Did you run gpu-switch integrated.bat prior to executing apple_set_os.efi? This is a necessary step with the dGPU equipped MBP. Otherwise, your boot will hang 100%.

 

   

No, I didn't run gpu-switch.

Should I run integrated.bat from safe mode wit pre-loaded apple_set_os.efi or normal boot without apple_set_os.efi?

Also, should I run dedicated.bat before booting to MacOS?


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years  ago
Posts: 1298

ReplyQuote
khaaamy
(@khaaamy)
New Member
Joined: 2 years  ago
Posts: 2
April 28, 2017 12:55 am  

@goalque,

Not sure if this is the right thread but hoping you can help. I have a Macbook Pro 8,2 running 10.12.4/Windows 8.1 in UEFI mode. I'm trying to get the intel hd 3000 graphics driver installed in Windows without it crashing.

So far, I have refind set up with apple_set_os.efi, but when I try to boot from it (after running ./gpu-switch -i from mac os), I get this error:

Could not locate the apple set os protocol.
Error: Not found

When I try to boot Windows directly, it hangs and then restarts, presumably since I disabled the radeon gpu. 

Any ideas? Thanks!


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years  ago
Posts: 1298
April 28, 2017 4:04 pm  
Posted by: goalque

 

Starting from macOS 10.12.4 (or if you have done macOS 10.12.3 reinstallation), Apple’s MBP firmwares are not compatible with 0xbb’s apple_set_os.efi due to a different version number. I compiled a new efi that should work after 10.12.4 upgrade

rEFInd's implementation doesn't work either.  If you’re already using my compiled EFI, and still the same, your MBP firmware is too old and does not support that UEFI protocol.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
khaaamy
(@khaaamy)
New Member
Joined: 2 years  ago
Posts: 2
April 28, 2017 5:30 pm  
Posted by: goalque

 rEFInd's implementation doesn't work either.  If you’re already using my compiled EFI, and still the same, your MBP firmware is too old and does not support that UEFI protocol.

   

Ah, bummer. I was trying it by selecting the compiled EFI from within rEFInd, I'll try one last time w/o rEFInd and just blessing your EFI directly, but sounds like I'm SOL.

Thanks for your help!


ReplyQuote
nando4
(@nando4)
Noble Member Admin
Joined: 2 years  ago
Posts: 1806
April 30, 2017 1:34 am  
Posted by: Eason85

 

I last saw in 2013 that using the integrated graphics was causing 10-20% idle CPU usage. Can anyone confirm if this is fixed yet?

   

Have seen this still being reported on MBPs. Sleep-resume is one fix. Another is to disable/re-enable the iGPU in Device Manager. A better way of doing the iGPU disable/enable is by using devcon as a startup script like the audio fix at https://egpu.io/forums/builds/2016-macbook-13-tb-akitio-thunder3-evga-gtx-1060-6gb/#post-2614

eGPU Setup 1.35    •    eGPU Port Bandwidth Reference Table    •    Several builds
2015 15" Dell Precision 7510 M1000M + macOS 10.14 & Win10


ReplyQuote
Anima
(@anima)
Active Member
Joined: 2 years  ago
Posts: 15
April 30, 2017 1:30 pm  

Works on Windows 10 Version 1607 (OS Build 14393.1066) with a mid-2015 15″ Macbook Pro M370X + EVGA 980TI + Node

Prior to installing the Intel Iris Pro 5200 drivers, I uninstalled the AMD drivers with DDU. When the iGPU is loaded with gpu-switch the dGPU gets Code 31. No need to disable the PCIe 16x bridge as ryokun6 mentioned.

 

 


ReplyQuote
nando4
(@nando4)
Noble Member Admin
Joined: 2 years  ago
Posts: 1806
April 30, 2017 1:40 pm  

This important thread has undergone these updates:

- opening post reformatted and content updated for easy implementation

- details about 10.12.4 code changes included. Now redundant posts asking for that have been removed

- two sub-topics (@enjoy/@Menneisyys discussion with @goalque) have had posts concatted into one long post each

eGPU Setup 1.35    •    eGPU Port Bandwidth Reference Table    •    Several builds
2015 15" Dell Precision 7510 M1000M + macOS 10.14 & Win10


goalque and theitsage liked
ReplyQuote
edwardsean
(@edwardsean)
Trusted Member
Joined: 2 years  ago
Posts: 53
May 9, 2017 4:00 am  
[edit] I finally got this to work on my system: 2016 MacBook Pro Touchbar/RP460. However, when I disable the PCIE port above the Radeon GPU my screen instantly goes blue and Windows crashes- restarts. This happens though I'm sure I'm using the Intel GPU, the Radeon GPU shows error 31, and even is manually disabled. When I restart my system with eGPU plugged in  after Windows logo it works without error12. 

I go back and forth constantly between Mac and Win though so I have to keep enabling and disabling the Radeon GPU. Is there something I need to do so my system doesn't crash each time I disable it? 

 


goalque liked
ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years  ago
Posts: 1298
May 10, 2017 8:54 pm  

 @edwardsean: you should disable/enable the parent PCIe downstream port of the eGPU, not dGPU. The dGPU can be completely disabled. Mac firmware defaults to dGPU, so you have to use gpu-switch integrated.bat if the dGPU activates again.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
subi57
(@subi57)
New Member
Joined: 2 years  ago
Posts: 3
May 10, 2017 9:04 pm  

hello guys!

maybe someone can help me!

I expirience a strange issue with my macbook pro 2015

seems yesterday my display doesn't show any picture when the egpu is working, just black screen on the internel display.

 

the display is definitely working but no picture. no blacklight issue!

 in preferences/monitor, only the monitor is showing up! but not the display, there is nothing to change

when i start the macbook everything disconnected from the macbook after the bootlogo black screen, the apple logo on other side is not lightning.

in windows bootcamp!   internal display is working normally , also the egpu with external monitor is working normally.

if i start the macbook in OS X with HDMI, external monitor  and internal display working again  normally.

the macbook display just working normally if HDMI is connected, as i see, with the egpu , only external monitor in OSX

in recovery mode, display working normally.

 

after all, i erease the main HDD also bootcamp partition and did  clean install, of OSX! after installation ,  bootlogo black screen, the  front apple logo is no longer  shinin as before the clean installation.

i restart the macbook with HDMI again, display and monitor r working normally in osx.

i install bootcamp again with clean windows, instal all drivers, egpu and display working perfekt in windows as befor

 

this is strange totaly, somebody have any idea wath problem i have,

Please write me, Thank u 

 

 

 

 


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years  ago
Posts: 1298

ReplyQuote
xenoshroud
(@xenoshroud)
Active Member
Joined: 2 years  ago
Posts: 16
May 10, 2017 10:28 pm  
Posted by: goalque

 

Yes, it is possible. Either by loading \EFI\Microsoft\Boot\bootmgfw.efi

or \EFI\Boot\bootx64.efi as described here.

and combine commands into EFI script.

Here is a good starting point:

https://software.intel.com/en-us/articles/efi-shells-and-scripting

 

   

@goalque - I am trying to figure out whether or not there is a way to modify the bootmgfw.efi file to include the apple_set_os.efi coding so that way i could rid myself of having a usb stick hooked up to my macbook on windows boot.

Alternatively, can one simply add a small partition on the internal hard drive following the instructions laid out in this thread as a workaround to produce the same result?

Chainloading to avoid reselecting the startup disk doesnt seem like its an easy task for a mere novice like myself.

AKiTiO Node + ASUS GTX 1070 Turbo 8GB (macOS High Sierra 10.13 and Windows 10)
MacBook Pro (Retina, 13-inch, Mid-2014) 3.0GHz Dual Core Intel i7-4578U / 16 GB 1600 MHz DDR3 / 512GB SSD


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years  ago
Posts: 1298
May 10, 2017 11:07 pm  

You can't modify bootmgfw.efi. If the EFI Shell is too limited, you can try boot loaders such as rEFInd or GRUB2 to chain load apple_set_os.efi. rEFInd has it built in.

My automate-eGPU EFI allows external EFI executables but it is a closed source project and I don't have time for further development.

I encourage people to learn as well. Programming is fun - for me over 20 years 🙂

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
nando4
(@nando4)
Noble Member Admin
Joined: 2 years  ago
Posts: 1806
May 10, 2017 11:19 pm  

xenoshroud, 0xbb's github homepage explains how to chainload apple_set_os.efi.  If you have rEFInd installed then it's just a matter of copying apple_set_os.efi to the EFI (ESP) partition:

Usage:

Copy the apple_set_os.efi binary (download it from releases) to EFI System Partition (ESP) :

mkdir /boot/efi/EFI/custom
cp apple_set_os.efi /boot/efi/EFI/custom

rEFInd should automatically show a new icon for apple_set_os.efi.

eGPU Setup 1.35    •    eGPU Port Bandwidth Reference Table    •    Several builds
2015 15" Dell Precision 7510 M1000M + macOS 10.14 & Win10


goalque liked
ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years  ago
Posts: 1298
May 10, 2017 11:38 pm  

@Nando: we can also contact the creator of rEFInd, inform about new Mac firmwares so that spoof_osx_version starts working again, and advice him to update links pointing to egpu.io instead of TI?

http://www.rodsbooks.com/refind/configfile.html

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


nando4 liked
ReplyQuote
nando4
(@nando4)
Noble Member Admin
Joined: 2 years  ago
Posts: 1806
May 10, 2017 11:47 pm  

@goalque , good point. I've just emailed Roderick, the rEFInd creator, asking for spoof_osx code to be updated with your fix.  The first post and 0xbb's apple_set_os V1 code was linked for reference.

eGPU Setup 1.35    •    eGPU Port Bandwidth Reference Table    •    Several builds
2015 15" Dell Precision 7510 M1000M + macOS 10.14 & Win10


goalque liked
ReplyQuote
Fred.
(@fred)
Trusted Member
Joined: 2 years  ago
Posts: 51
May 11, 2017 1:44 pm  

How do I check if it's UEFI compatible?
Is the Macbook Air 11" Mid 2012 (A1465) UEFI compatible?

I don't think it is... Then there is no solution?
There is no UEFI information under system information.

Windows 10 via bootcamp. 
Version 1703 Build 15063.138

mid-2012 11" Macbook Air + [email protected] (AKiTiO Node via TB3 to TB2 adapter) + Win10


ReplyQuote
greg
 greg
(@greg)
Active Member
Joined: 2 years  ago
Posts: 10
May 11, 2017 2:27 pm  

apple_set_os.efi saved me! Without it (and connected eGPU), windows 10 bootcamp just crashes during start up. It's pretty cumbersome though. I know this has been discussed but I don't really get it as a novice. So here are my questions:

- Is there a way to avoid selecting "BOOTCAMP Windows" as the start up disk? I would refer use my Mac HD as the default start up disk and never change that.

- Is there a way to avoid the usb stick? The last posts discuss that issue but I don't really understand what's going on. If there is a solution, step-by-step instruction would be awesome.

 

2016 13'' Macbook Pro with touchbar.


ReplyQuote
xenoshroud
(@xenoshroud)
Active Member
Joined: 2 years  ago
Posts: 16
May 11, 2017 2:56 pm  
Posted by: nando4

 

xenoshroud, 0xbb's github homepage explains how to chainload apple_set_os.efi.  If you have rEFInd installed then it's just a matter of copying apple_set_os.efi to the EFI (ESP) partition:

Usage:

Copy the apple_set_os.efi binary (download it from releases) to EFI System Partition (ESP) :

mkdir /boot/efi/EFI/custom
cp apple_set_os.efi /boot/efi/EFI/custom

rEFInd should automatically show a new icon for apple_set_os.efi.

   

THANK YOU!!! I am definitely going to try this out with rEFInd tonight. Hopefully it all goes well.

EDIT: It works!!! 

Note that when I select the boot entry for apple_set_os.efi, my macbook's internal display flickers, and the rEFInd boot menu comes back. I then selected Windows and booted with both the iGPU and the eGPU. 

AKiTiO Node + ASUS GTX 1070 Turbo 8GB (macOS High Sierra 10.13 and Windows 10)
MacBook Pro (Retina, 13-inch, Mid-2014) 3.0GHz Dual Core Intel i7-4578U / 16 GB 1600 MHz DDR3 / 512GB SSD


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years  ago
Posts: 1298
May 11, 2017 4:50 pm  

@Fred: MacBookAir5 is on the list of "PreUEFIModels". I think Nando's software supports older MBR installations. However, please still try as we're not sure whether some pre-UEFI models have the necessary protocol in the firmware (supposedly not).

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
Fred.
(@fred)
Trusted Member
Joined: 2 years  ago
Posts: 51
May 11, 2017 6:20 pm  
Posted by: goalque

 

@Fred: MacBookAir5 is on the list of "PreUEFIModels". I think Nando's software supports older MBR installations. However, please still try as we're not sure whether some pre-UEFI models have the necessary protocol in the firmware (supposedly not).

   

I just tried it.
My Macbook instantly freezes when I try to boot from the from the UEFI boot disk.
Let's see if I can find Nando his software.

mid-2012 11" Macbook Air + [email protected] (AKiTiO Node via TB3 to TB2 adapter) + Win10


goalque liked
ReplyQuote
edwardsean
(@edwardsean)
Trusted Member
Joined: 2 years  ago
Posts: 53
May 12, 2017 5:37 am  

Hi, I know this is basic, but I can't figure out how to copy the apple_set_os.efi to the right directory. I've installed reFind and it works. Then, I'm using these commands: mkdir /boot/efi/EFI/custom

cp apple_set_os.efi /boot/efi/EFI/custom

However, when I copy these commands into Win10 command prompt(admin) it says the syntax is not correct. When I type them into terminal in Mac OS it says there is no such file or directory. 

Where do I type in these commands, so they are recognized? Also, where do I put the downloaded apple_set_os.efi file so that the commands can locate it to copy? 

Thanks!


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years  ago
Posts: 1298

ReplyQuote
edwardsean
(@edwardsean)
Trusted Member
Joined: 2 years  ago
Posts: 53
May 12, 2017 8:21 am  

Thanks Goalque. 

[edit] I was able to figure it out, I think. But, as soon as it worked I disabled the dGPU. I went to Mac and when I went back to Windows, the screen stalls on the Win logo. Windows continues to load successfully, but the screen just stays on the logo without functioning. 

I need to be able to switch to the iGPU but I can't see anything to do it.

How do I get around this? 


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years  ago
Posts: 1298
May 12, 2017 9:43 am  

apple_set_os.efi doesn't chain load Windows. There's an icon to boot into Windows, and gpu-switch is the only tool on the OS side to force iGPU.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
edwardsean
(@edwardsean)
Trusted Member
Joined: 2 years  ago
Posts: 53
May 12, 2017 11:18 am  

I'm not sure I understand. In that case how can the dGPU be left permanently disabled? When you go back to Mac and then back to Win the PC will be switched to the dGPU which has been disabled. So the screen won't function before you can switch to the iGPU and you will be stuck as I am without being able to see anything. 

It seems to me that you have to reenable the dGPU before you make the roundtrip from Mac back to Windows. Is this right?

Alternatively, I'm thinking of assigning a keyboard shortcut so I can activate the integrated bat without a screen, and then restart. 


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years  ago
Posts: 1298
May 12, 2017 11:46 am  

The dGPU can be left permanently disabled if you execute integrated.bat each time after Windows has loaded, shut down, re-run apple_set_os.efi, and chain load Windows boot.efi (rEFInd's icon for example, or manually from the UEFI Shell). If you boot into macOS, I guess the dGPU activates again. Integrated.bat is more reliable method than setting the value from macOS.

In order to automate this process, deeper knowledge how a gmux device works and EFI programming skills is required. gpu-switch can be used only from the operating system side, not in EFI environment.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


celeri liked
ReplyQuote
edwardsean
(@edwardsean)
Trusted Member
Joined: 2 years  ago
Posts: 53
May 12, 2017 6:45 pm  

Hi Goalque. The issue I'm having is that when I go to MacOS, the system switches to the dGPU. The dGPU is enabled in MacOS, so it works, but it remains disabled in Win10 and does not get automatically reactivated. So, booting back up in Windows goes to a screen set to the disabled dGPU. This of course doesn't work. 

I'm wondering how others are getting around this problem, or if they reenable the dGPU each time before heading to MacOS, which is what I was doing previously.


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years  ago
Posts: 1298
May 12, 2017 7:52 pm  

Disabling the dGPU on Windows has nothing to do with how the firmware controls the iGPU/dGPU. If the dGPU wants to be activated, it does so and you cannot determine its status from the Windows device manager. Operating system and the EFI are two separate worlds.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
edwardsean
(@edwardsean)
Trusted Member
Joined: 2 years  ago
Posts: 53
May 12, 2017 8:27 pm  

Thanks Goalque, that's helpful to know. I think that the "two separate worlds" is the problem I'm having. The firmware activates the dGPU so it functions on MacOS irregardless of its disabled status in Windows. When I switch back to Windows, the screen is still active during boot up in the firmware. The issue is that, as soon as it enters Windows OS, the screen no longer functions because the dGPU remains disabled in the OS device manager. I think this is what you meant by the separation of EFI and OS. 

Otherwise, if you meant that the firmware controls the dGPU so that it typically overrides the device manager even in the OS, in my system the dGPU is not being re-activated by the firmware within WinOS. 


ReplyQuote
goalque
(@goalque)
Noble Member Admin
Joined: 2 years  ago
Posts: 1298
May 12, 2017 9:20 pm  

Yep, it's either dGPU or iGPU that gives the light and pixels. The macOS is able to dynamically change which one is wired to the internal LCD as "automatic graphics switching" is turned on under energy saver settings. You can see the active GPU under Graphics/Displays (hit Cmd + R to refresh the view).

This is not possible on Windows, so the firmware defaults to use dGPU (in EFI). Of course both iGPU and dGPU can be "active" under device manager if the Windows can allocate resources for both. apple_set_os.efi's purpose is just to bring the iGPU back to life (in EFI world) when booting into other operating systems, and it may help with system resource allocation as the iGPU becomes primary.

automate-eGPU EFIapple_set_os.efi
--
late-2016 13" Macbook Pro nTB + [email protected] (Netstor HL23T) + macOS & Win10
late-2016 13" Macbook Pro nTB + GTX980/[email protected] (Netstor HL23T) + macOS10.13 & Win10


ReplyQuote
edwardsean
(@edwardsean)
Trusted Member
Joined: 2 years  ago
Posts: 53
May 12, 2017 9:25 pm  

Thanks for clearing that up Goalque. Honestly, don't know what we'd all do without the generosity of people like you, Nando, Enjoy. 

For me, I'd be stumbling around in the dark without "light and pixels." 


goalque liked
ReplyQuote
howardthepilot
(@howardthepilot)
Active Member
Joined: 2 years  ago
Posts: 7
May 16, 2017 2:18 pm  

Hi all,

I'm having a problem here. After going through the steps, I can't boot into bootcamp after applying the apple_set_os.efi under reFind. It always stucks in a blue screen, however, booting into safe mode in windows is possible and it do shows two gpu under the device manager. Any one knows what's going wrong? By the way I'm using Macbook Pro Retina 15' mid 2015 with an amd dGPU. Sorry for my poor English.


ReplyQuote
Page 2 / 7 Prev Next