Boot screen is blurry, including during LUKS login in Plymouth

I recently installed NixOS in my laptop. In general, it works fine, except for the boot screens.

The screen showing the generations is blurry, in the sense that the text/font is blurry. After that, the screen and font showing the LUKS login in Plymouth is also blurry. After logging in, everything is fine. When I shutdown the computer, the ‘exit’ part of Plymouth is crisp and clear (Nix logo, spinning wheel).

boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.systemd.enable = true;
boot.plymouth.enable = true;
boot.plymouth.theme = “breeze”;
boot.kernelParams = [“quiet”];

environment.systemPackages = with pkgs; [
plymouth
breeze-plymouth
];

I tried it originally without adding plymouth/breeze-plymouth to environment.systemPackages. I added those to see if it would help, but it didn’t. I also tried another theme, “bgrt”, and I tried it without specifying a theme.

Until now, I’ve had other distros on this laptop with Plymouth for the LUKS login, and they displayed just fine, so I don’t think it’s something to do with my device or UEFI/BIOS.

What would cause this kind of blurring on startup, bearing in mind that the Plymouth theme looks great on shutdown?

I’ll add some extra information here…

Additionally I installed NixOS in a desktop. The same issue is there, a blurry generations screen followed by a blurry (Plymouth) LUKS encryption login screen. This is a surprise, as I had NixOS in a VM on this machine, and the boot screens looked great.

In case it’s not clear what I mean by ‘blurry’, I meant that it looks as if it’s using the wrong resolution. This only happens during the boot phase, everything else is fine.

I’ve tried searching the Discourse and the Wiki with keywords like…

  • UEFI
  • Plymouth
  • Resolution
  • Boot
  • LUKS

…but unfortunately I haven’t found a result which explains or solves the problem.

Any help would be appreciated.

Try setting this: boot.loader.systemd-boot.consoleMode = "max";

1 Like

Yes! That’s it, perfect! Thanks so much.

It looks great now, everything is crisp and clear, thank you.

1 Like