Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Bmju

macrumors 6502a
Dec 16, 2013
702
767
This may have legs as the reason a driver will only load on UEFI-PC is typically because it checks whether the device is UEFI 2.x compliant before proceeding with installation. This check fails on Legacy Apple as it tells the truth about not being UEFI 2.x on such checks.

If that is the case, as both OC and RP can get Legacy Apple to lie about spoof UEFI 2.x support, it is possible to fool such drivers into installing there as well. The spoof is enough to get many of them working as they actually do not need anything specific to UEFI 2.x that is absent on the Apple unit and only run the check because the specs say they have to.

It does need checking the source to see whether it actually calls either one of BootServices->CreateEventEx or RuntimeServices->QueryVariableInfo in particular.

Current State of Those on UEFI 2.x Spoof:
  1. OpenCore
    • CreateEventEx
      • Spoofed (Needs Confirming)
      • Call to this is likely to hang
    • QueryVariableInfo
      • Not available
      • Call to this will definitely hang
  2. RefindPlus
    • CreateEventEx
      • Full Emulation but not tested in anger
      • Call to this should work
      • Needs testing
    • QueryVariableInfo
      • Partial Emulation (unreleased code)
      • Call to this returns EFI_NOT_SUPPORTED
      • Does not work but does not hang and returns a proper error response
      • Not sure what the driver will do if it needs this and is told it is not supported ... needs checking
Best situation will be that the driver fails to install on Apple just because of UEFI 2.x checks and that it only checks because this is mandated and it does not actually need the missing items.

OpenCore needs the QueryVariableInfo handling update for ForgeUEFI to avoid hanging by returning a proper error at some point. High chance NVRAM emu driver might be calling this. Available in the interim when loaded via RefindPlus
Thanks for the brain dump of some extra info! I haven't had a chance to compile a test version of the driver and see if I can find out where it hangs and why.
 
  • Like
Reactions: Dayo

osxfr33k

macrumors regular
Jun 26, 2019
164
21
Well after all the going back and forth with my MacPro5,1 realizing the HD booted MacOS either Mojave or Catalina does not cooperate well with a MAcOS SSD I kept getting messages of incompatibility thinking it was just the MacOS on the HD drive. I sorted that out now I have Catalina on SSD with Dosdude patcher and no Opencore in the EFI. On the other SSD I have Monterey with Refind chainloading OCLP. I was able to bless the Monterey EFI partition from the Catalina drive no issues. The boot sequence goes well Refind screen is there and it starts up Monterey but then the Kernel boot sequence stops at the last EB pre kernel message and never continues booting the kernel. If I hold down the option key during boot then choose EFI then Monterey the booting sequence is perfect boots right into Monterey. I have logs I can share but from what I see I don't see any error in them. Is it possible OCLP isn't no playing well with Refind? I have zipped up 3 logs. This is not the DBG version running for refind but rather the release version. Thanks for all the help and sorry about all the PM's I know it was too many, just couldn't get past the one drive recognizing the other and both drives were formatted correctly as APFS.
 

Attachments

  • Logs.zip
    14.1 KB · Views: 92

Dayo

macrumors 68020
Original poster
Dec 21, 2018
2,257
1,279
I always get the question about whether OpenCore is not working because of the fact that it is chain-loaded and I suppose I need to add something to Post 1 so I can just point people to this.

Short answer is that what happens in OpenCore basically has nothing to do with it being loaded by RefindPlus and anyone can check this by simply blessing OpenCore itself and letting the firmware load it instead of RefindPlus.
 
Last edited:
  • Like
Reactions: osxfr33k

Dayo

macrumors 68020
Original poster
Dec 21, 2018
2,257
1,279
Anyone can check this by simply blessing OpenCore itself and letting the firmware load it instead of RefindPlus.
Seems you suggest you have basically done this and it works but it doesn't from RefindPlus.

That is definitely strange. Unfortunately, I can't look at this. AFAIK, there should be no difference.

You can PM Macschrauber who runs multiple OCLP via RefindPlus for advice.
 
  • Like
