Linux users are complaining that the AMD graphics driver for their OS of choice is getting too big and is now causing issues. Red Hat Linux desktop engineer Hans de Goede highlighted this issue at the weekend, reports Phoronix. De Goede’s blog post describes the problem and helpfully outlines some workarounds for people who may be afflicted with the same or similar boot issues.
There have been several reports of boot splash issues posted on the Red Hat Bugzilla bug tracking system, sparking the attention of the Red Hat engineer. In brief, these issues are due to the Plymouth graphical boot experience not loading correctly on older hardware. Thus users experience a boot splash timeout, seeing just three dots on screen, and can find that they are stuck at this early point in the boot process. Plymouth has long been a default application in Fedora, Ubuntu, Debian, Linux Mint, and other distros.
De Goede indicates that the sheer size of the AMD graphics driver for Linux, simply referred to as AMDGPU, is behind the three dots problems people report. The AMD graphics driver is reputedly the biggest that mainstream Linux users will encounter, approaching six million lines of code. The time required to load and execute this mass of code means that users of older systems with Radeon graphics can experience a boot splash screen timeout before the GPU is initialized. The timeout is set to trigger in 10 seconds by default, not enough time for older/slower systems to load the driver.
So what are users experiencing this timeout to do? From the hardware side perhaps migrating to some faster storage might be a worthwhile upgrade. On the software side, and if users don’t want to or can’t upgrade hardware, then De Goede describes two options.
The Red Hat engineer’s first suggestion is to check if your system actually needs AMDGPU, and if not it is a simple task to disable its loading. Another option, for those who have systems that actually rely on this driver, is to redirect Plymouth to render via the SimpleDRM DRM/KMS device, which means no timeout waiting for the AMDGPU driver to load. De Goede provides sample command line instructions for you to copy, to accomplish these tasks.
Last but not least, Phoronix notes that the latest Fedora packages are working around the Plymouth boot timeout issue by immediately probing for SimpleDRM. Perhaps other distros will follow suit.