Skip to Content

Solved: How to fix Plymouth splash screen doesn’t work properly on Debian 12

  • The article explains how to fix Plymouth splash screen in Debian 12 by checking and adjusting the graphics card driver, the GRUB configuration, and the Plymouth theme.
  • The article also provides some tips and suggestions for changing the resolution, disabling, or customizing the Plymouth splash screen according to the user’s preferences.

Plymouth is a graphical boot animation that replaces the text messages that are usually displayed during the Linux boot process. Plymouth can make your system look more attractive and professional, especially if you use it on a desktop or laptop computer.

However, some users have reported that Plymouth splash screen doesn’t work properly on Debian 12, the latest stable release of the popular Linux distribution. Instead of showing a smooth animation, they see a black screen, a flickering screen, or a low-resolution image.

If you are facing this issue, don’t worry. In this article, we will show you how to fix Plymouth splash screen in Debian 12 with some simple steps. We will also explain why this problem occurs and how to prevent it from happening again.

How to fix Plymouth splash screen doesn’t work properly on Debian 12

Why Plymouth Splash Screen Doesn’t Work in Debian 12

There are several possible reasons why Plymouth splash screen doesn’t work in Debian 12. Here are some of the most common ones:

  • Your graphics card driver is not compatible with Plymouth. This is especially likely if you use a proprietary driver from Nvidia or AMD, which may not support Kernel Mode Setting (KMS), a feature that allows the kernel to manage the graphics mode and resolution. Plymouth relies on KMS to display the splash screen correctly.
  • Your GRUB bootloader configuration is incorrect. GRUB is the program that loads the Linux kernel and allows you to choose which operating system to boot. If GRUB is not configured properly, it may not pass the correct parameters to the kernel or Plymouth, resulting in a broken splash screen.
  • Your Plymouth theme is faulty or missing. Plymouth uses themes to customize the appearance of the splash screen. If your theme is corrupted or not installed, Plymouth may fail to load it and show a blank or distorted screen instead.

How to Fix Plymouth Splash Screen in Debian 12

To fix Plymouth splash screen in Debian 12, you need to check and adjust three things: your graphics card driver, your GRUB configuration, and your Plymouth theme. Here are the detailed steps for each one:

Step 1: Check and Install the Correct Graphics Card Driver

The first step is to make sure that your graphics card driver supports KMS and is compatible with Plymouth. If you use an Intel or AMD integrated graphics card, you probably don’t need to do anything, as these drivers are usually included in the kernel and support KMS by default.

However, if you use a discrete graphics card from Nvidia or AMD, you may need to install a proprietary driver from their website or from the Debian non-free repository. These drivers may offer better performance and features than the open-source ones, but they may also cause problems with Plymouth.

To check which driver you are using, open a terminal and run the following command:

lspci -nnk | grep -iA2 vga

This will show you the model and vendor of your graphics card, as well as the driver that is loaded for it. For example, this is what it shows on my system, which has an Nvidia GeForce GTX 1050 Ti card:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1) Subsystem: Gigabyte Technology Co., Ltd GP107 [GeForce GTX 1050 Ti] [1458:376d] Kernel driver in use: nvidia

As you can see, I am using the proprietary nvidia driver, which I installed from the Debian non-free repository. To do the same, you need to add the non-free component to your /etc/apt/sources.list file, update your package list, and install the nvidia-driver package. You can do this by running these commands as root:

echo "deb http://deb.debian.org/debian/ bookworm main contrib non-free" >> /etc/apt/sources.list apt update apt install nvidia-driver

Alternatively, you can use the nvidia-detect tool to automatically detect and install the best driver for your card. You can install it by running:

apt install nvidia-detect

Then run it by typing:

nvidia-detect

It will tell you which driver package you need and how to install it.

After installing the Nvidia driver, you need to reboot your system for it to take effect. You also need to enable KMS for it by creating a file called /etc/modprobe.d/nvidia-kms.conf with this content:

options nvidia-drm modeset=1

This will tell the Nvidia driver to use KMS instead of its own mode setting mechanism.

If you use an AMD discrete graphics card, you can follow a similar process to install the proprietary amdgpu-pro driver from AMD’s website or from the Debian non-free repository. However, this driver may not be necessary or recommended for most users, as the open-source amdgpu driver that comes with the kernel usually works well and supports KMS by default.

To check if KMS is enabled for your graphics card driver, you can run this command:

cat /sys/module/<driver>/parameters/modeset

Replace <driver> with the name of your driver, such as nvidia, amdgpu, or i915. The output should be Y if KMS is enabled, or N if it is disabled.

Step 2: Check and Adjust Your GRUB Configuration