Reactions: osxfr33k

osxfr33k

macrumors regular
Jun 26, 2019
164
21
Seems you suggest you have basically done this and it works but it doesn't from RefindPlus.

That is definitely strange. Unfortunately, I can't look at this. AFAIK, there should be no difference.

You can PM Macschrauber who runs multiple OCLP via RefindPlus for advice.
I may have worded that wrong Opencore does load from refindplus it’s the pre kernel boot that gets stuck and never continues loading the kernel when chainloading.

I’ll see if Macschrauber is loading Monterey. Thanks.
 

Dayo

macrumors 68020
Original poster
Dec 21, 2018
2,257
1,279
BTW, since you seem to have a GPU that can show the bootscreen, I am not sure whether you know that there is a setting you can use that will always show this without needing the CMD + R keypress if you prefer? I don't know it off the top of my head but you can try a search.

Basically means you can remove RefindPlus from your boot chain but still have multiple OC instances (if you want) and be able to boot into Legacy Windows etc.
 
  • Like
Reactions: osxfr33k

startergo

macrumors 603
Sep 20, 2018
5,020
2,282
I am not sure whether you know that there is a setting you can use that will always show this without needing the CMD + R keypress if you prefer?

Booting to the bootpicker menu (with supported graphics):​

Code:
sudo nvram manufacturing-enter-picker=true && sudo reboot
 
  • Like
Reactions: osxfr33k and Dayo

osxfr33k

macrumors regular
Jun 26, 2019
164
21
Dayo, the github compiled release versions don't have the BootX64.efi how can I get that file for the latest release version 0.3.13.2AP. Also for all the other files, the drivers for example should be in the OtherBinaries folder?

Thanks!
 

osxfr33k

macrumors regular
Jun 26, 2019
164
21
Just pulling my hair out again all day/evening, lol trying to figure out what is going on here. I have successfully been running "Macschrauber" DBG version AN. He didn't have the REL version handy so I figured out which version he is running, v0.3.13.2 AN, I don't want logs in the EFI accumulating.

If I swap out DBG for REL version there is no RP GUI goes straight to Opencore. Decided to try the latest release AP same issue as AN only the DBG version of AP is loading GOP and not the REL version.

The only way to prove its not me and some major brain freeze on my part is to to see if Macschrauber can try the REL version of AN.

The graphics card working perfectly in the DBG version is the EVGA GT740 4GB also the EVGA GT710 gets to the RP GUI but gets to a dark screen with mouse pointer at the desktop, I'll have to see if I need some flag in the Nvram/add for that part.

The MSI Aero ITX RX560 does not get to the RP Gui yet it does on the MacPro3,1 with an older REL version v0.12.0.L
 
Last edited:

Dayo

macrumors 68020
Original poster
Dec 21, 2018
2,257
1,279
Please raise an issue on GitHub for such RefindPlus specific items.

RP_IssuesGitHub.JPG


EDIT
In the meantime, use the SwitchRunMode app to switch OpenCore to REL and leave RefindPlus as DBG. It will take scores of boots into RP for the log files to pile up to a stage where they become an issue; even if you never clear them out at intervals.
 
Last edited:
  • Like
Reactions: osxfr33k

Macschrauber

macrumors 68030
Dec 27, 2015
2,979
1,487
Germany
@Dayo:

I wondered before if it is possible to check ESP free space before witing the log files.

With the backups plus multiple OC instances and multiple versions of RP I have run into the -no-free-space- situation a few times.
 

Dayo

macrumors 68020
Original poster
Dec 21, 2018
2,257
1,279
The primary purpose of a debug file is to produce logs for debugging and it does this unconditionally.
I don't think you would run the OpenCore DBG file for day to day use as an example.
You should therefore similarly run the REL version for day to day use.
 

Dayo

macrumors 68020
Original poster
Dec 21, 2018
2,257
1,279
Updated MyBootMgr to v080a
See change log in Post 1 for details
 

ahihi

macrumors newbie
Mar 14, 2020
10
4
hello,

i've been successfully running a MyBootMgr v067a / Mojave setup on my 3,1 for the past year. thank you very much @Dayo for putting together and maintaining this utility!

i have some minor issues though, such as occasional graphical glitches in Final Cut Pro, and i am hoping to update MyBootMgr to see if that helps. since it's been a year, the setup process is not exactly fresh in my memory anymore so i have some questions...

in trying to follow the update instructions very literally, i've done the following:

1. step 2 of STAGE 1 - PRE INSTALLATION: downloaded the new version and run MyBootMgrSetup (since only step 2 was mentioned, i'm assuming for the update i don't need the natively booted macOS and can do this from within my OpenCore Mojave - is that correct?)

2. run FetchSetup to back up my existing setup

but the following steps seem to assume i now have a /Users/Shared/MyBootMgr/EFI folder, which i don't. am i meant to run the new ConfigFactory first?
 
  • Like
Reactions: EdMun

Dayo

macrumors 68020
Original poster
Dec 21, 2018
2,257
1,279
i'm assuming for the update i don't need the natively booted macOS and can do this from within my OpenCore Mojave - is that correct?
Correct. Updates can be done while booted via OpenCore but if you haven't updated since 067 however, the current version will most likely insist you run while natively booted and suggest that you reset your NVRAM.

am i meant to run the new ConfigFactory first?
Correct. Will add this to the instructions.
 
  • Like
Reactions: ahihi

Runsc

macrumors newbie
Dec 4, 2019
28
3
Hi Dayo,

I updated to v080a because I sometimes had USB und Bluetooth glitches in v075d. After starting OC (default instance) the system freezes. The last two messages are

OC: Watchdog status is 1
Halting on critical error

Running the Mojave instance via RefindPlus does not work either. I have to reset NVRAM to boot into Mojave.
 

Dayo

macrumors 68020
Original poster
Dec 21, 2018
2,257
1,279
It is impossible to figure stuff out without logs.

In any case, the next version is due after the weekend so, perhaps roll back to what you had before and try the next version at that time. If you have issues then, report this and include the log files needed to understand the issue.

ConfigFactory, RefindPlus and OpenCore are all set to debug mode by default and generate log files.
 

JedNZ

macrumors 6502a
Dec 6, 2015
647
247
Deep South
Hi Dayo,

I updated to v080a because I sometimes had USB und Bluetooth glitches in v075d. After starting OC (default instance) the system freezes. The last two messages are

OC: Watchdog status is 1
Halting on critical error

Running the Mojave instance via RefindPlus does not work either. I have to reset NVRAM to boot into Mojave.

As @Dayo said, check your logs. Most of the time when I get that issue it’s because of a missing kext file. But the logs will set you free.
 

Dayo

macrumors 68020
Original poster
Dec 21, 2018
2,257
1,279
Updated MyBootMgr to v081
See change log in Post 1 for details
 

EdMun

macrumors member
May 31, 2022
33
0
Otautahi
hi, I'm enjoying MyBootMgr but can't get my otherwise bootable legacy bootcamp to boot from it, I see some verbose text I can't read or find a log for and then a blank white screen. Any clues much appreciated.
 

Dayo

macrumors 68020
Original poster
Dec 21, 2018
2,257
1,279
MyBootMgr does not and cannot boot anything. It is simply a process of setting up two boot managers, RefindPlus and OpenCore, so that they work together.

RefindPlus and OpenCore can boot stuff (that's what they do) and I assume you meant that you have tried to boot with one or the other of them. Which one of the two was it?

I suspect OpenCore given the mention of text output on the screen. Well, OpenCore does not support Legacy Windows. If it was RefindPlus however, then that is an issue. Please go to GitHub and raise this there. The link is in Post 1 under support options or at least post the logs here to start with. It is not possible to proceed without logs.

EDIT: On second thoughts, it can't be OpenCore since it probably would not display Legacy Windows.
Btw, if you are running in debug mode, there will always be logs unless you are using the Not-Recommended HFS Type implementation. You need to mount the ESP and look there.
 
Last edited:
  • Like
Reactions: mrkapqa
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.