[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1125148: linux: Consider enabling SimpleDRM and deferred console takeover for flicker-free boot



Source: linux
Severity: wishlist

Dear Maintainer,

Currently, Debian does not enable CONFIG_DRM_SIMPLEDRM or
CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER by default. I'd like to
request that these config options be enabled for UEFI-enabled
architectures in order to better support flicker-free boot.

CONFIG_DRM_SIMPLEDRM enables a simple DRM driver for
platform-provided framebuffers. The driver is primarily useful for
lightweight graphics handling before heavier drivers have loaded (such
as NVIDIA or AMD drivers) and vendor-agnostic early-boot framebuffer
handling.

Specifically, this is the default choice for early-boot splash programs
like Plymouth. Using SimpleDRM removes the need for the system
administrator to explicitly load any vendor-specific modules in the
initrd or increase timeouts in Plymouth to compensate for longer load
times of larger drivers.

CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER defers the clearing of the
framebuffer console until the first text is displayed on the console.
Without this option, there is a brief time between the firmware
splash screen and the initialization Plymouth splash screen where the
kernel may clear the graphics from the firmware. 

When booting with "quiet", this will result in a black flicker between
the UEFI firmware and Plymouth. Without "quiet", text output is briefly
visible as expected.

By enabling the deferred takeover, the graphics from the firmware can
remain in the framebuffer until either a) the kernel begins printing
text or b) Plymouth (or similar software) takes control and does
whatever it's been configured to do. In cases where flicker-free boot is
desired, that would typically be reusing the BGRT graphics in the
framebuffer and overlaying or augmenting it with additional elements
like a loading spinner.

SimpleDRM is not a hard requirement for flicker-free boot, but it does
help significantly when building configurations not tied to a single
vendor. Deferred takeover, on the other hand, is required for the
aforementioned reasons.

Other distributions have already used both options for a while in stable
configurations (Fedora, NixOS, Red Hat, OpenSUSE, Arch Linux, etc.), so
I believe the change would be relatively low-impact. There were some
concerns around combining GRUB and deferred takeover, but I believe that
was fixed back in 2018 by Fedora.

-- System Information:
Debian Release: 13.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.12.57+deb13-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=locale: Cannot set LC_ALL to default locale: No such file or directory
UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled


Reply to: