As people are probably aware, there’s an issue on Arm systems that video output from discrete (PCIe) graphics cards isn’t available during boot. That’s because the driver in the option ROM that the host needs to load and run only contains x86 code.
For a few years however, AMD has provided an AArch64 version of that driver for download that people can either load manually at the UEFI Shell or flash onto the card to replace the x86 code.
Do UEFI implementations have functionality to auto-load EFI drivers from the EFI partition? That would be easier than flashing in hardware. In particular because there is one driver for (allmost) all AMD GPU’s.
Some of them do: for example EDK2 allows you to add drivers loaded from the filesystem during boot. However I haven’t seen anything similar on AMI’s Aptiov.
This is assuming that your EFI partition is the first on /dev/nvme0n1
Using the UEFI Shell, after having downloaded the driver like above:
fs0:
cd \EFI\AMD
bcfg driver add 0 Arm64Gop_1_68.efi "amdgop"
This worked for me with a Sapphire Pulse AMD Radeon RX 6400.
It did not work with an AMD Radeon WX3200 Pro.
With the WX3200 Pro, the driver would show when running the “drivers” command in the UEFI shell, but it would not activate until running the “connect” command manually.