AMD Linux graphics kernel seeks enhancement on efficiency in the current patch series for GPU requests
Mario Linomciellow, an AMD engineer, working on the current patch, outlines and explains how the process works and how to work through the issue. The AMD fellow explains that KMS drivers initially destroy the firmware frame buffer from the system by the code “drm_aperture_remove_conflicting_pci_framebuffers.” So, if the graphics card misses the probing, the user receives a frozen screen while the KMS driver gets called, especially when introducing new support for the GPU. This is due to users having to upgrade to a newer version of the Linux kernel to coincide with the recent changes. AMDGPU has further caused the issue to be problematic due to the migration of “IP discovery.” IP discovery causes AMDGPU to try to pull all GPUs from the company attempting to look for the correct driver, which will slow down, if not freeze, the system if the support is missing from the blocks. Linomciellow explains the situation with the recent Ubuntu 21.10: Michael Larabel of the website Phoronix discovered today that a request for an RDNA 3 user-mode graphics queue for the Linux driver was asked by AMD Linux engineers on the graphics backend. 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 The hope is to begin support for Raden RX 7000 GPU series and higher. This will affect the AMDGPU Linux DRM driver and permit “direct workload submission from a user-space graphics context that would allow for increased performance and enhanced graphics management for several applications and games exclusive to AMD and full-screen scenarios. Larabel notes that the AMD ROCm computes stack already allows a similar function. News Sources: Phoronix 1, 2, Linux kernel, Freedesktop