AMD Concentrates On Various Driver Upgrades For RDNA 3 GPUs Operating On Linux
With the introduction of the new Radeon RX 7900 GPUs based on the RDNA 3 architecture, AMD failed to provide Linux customers with excellent graphics support. Because the graphics kernel was outdated, consumers were not provided with current firmware before launch.
With a recently released firmware update, programmers are shifting their attention to the RDNA 3 functionality, enabling users to rely on the firmware’s frame buffer if the AMDGPU driver breaks.
AMD Linux graphics kernel’s most recent patch series for GPU requests aims to increase efficiency.
An AMD engineer working on the current patch, Mario Linomciellow, outlines and explains how the procedure works and how to work through the problem. The AMD employee reveals that KMS drivers use the function “DRM aperture removes conflicting PCI framebuffers” first to wipe out the firmware frame buffer from the system. Therefore, especially when adding additional functionality for the GPU, the user experiences a frozen screen while the KMS driver is called if the graphics card misses the probe. Users must update to a newer Linux kernel version to take advantage of the most current modifications, which is why.
The relocation of “IP discovery” has made the situation more troublesome owing to AMDGPU. If the support is absent from the blocks, AMDGPU will attempt to pull all of the company’s GPUs to find the right driver, which can slow down the system, if not completely freeze.
Linomciellow outlines how the most current Ubuntu 21.10 is affected:
The perfect example is Ubuntu 21.10 and the new dGPUs just launched by AMD. The installation media ships with kernel 5.19 (which has IP discovery), but the amdgpu support for those IP blocks landed in kernel 6.0. The matching Linux firmware was released after 21.10’s launch.
The screen will freeze without nomodeset. Even if a user manages to install and then upgrade to kernel 6.0 after installation, they’ll still have the problem of missing firmware and the same experience.
This is quite jarring for users, particularly if they don’t know that they have to use “nomodeset” to install. To help the situation, allow drivers to re-run the init process for the firmware frame buffer during a failed probe. As this problem is most pronounced with amdgpu, this is the only driver changed. But if this makes sense more generally for other KMS drivers, the call can also be added to the cleanup routine.
— Mario Linomciellow, AMD
Today, Michael Larabel of the website Phoronix learned that AMD Linux developers on the graphics backend had requested an RDNA 3 user-mode graphics queue for the Linux driver.
Support for GPUs in the Raden RX 7000 series and above is anticipated to start soon. The AMDGPU Linux DRM driver will be impacted by this, allowing “direct workload submission from a user-space graphics context, which would allow for more excellent performance and enhanced graphics management for several AMD-exclusive programs and games, as well as full-screen scenarios. Larabel indicates that a comparable method is already available in the AMD ROCm computes stack.