I have upgraded an existing Qubes system to use the AMD RX 5700 XT.
However, when booting with Xen, the driver is unable to install the GPUs
firmware. I receive the following error message:
```
amdgpu [...]: (-14) failed to allocate kernel bo
amdgpu [...]: failed to create kernel buffer for firmware.
amdgpu [...]: amdgpu_device_ip_init failed
amdgpu [...]: Fatal error during GPU init.
```
On the standard tty output, the screen will go blank at this point. On
the serial hypervisor console, I receive the above error message and
eventually am dropped at a non-interactive console login screen.
Solutions I have tried:
- Initially, the navi_* firmware files did not exist. I have added these
from a Fedora 30 install.
- All attempts have been on kernel-latest. Older kernels do not support
this card.
- Allocate exactly 6GB to dom0 to ensure no OOM or similar conditions
exist.
- Allocate exactly 4vcpus pinned to dom0.
- Tried multiple IOMMU settings and increased swiotlb.
- Booted Qubes without Xen. System boots perfectly to graphical login.
- All three options of amdgpu.fw_load_type with the following results
0) Graphical system without Xen stops display. Can be interacted
with without the screen (eg ctl-alt-del results in a reboot). Xen
console session gives the below error:
```
[drm:amdgpu_device_init [amdgpu]] *ERROR* hw_init of IP block failed
```
1/2) Graphical system boots fine. Xen console session shows the
first error described above.
I have been discussing this on Github here:
https://github.com/QubesOS/qubes-issues/issues/5416
Thanks.