AMD GPU Linux Driver Becoming "Really Really Big" That It's Starting To Cause Problems
The modern AMD kernel graphics driver "AMDGPU" is the biggest driver within the mainline Linux kernel and is approaching six million lines of code albeit a large chunk of that is made up of auto-generated header files for each supported GPU. But this AMDGPU kernel driver is becoming "really really big" that it's beginning to cause issues for Plymouth that commonly provides the initial boot splash screen experience on modern Linux desktops.
The AMDGPU driver is becoming so large that when using a recent AMD Radeon graphics card with an aging system is beginning to run into problems of the boot splash screen not appearing... Because it takes too long to load the driver.
Longtime Red Hat Linux desktop engineer Hans de Goede posted a public service announcement to his blog this weekend about a number of recent bug reports around the boot splash screen not appearing when using the AMDGPU driver. Hans explained:
The big AMDGPU driver basically is causing a timeout for the Plymouth boot splash screen on older/slower hardware. Workarounds include falling back to explicitly using the Radeon DRM driver and disabling the AMDGPU driver on older Radeon graphics systems or telling Plymouth to use the SimpleDRM DRM/KMS device instead of waiting for the AMDGPU driver to load. That later option depends upon the PC booting in EFI mode to use SimpleDRM.
Fedora is working around this in their latest packages by beginning to probe SimpleDRM immediately. Fedora / Red Hat though isn't the only ones using Plymouth but is largely in use by all major Linux distributions of the past decade. But in recent years the AMDGPU driver has only continued to grow much larger in supporting newer GPUs and tacking on additional features and optimizations.
The AMDGPU driver is becoming so large that when using a recent AMD Radeon graphics card with an aging system is beginning to run into problems of the boot splash screen not appearing... Because it takes too long to load the driver.
Longtime Red Hat Linux desktop engineer Hans de Goede posted a public service announcement to his blog this weekend about a number of recent bug reports around the boot splash screen not appearing when using the AMDGPU driver. Hans explained:
"Recently there have been a number of reports about the plymouth boot splash not showing properly on PCs using AMD GPUs.
The problem without plymouth and AMD GPUs is that the amdgpu driver is a really really big driver, which easily takes up to 10 seconds to load on older PCs. The delay caused by this may cause plymouth to timeout while waiting for the GPU to be initialized, causing it to fallback to the 3 dot text-mode boot splash."
The big AMDGPU driver basically is causing a timeout for the Plymouth boot splash screen on older/slower hardware. Workarounds include falling back to explicitly using the Radeon DRM driver and disabling the AMDGPU driver on older Radeon graphics systems or telling Plymouth to use the SimpleDRM DRM/KMS device instead of waiting for the AMDGPU driver to load. That later option depends upon the PC booting in EFI mode to use SimpleDRM.
Fedora is working around this in their latest packages by beginning to probe SimpleDRM immediately. Fedora / Red Hat though isn't the only ones using Plymouth but is largely in use by all major Linux distributions of the past decade. But in recent years the AMDGPU driver has only continued to grow much larger in supporting newer GPUs and tacking on additional features and optimizations.
66 Comments