-
-
Notifications
You must be signed in to change notification settings - Fork 13
Overview
The basic recipe is searching for an Apple Mac model with uses the same GPU (type) we are trying to use in an iMac. Then we will get the Apple graphics driver from the Apple firmware of this particular model and re-use it within our MXM GPU video BIOS.
AMD has tried to confuse customers with an endless series or rebranding and renaming of only a few different GPU cores. So one can group all the AMD GPU types (here we focus on MXM modules, only) into different subsets (families) using the same driver and firmware on macOS and Apple systems, in particular Venus, Saturn, Amethyst or Tonga, Baffin, Ellesmere, and Navi.
So we will be able to reuse the same modifications on each member of these subset and we have only to manage as of now six different video BIOS modifications (cum grano salis).
The main problem with AMD vBIOS modifications so far is the limitation to the first 128k (0x20000) bytes regardless which size the chip on the card has. This makes it impossible to add all three modules gathered from the Apple Mac firmware into the video BIOS in a single short operation. So the current strategy is to move two modules back into the iMac firmware (CoreEG2 and EDIDParser) while replacing the AMD UEFI GOP driver in the video BIOS with Apples implementation of a pre UEFI Apple GOP (called EG2) driver. This driver needs some adjustments to support properly the internal LCD (screen) and external displays.
Note: On the other hand one can reuse the vBIOS as a prolonged Apple firmware and put every EFI driver properly compressed into the video BIOS. This is possibly more easy than modding the Apple firmware itself. The 128k (0x20000) bytes limits still applies, of course.