Flicker Free Boot

Flicker free boot Article description::is a Linux feature that seeks to eliminate display flickers that occur during system boot. It was created by Hans de Goede and is available in Fedora since version 30 and can be implemented in on Gentoo systems.

Other results
Please share your success or failure results if you can. This way we can get a more accurate view of what is working.

Hardware / Software

 * A working UEFI setup, preferably with a Intel Skylake (6th Generation) or more recent processor should work.
 * Older (3rd to 5th Generation Core iXXXX series processors might work.
 * You must be using the Intel Onboard (i915) series graphics. Other graphics cards are not supported.
 * The specified system must boot up in native UEFI mode. CSM mode needs to be disabled.
 * The specified system must use a manually compiled kernel. I haven't tested this with a genkernel created kernel.
 * If you're using an older (e.g. Ivy Bridge / Haswell / Broadwell) based system, it's recommended that you use at least version 4.20.17 or higher due to a bug that actually causes the screen to go to stand-by mode and turn back on.
 * Kernel version 5.7.0 or higher does not honor the  kernel parameter . Use the patches located on that bug report or use a version below 5.7.0.
 * This guide assumes that you've configured your kernel correctly and set the appropriate options for framebuffer support and such.
 * This guide assumes that you're using /dev/sda1 as ESP (/boot) partition. If it's not, then adjust the commands for your own paths accordingly.

Knowledge

 * A working Gentoo setup, preferably configured with EFI stub.
 * Intermediate to advanced knowledge about the Linux boot process.

Summary
This tutorial assumes that you've currently got a working Gentoo setup. This setup boots in (U)EFI mode using grub with CSM mode disabled and is using an Intel processor with it's own integrated graphics card.

Installing the required software
In order to be able to successfully get everything working, there are things you'll need to do in order to be able to successfully getting this running on a system

Setting the correct USE flags for plymouth
In order to set the correct use flags for plymouth, you'll need to take the following steps:


 * 1) Run the command:
 * 2) Add the following line to the file:
 * 3) NOTE: libkms is the minimal requirement for the splash screen even to show up and pango is required For interactivity (e.g.: If you want to have the ability to enter a LUKS password on a nice graphical screen). The gtk and gdm USE flags should be added respectively when using GDM as Display Manager or lightdm with GTK.
 * 4) NOTE: Do NOT use the static-libs USE flag. This USE flags break plymouth and causes the package not to compile or show any themes.
 * 5) Press CTRL + O, press [Enter] and press CTRL + X in order to save the file.
 * 6) Now install the package: :  Verify that the correct use flags are set (otherwise there might be a typo in the file).

Using dracut
This has been tested to work by using the amd64 version of dracut. Using the latest available version of dracut from portage is recommended. Install the package: : Then create the initramfs image with

More information is available on the Dracut page.

Setting up EFI stub
Usage of EFI stub can be found at EFI stub and Efibootmgr. Make the  kernel parameter is included, and include the path to the initranmfs generated by dracut, like so:

Finally, reboot and hope it works.

Alternative: setting up systemd-boot (systemd users only)
You can alternatively set up systemd-boot for a flicker free boot. This seems to be an attractive option for users, who want to use a bootloader some configuration options (e.g. for dual-boot with windows).

Follow the steps from the appropriate wiki entry to set up systemd-boot.

Next, you can configure your loader entry, e.g. like this:

External References

 * Hans de Goede - Flicker Free Boot FAQ
 * Fedora - Flicker Free Boot project page
 * Arch Linux - plymouth Wiki page