Skip to content

Eliminate early KMS usage in favor of proper systemd chainload - #236

Draft
ventureoo wants to merge 1 commit into
masterfrom
poc-remove-early-kms
Draft

Eliminate early KMS usage in favor of proper systemd chainload#236
ventureoo wants to merge 1 commit into
masterfrom
poc-remove-early-kms

Conversation

@ventureoo

@ventureoo ventureoo commented Mar 28, 2026

Copy link
Copy Markdown
Member

I’ve always considered early KMS as a workaround for issues with race conditions when loading between driver and display manager/graphics environment. Here is another approach, that allows us to solve this "right" in my opinion, as it simply ties graphics services (getty/display-manager) to wait for all graphic drivers. To do this, we ship generator that creates drm-module-load.target at runtime which injects dependencies for all GPU drivers of current hardware and a udev rule that activates it if module loading is successful. If load failed, that’s okay, we have JobTimeoutSec, which allows drm-module-load.target to fail but load the rest of the services that depend on it (as Wants= implies soft dependencies).

To avoid breaking the work plymouth, we should switch to using simple-drm (that is, specify UseSimpledrm=1 in /etc/plymouth/plymouthd.conf, I thought this should be done on the calamares side). This is what Fedora does and it seems normal for them, see: https://fedoraproject.org/wiki/Changes/PlymouthUseSimpledrm

This will certainly require careful testing by other users, but from my testing, it works pretty well. The main advantage is the absence of bloated initramfs, which often becomes an obstacle for configurations with Btrfs snapshots and a separate /boot, as we now do when using limine-snapper-sync, which led us to decide to use ESP partition size 4 Gb by default, which I find excessive.

Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
@ventureoo
ventureoo force-pushed the poc-remove-early-kms branch from b328f81 to c1e08d3 Compare August 9, 2026 15:48
@ventureoo ventureoo changed the title PoC: profiles/nvidia: Eliminate early KMS usage in favor of proper systemd chainload Eliminate early KMS usage in favor of proper systemd chainload Aug 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant