You may not be able to use the embedded GPU and the AMD GPU at the same time. There may be DMA issues in having both enabled at the same time.
See:
https://wiki.raptorcs.com/wiki/POWER9_Hardware_Compatibility_List/PCIe_Devices#AMDSee:
https://wiki.raptorcs.com/wiki/Troubleshooting/GPU#Workaround_1:_Disable_on-board_VGANote, as the second link says, it may be necessary to disable the embedded GPU by putting a jumper cap on a specific place on the motherboard. Reference page 37 of the Blackbird manual:
https://wiki.raptorcs.com/w/images/c/ce/C1P9S01_users_guide_version_1_0.pdfThere isn't a spare jumper there, so if you don't have one (maybe from the back of a junk IDE hard drive), then you may need to buy some:
https://www.amazon.com/dp/B00N552DWK/Hopefully you don't
need to disable onboard. More on that later.
That being said, there's a couple of other notes regardless:
Many AMD GPUs do not honor PCIe device resets, so you might have something working one boot, and not have output after a reboot (vs shutdown and fresh power up). Newer versions of the amdgpu driver have a workaround to reset the card, but for a lot of cards, this seems to work exactly twice. This is probably not what's causing your card to no work in Fedora 31 right now, but this may be interfering with some of your tests if you're rebooting every time. Personally, I'm "avoiding" the issue by configuring skiboot to go through a full power cycle when requested to reboot (run in bootloader):
nvram -p ibm,skiboot --update-config fast-reset=0
Xorg (typically your display server)
does some really weird things when multiple GPUs are active. Usually I find that having displays on both GPUs causes both GPUs to need to render the whole desktop (to then show only the part that they are displaying), but doing this usually limits your performance or features to that of the lesser card. Someone on IRC said they had an AMD GPU working with the embedded AST GPU, but they were missing gamma (display brightness) in having both enabled. Since you're using GNOME, you might be using Wayland, which may behave differently (I'm not well versed in Wayland).
You need firmware in your bootloader if you want your bootloader to display, but it may not play nicely with your Linux OS, anyway. Your bootloader probably doesn't display out your AMD GPU. I'm guessing you're using the embedded HDMI because of this. The bootloader is itself another Linux environment with the amdgpu driver, and will want firmware to actually enable the card. The firmware is not already included because it's not open source/auditable and because there isn't enough space to generically include all GPU firmware.
Raptor might be telling you to copy the amdgpu firmware into the bootloader to get the bootloader to display, which isn't necessary to get your Linux OS to display. However, AMD cards do not accept firmware more than once (with resets being a possible exception). The specific issue I ran into after installing firmware is:
- the bootloader would display on a fresh boot
- Fedora's amdgpu would reset the card and load their more up to date firmware
- I'd reboot and the bootloader (having an older amdgpu driver that doesn't reset the card) would fail to load the firmware and panic.
Some of us are avoiding these sorts of issues by not installing GPU firmware into the bootloader. I use serial console when I need to interact with my bootloader (serial console will work regardless of functioning GPU, too).
We'll learn more from dmesg (the command that shows Linux kernel logs).
Please:
If Fedora boots and you have a desktop on the embedded GPU, please open a terminal (search "terminal" in GNOME) and run:
dmesg
and copy-paste the output here into a code block.
If Fedora boots, but finally ends up at a black screen or something, switch to a virtual terminal by pressing ctrl-alt-F2 (ctrl-alt-F1 will go back to the first desktop on Fedora, or ctrl-alt-F7 on Ubuntu). When you're at a virtual terminal, log in and run:
dmesg | fpaste
then go to the link it outputs on another computer, and copy the output from the link (link is only valid for a day).
If Fedora boots but breaks such that you cannot go to a virtual terminal on the embedded card, reboot, press "e" (edit) in bootloader before booting, and add the following to cmdline to temporarily disable using the AMD GPU at all:
rd.driver.blacklist=amdgpu modprobe.blacklist=amdgpu rd.driver.blacklist=amdgpudrmfb modprobe.blacklist=amdgpudrmfb
then, instead of dmesg, run the following and paste that output:
sudo cat /var/log/messages
If you're having a different issue, please give more details.
We'll suggest a fix if dmesg makes it clear why the GPU doesn't start.