Go back to main page


GOPShim - UEFI Graphics Output Protocol support for early Macs

If you've ever tried to run UEFI Windows, or Haiku, or Limine, or pretty much anything other than Mac OS X and GRUB2, on most pre-2009 Intel Macs, you may have run up against a problem: no boot screen. This is because these Macs do not support UEFI Graphics Output Protocol. They instead rely on Apple's proprietary Screen Info Protocol along with the deprecated UGA I/O and UGA Draw protocols. My project, GOPShim, fixes this by implementing the UEFI Graphics Output Protocol on top of the Apple Screen Info protocol. This allows nearly every UEFI OS to boot on pre-GOP Macs.


Installation

GOPShim is implemented as a UEFI DXE driver. The easiest way to load a DXE driver is by first installing rEFInd, either to the internal hard drive or a USB stick, then adding GOPShim from my GitHub releases page to either \EFI\refind (\EFI\BOOT on USB devices) \drivers_ia32 or \drivers_x64 depending on your Mac's EFI architecture (generally speaking, Macs made after mid-2007 have 64-bit EFI whereas Macs made before have 32-bit EFI). Alternatively, GOPShim can be launched via the UEFI shell by typing load \path\to\GopShimDxe_X64 (or IA32) .efi.

Important note: 64-bit EFI-installed Windows will not run on Macs with 64-bit CPUs but 32-bit EFI. 64-bit Windows will only install on Macs with 64-bit EFI, and 32-bit Windows will only install on Macs with 32-bit EFI.


Issues and Considerations