Problem
When booting a system with LUKS disk encryption, the screen might be black (blank) during password entry or exhibit graphical glitches (frozen, corrupt, flickering, etc). The system may look like it has frozen or got hung, but it hasn’t - even if the password prompt isn’t visible, you can still type the password and press Enter to continue booting normally. The screen is just not being displayed correctly.
This seems to affect only systems running with integrated GPUs (Intel or AMD) and having a high refresh rate display (more than 60 Hz) at the same time.
Cause
There are most likely multiple different causes affecting different hardware. We can’t easily separate the cases at the moment, so this is a summary description.
We currently expect these or similar issues to be present:
- Driver loading timing issue - The graphics driver loads before display is ready during initramfs stage.
- Panel Self Refresh issue - Panel Self Refresh and Panel Replay features conflict with Plymouth.
- DPCD backlight issue - Backlight control conflicts during graphics initialization.
All of these are likely connected to the Linux kernel, or Plymouth.
Related Issues
Bugzilla reports:
- https://bugzilla.redhat.com/show_bug.cgi?id=2455924 (Backlight issue)
- 2441941 – Graphics break when trying to type LUKS password (Dell XPS 13 Plus, jeischmann)
- 2438727 – Plymouth blank screen during boot and LUKS passphrase entry on Lenovo ThinkPad X1 Carbon Gen 13 / Intel Core Ultra 7 265U
- 2404633 – LUKS Screen is Black on Cold Boots
- 2430613 – Plymouth visual stall during boot and LUKS passphrase entry on AMD Strix Point (PSR issue)
Workarounds
Since we see different behavior on different hardware, there’s no universal workaround. You can try some of the below, and try to find one that works. (If you try something and it doesn’t help, revert the system back to the original state before trying another one).
In cases where a workaround proposes changing kernel boot arguments using grubby, you can decide to use --update-kernel=DEFAULT to update just the current kernel arguments (but not older or future kernels), which is safer for initial attempts, or use --update-kernel=ALL to update all existing and future kernel arguments (once you’ve found a working workaround).
Type the disk password blindly
This is the simplest solution - no configuration required:
- Wait a few seconds after the screen goes black
- Type your LUKS password (you won’t see anything)
- Press Enter
- The system should boot normally if the password was correct
This works because the system is still running and waiting for input - only the display output is broken.
Connect an external monitor
Some users report that connecting an external monitor during boot shows the password prompt correctly on the external display. For some users, it had to be a USB-C connected monitor.
Disable Plymouth graphical boot
This means you’ll see a text-mode password prompt instead of the graphical Plymouth screen.
Setup:
sudo grubby --update-kernel=DEFAULT --args="plymouth.enable=0"
To undo:
sudo grubby --update-kernel=ALL --remove-args="plymouth.enable=0"
Enable SimpleDRM
SimpleDRM is used to provide display capabilities before native graphics drivers are loaded. By default it’s not used when a disk password prompt is displayed, but you can try to force it, if it helps you.
-
Create
/etc/plymouth/plymouthd.confwith this content:[Daemon] UseSimpledrm=1 -
Rebuild initramfs:
sudo dracut --force
To undo:
sudo rm /etc/plymouth/plymouthd.conf
sudo dracut --force
Disable Panel Self Refresh (AMD)
Panel Self Refresh helps to save a bit of power by not refreshing the screen all the time. This workaround is specific for AMD GPUs, because on Intel GPUs we’ve seen no improvement.
Disable PSR for AMD GPUs:
sudo grubby --update-kernel=DEFAULT --args="amdgpu.dcdebugmask=0x10"
To undo:
sudo grubby --update-kernel=ALL --remove-args="amdgpu.dcdebugmask=0x10"
Disable DPCD backlight (Intel)
DPCD backlight is used to configure how screen brightness can be configured from the system. This workaround is specific to Intel GPUs.
Disable DPCD backlight for Intel GPUs:
sudo grubby --update-kernel=DEFAULT --args="i915.enable_dpcd_backlight=0"
To undo:
sudo grubby --update-kernel=ALL --remove-args="i915.enable_dpcd_backlight=0"
Disable graphics hardware accelleration
This approach is a big hammer. The side effects are very slow graphics rendering (not hardware accelerated), screen tearing, limited resolution support, and possible some others.
sudo grubby --update-kernel=DEFAULT --args="nomodeset"
To undo:
sudo grubby --update-kernel=ALL --remove-args="nomodeset”