From the "better ten years late than never" department: I'm looking for beta testers for a set of BootROM modifications. While working toward my larger goal (AVX emulation), I needed to gain expertise with (and some control over) the BootROM, and this set of modifications seemed like a useful start.
If you're interested after reading this post, send me a PM with a list of the hardware you have available to test; I'll start responding to those PMs the first week of January (after I return from holiday - don't be disappointed if you don't get a response right away).
If you're interested after reading this post, send me a PM with a list of the hardware you have available to test; I'll start responding to those PMs the first week of January (after I return from holiday - don't be disappointed if you don't get a response right away).
What's included:
- Native boot/progress screens for most modern* GPUs
- Native Apple boot picker for most modern* GPUs
- Some UEFI2 support, allowing many newer unmodified GPUs to boot on MP4,1/5,1 (including AMD RX6x00 and MSI GT710)
- EFI USB3 support, including boot from USB3 for most USB3 adapters
- Improved EFI USB1.1/USB2 support, allowing some previously troublesome devices to connect (including TESmart KVM switches)
- "One and done" deep NVRAM reset (Cmd-Opt-P-R) - no need to hold through 3-5 chimes
- A method to easily enable/disable SIP
To anticipate a few questions:
- For now, this is strictly for the MP4,1/MP5,1. However, it's conceivable that the process could be adapted to MP3,1 and/or other Mac models at some point in the future.
- These BootROM modifications have been in small-group alpha test for about four months, and they're currently stable.
- These BootROM changes do not change how MacOS handles devices. It's possible for the modified BootROM to allow your graphics card to show the native Apple boot screens, but if MacOS doesn't contain drivers for your card, MacOS will be either slow or unusable.
Even if MacOS does contain drivers for your card, these BootROM modifications will not resolve any existing issues you may have with resolution/refresh rate/color depth (i.e. if MacOS has problems with your card, these BootROM mods aren't going to solve those problems). - If your GPU has framebuffer oddities (looking at you, Polaris) that result in pink lines/corruption of the boot screens just before MacOS loads, those artifacts will still be present (these BootROM modifications do not change the (mis)behavior of your GPU).
- This is "Phase 1" of a multi-phase effort to extend the useful life of the Mac Pro 4,1/5,1 by several more years (what I think of as "Project Macthuselah"). "Phase 2" involves injecting my AVX emulator into the system before MacOS ever loads (I think I've figured out how to do that). To get to that point, I needed to gain some control over the BootROM, which resulted in the modifications listed above.
- The first stage of the Mac boot process happens in EFI, and the second stage happens after the MacOS kernel has loaded. By design, EFI does not support interrupt-driven communications, which means that booting from a USB3 device does not achieve (or even approach) true USB3 speeds until the EFI portion is complete and the MacOS kernel has loaded, after which the boot becomes much faster. This is both normal and unavoidable, given the inherent constraints of EFI.
- Other BootROM modifications are being discussed. Suggestions are welcome.
- These BootROM modifications are compatible with OpenCore. They do not replace OpenCore; in particular, booting MacOS versions later than Mojave still require support from a boot loader such as OpenCore.
- None of these BootROM modifications touch the network, collect any telemetry data, or "phone home" (i.e. connect or transmit data to any other system or "the cloud"). They just provide the services outlined above, nothing more.
- These BootROM modifications were developed entirely in-house, either from scratch or derived from modified TianoCore sources. The BootROM modifications do not include any code from any branch of OpenCore, rEFInd/RefindPlus, or other third-party sources (other than TianoCore).
- Just to be very clear: this set of BootROM modifications does not provide AVX emulation. AVX is the larger project; this is just a step in that direction. The AVX project is still a work in progress.
Prospective beta testers should:
- have a Mac Pro 4,1 or 5,1 with the 144.0.0.0.0 BootROM (clean/reconstructed is preferable, but non-reconstructed is OK)
- be comfortable flashing their BootROM, and have a backup of their BootROM
- have a stable system (testing/debugging is troublesome if the system is flaky)
- preferably have access to a variety of video cards, USB3 cards/devices, and/or mice/keyboards (wired and wireless)
- preferably be able to reboot frequently in order to test various configurations
- preferably have a strong stomach and low aversion to risk (or a MATT card, or a socketed SPI chip)