Fedora 40 KDE - Boot animation not working properly

I found a solution that works for me, and may work for others - Hans de Goede commented on two possible fixes here - 2283839 – Fedora 40 KDE - Boot animation not working properly

The issue for me wasn’t due to the fact that I had an older card - my card was pretty new. I was sure the issue was related to a race condition, or timing, or something of that order - hence I wanted to force the amdgpu module to be loaded as early in the process as possible.

So did a little research on dracut (very difficult to find useful Fedora documentation unfortunately - I had to use Gentoo and Arch docs) and I configured dracut to load the amdgpu module early by adding a file /etc/dracut.conf.d/00-amdgpu.conf with the following contents:

force_drivers+=" amdgpu "

and then rebuilt the initramfs by executing the following command:

dracut --force

This seems to have solved the issue for me at least. I’d be interested to hear if anyone else found that this approach worked for them.

J.K.

3 Likes

You still have the link to the docs you checked ?
I will mark this topic as a howto. Maybe we can reuse the information you found.

I was thinking because of the documentation problem almost every Distro suffers from. Putting some clear formulated examples in the Man page would probably help more to use it. And then try to mention more the examples in the man-pages.

Your solution is mentioned in the man page. But honestly I would not know, where to get the info to find, where I have to put in place of:

       add_drivers+=" <kernel modules> "
           Specify a space-separated list of kernel modules to add to the initramfs. The kernel modules have to
           be specified without the ".ko" suffix.

       force_drivers+=" <list of kernel modules> "
           See add_drivers above. But in this case it is ensured that the drivers are tried to be loaded early
           via modprobe.

Here at least I miss a hint to get this list of kernel modules I could use.

1 Like

Added howto

FWIW, here is one way of generating a list of available kernel drivers:

$ find "/lib/modules/$(uname -r)/kernel/drivers" -name '*.ko.*'
1 Like

I also consulted the man page - man dracut.conf

And here are the docs:

https://wiki.gentoo.org/wiki/Dracut
dracut - ArchWiki - linked to the relevant section

and for convenience, here is a link to the online man page:

https://man7.org/linux/man-pages/man8/dracut.8.html

I only needed to add a reference to the amdgpu module, as I wanted to ensure it was loaded first (so that plymouth would not fail) - after that, as far as I was concerned, the order was irrelevant.

I’d be happy to write up the steps I took, with an explanation (as best as I can explain what I did based on the docs and man page I read).

J.K.

1 Like

Just FYI, I’ve seen it mentioned that the video drivers might get moved out of the initramfs someday:

If that happens, then your documentation might be rendered obsolete. (So it might not be something that would be worth spending too much time on.)

2 Likes

Very interesting. This is the same Hans that contributed to the bug report - small world. I definitely like the idea of de-bloating the generated initramfs.

I tried the simpledrm approach after reading Hans’ suggestion in the bug report, but found it a bit jarring. The scaling was 2X - I was able to set the plymouth scaling factor to 1X and it looked much better for sure, but it seemed to behave slightly differently than normal - which could be down to the fact that the plymouth process started earlier.

Anyway, very interesting - might not be worth the effort after all, but perhaps this thread could remain as it could slightly enhance people’s understanding of dracut.conf.

J.K.

Removed howto, kde

I would only use the howto tag for a single post with an instruction.

One can be made from the insights of this thread, but needing to read through an entire thread is not nice :slight_smile:

1 Like

Update: in my personal case disabling amdgpu driver restored Plymouth animation back to normal - it turned out that Radeon driver was used to drive the GPU, but amdgpu was loaded anyway which messed up the boot animation.

Following advice given by Hans de Goede here - 2283839 – Fedora 40 KDE - Boot animation not working properly - I ran the command “lsmod | grep -E ‘^radeon|^amdgpu’”, but it did not return any results at all. I then ran this command instead:

lspci -k | grep -EA3 “VGA|3D|Display”

Which provided these results for my laptop:

   Subsystem: Hewlett-Packard Company Device 8329
   Kernel driver in use: i915
   Kernel modules: i915


01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330
/ M430 / Radeon 520 Mobile] (rev 83)
Subsystem: Hewlett-Packard Company Radeon R7 M520
Kernel driver in use: radeon
Kernel modules: radeon, amdgpu

As you can see, the kernel driver in use was radeon, not amdgpu, though the latter was loaded on boot anyway - which prevented Plymouth from displaying the Fedora logo and spinning circle on boot and when installing updates. I ran the suggested command to blacklist the amdgpu driver from being loaded:

sudo grubby --update-kernel=ALL --args="modprobe.blacklist=amdgpu"

Following this I was able to succesfully update the Kernel and have Plymouth correctly display the Fedora logo and spinning circle displayed on boot/when installing updates.

I hope this helps anyone facing similar issues!

1 Like

:100:

Reasoning
It does make it hard to follow such a Documentation when you have to read through cross talk hence disrupting the Troubleshooting process.

If there is a way to properly achieve it, we should get togethr and formulate one.

Note

This particular solution is hard to handle as Vendor names are included along with other information.

This process could be hard to trouble shoot. Intel, Nvidia would be different.

1 Like

That command expected to see a literal ^ in what it was searching for.
If you repeated it as
lsmod | grep -E ‘radeon|amdgpu'
it may provide the expected output.

Hi Jeff,

Thank you for clarification! I ran the command you suggested, but sadly it still did not provide the output we expected. :frowning:

so sad that this issues still not fix , and i still cant find perfect solution ,
mine os is
OS: Fedora Linux 40 (Workstation Edition)
Host: 81DE Lenovo ideapad 330-15IKB
Kernel: 6.10.5-200.fc40.x86_64
Uptime: 3 mins
Packages: 2679 (rpm), 9 (flatpak)
Shell: bash 5.2.26
Resolution: 1366x768
DE: GNOME 46.4
WM: Mutter
WM Theme: Adwaita
Theme: Adwaita [GTK2/3]
Icons: Adwaita [GTK2/3]
Terminal: gnome-terminal
CPU: Intel i3-7020U (4) @ 2.300GHz
GPU: Intel HD Graphics 620
Memory: 2114MiB / 11862MiB

This worked for me! Thank you so much :slight_smile:

1 Like

He has an account here … you can say thanks while mention him :slight_smile: as @jwrdegoede.

He even mentioned the bugs on his website

1 Like

well then thank you so much @jwrdegoede , I finally got rid of the problem :slight_smile:

2 Likes

Adding rd.driver.pre=amdgpu can resolve boot screen issues with AMD GPUs on Fedora. By including this parameter, you’re instructing Fedora to load the AMD GPU driver (amdgpu) early in the boot process, which often helps the system recognize the graphics driver correctly. Follow these steps to apply this fix:

Steps to Apply:

Edit the Grub File
sudo nano /etc/default/grub

Update the GRUB_CMDLINE_LINUX Line

  • Locate the GRUB_CMDLINE_LINUX line in the file.
  • Add rd.driver.pre=amdgpu to the end of the existing parameters.

Update Grub

  • Run the following command to apply the new configuration:
  • sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Restart the System

  • Restart your computer to activate the changes.
1 Like
grubby --update-kernel=ALL --args=rd.driver.pre=amdgpu

will do the trick as well.

2 Likes