The second step is to check and adjust your GRUB configuration to make sure that it passes the correct parameters to the kernel and Plymouth. To do this, you need to edit the file /etc/default/grub as root. You can use any text editor you like, such as nano, vim, or gedit.

In this file, you need to look for two lines that start with GRUB_CMDLINE_LINUX_DEFAULT and GRUB_GFXMODE. These lines control the kernel parameters and the GRUB resolution, respectively. Here is what they look like on my system:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_GFXMODE=1920x1080

The first line tells the kernel to boot in quiet mode, which suppresses most of the boot messages, and to use Plymouth for the splash screen. The second line tells GRUB to use a resolution of 1920×1080 for its menu and splash screen.

Depending on your system and preferences, you may need to change these lines to match your graphics card, monitor, and desired boot behavior. Here are some tips and suggestions:

  • If you use a proprietary graphics card driver, you may need to add a parameter to tell the kernel to load it early in the boot process. For example, if you use the Nvidia driver, you may need to add nvidia-drm.modeset=1 to the first line. If you use the AMDGPU-PRO driver, you may need to add amdgpu.dc=1 or amdgpu.cik_support=1 depending on your card model.
  • If you want to see more boot messages or debug information, you can remove the quiet parameter from the first line. If you want to disable Plymouth completely, you can remove the splash parameter as well.
  • If you want to change the resolution of the GRUB menu and splash screen, you can change the value of the second line to match your monitor’s native resolution. You can also add a color depth value after the resolution, such as 1920x1080x32. However, this may not be necessary or supported by some drivers or monitors.
  • If you want to use a different Plymouth theme than the default one, you can install it from the Debian repository or from a third-party source, and then activate it by running this command as root:
plymouth-set-default-theme <theme>

Replace <theme> with the name of your theme, such as breeze, joy, or solar. You can see a list of available themes by running:

plymouth-set-default-theme --list

After editing the /etc/default/grub file, you need to update your GRUB configuration by running this command as root:

update-grub

This will generate a new /boot/grub/grub.cfg file based on your changes.

Step 3: Check and Reinstall Your Plymouth Theme

The third and final step is to check and reinstall your Plymouth theme to make sure that it is not corrupted or missing. Sometimes, installing or updating other packages may overwrite or remove some files related to Plymouth, causing it to malfunction.

To check if your Plymouth theme is working properly, you can test it by running this command as root:

plymouthd; plymouth --show-splash; sleep 10; plymouth quit

This will start the Plymouth daemon, show the splash screen for 10 seconds, and then quit. You should see your chosen theme displayed correctly. If not, you may see an error message or a blank screen.

To reinstall your Plymouth theme, you need to find out which package provides it. You can do this by running this command:

dpkg -S /usr/share/plymouth/themes/<theme>/<theme>.plymouth

Replace <theme> with the name of your theme. The output should show you the package name that contains your theme file. For example, this is what it shows for the default Debian theme:

desktop-base: /usr/share/plymouth/themes/debian-logo/debian-logo.plymouth

Once you know the package name, you can reinstall it by running this command as root:

apt install --reinstall <package>

Replace <package> with the name of your package. This will overwrite any corrupted or missing files related to your theme.

Conclusion

Plymouth splash screen is a nice feature that can enhance the look and feel of your Debian 12 system. However, it may not work properly due to various reasons, such as incompatible graphics card drivers, incorrect GRUB configuration, or faulty Plymouth themes. In this article, we have shown you how to fix Plymouth splash screen in Debian 12 by checking and adjusting these three things. We hope that this article has helped you solve your problem and enjoy a smooth and beautiful boot animation.

Frequently Asked Questions (FAQs)

Here are some frequently asked questions related to Plymouth splash screen in Debian 12:

Question: How can I change the resolution of the Plymouth splash screen?

Answer: You can change the resolution of the Plymouth splash screen by editing the GRUB_GFXMODE line in the /etc/default/grub file. You need to set it to a value that matches your monitor’s native resolution, such as 1920×1080. You also need to run update-grub as root to apply the changes.

Question: How can I disable the Plymouth splash screen completely?

Answer: You can disable the Plymouth splash screen completely by removing the splash parameter from the GRUB_CMDLINE_LINUX_DEFAULT line in the /etc/default/grub file. You also need to run update-grub as root to apply the changes.

Question: How can I install new Plymouth themes or create my own?

Answer: You can install new Plymouth themes from the Debian repository or from third-party sources, such as [Gnome-Look] or [DeviantArt]. You can also create your own Plymouth themes by following the [official documentation] or some [tutorials] online.

Disclaimer: This article is for informational purposes only and does not constitute professional advice. The author and the website are not responsible for any damages or losses that may result from following the instructions or using the tools mentioned in this article. Use them at your own risk and discretion. Always backup your data before making any changes to your system.