Skip to content

plymouthcfg: Use simpledrm by default to show splash screen#204

Draft
ventureoo wants to merge 2 commits intocachyosfrom
plymouth-simpledrm
Draft

plymouthcfg: Use simpledrm by default to show splash screen#204
ventureoo wants to merge 2 commits intocachyosfrom
plymouth-simpledrm

Conversation

@ventureoo
Copy link
Copy Markdown
Member

@ptr1337 ptr1337 requested a review from Copilot April 3, 2026 18:24
@ptr1337
Copy link
Copy Markdown
Member

ptr1337 commented Apr 3, 2026

Why you revert the amdgpu commit? I think the issue is still present, even if simpledrm is used.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Calamares plymouthcfg module to optionally enable Plymouth’s simpledrm usage so the splash screen can show earlier in boot (per linked chwd/ Fedora rationale).

Changes:

  • Replace the AMD-specific theme override setting with a new boolean config key plymouth_simpledrm.
  • Default-enable plymouth_simpledrm in the module configuration.
  • Implement writing UseSimpledrm=1 into the target’s /etc/plymouth/plymouthd.conf.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
src/modules/plymouthcfg/plymouthcfg.schema.yaml Updates schema properties to include plymouth_simpledrm and remove the AMD override key.
src/modules/plymouthcfg/plymouthcfg.conf Switches configuration from AMD override to plymouth_simpledrm: true by default.
src/modules/plymouthcfg/main.py Removes AMD GPU detection logic; adds in-target edit of plymouthd.conf to enable simpledrm.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


import subprocess

import fileinput
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

setUseSimpledrm() uses os.path.join(...) but this module no longer imports os, so it will raise NameError at runtime when plymouth_simpledrm is enabled. Add the missing import (or avoid os.path).

Suggested change
import fileinput
import fileinput
import os

Copilot uses AI. Check for mistakes.
Comment on lines +58 to +64
with fileinput.input(conf_path, inplace=True) as config:
for line in config:
if line.startswith("#[Daemon]") or line.startswith("[Daemon]"):
line = line.lstrip("#")
line = line + "UseSimpledrm=1\n"

print(line, end='')
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The current in-place edit only inserts UseSimpledrm=1 after the [Daemon] header and does not update an existing UseSimpledrm= entry. If the file already contains UseSimpledrm=0 later in the section, that later value may override the inserted one, so the setting may not take effect. Consider replacing any existing UseSimpledrm= line within [Daemon] and only inserting if missing (e.g., via configparser or a small state machine).

Copilot uses AI. Check for mistakes.
@@ -7,4 +7,4 @@ additionalProperties: false
type: object
properties:
plymouth_theme: { type: string }
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This schema change removes plymouth_theme_amdgpu. If any existing Calamares configurations still provide that key, schema validation will now fail due to additionalProperties: false. If the removal is intentional, consider keeping it temporarily (deprecated) or ensuring all downstream configs are updated in lockstep.

Suggested change
plymouth_theme: { type: string }
plymouth_theme: { type: string }
plymouth_theme_amdgpu: { type: string }

Copilot uses AI. Check for mistakes.
Comment on lines 27 to +30
plymouth_theme: cachyos-bootanimation

# Optional: set a different theme for systems with AMD GPUs.
# If an AMD GPU is detected and this is set, it overrides plymouth_theme.
# Leave commented to use the same theme for all hardware.
plymouth_theme_amdgpu: cachyos

# Use simpledrm driver to show splash screen
plymouth_simpledrm: true
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This config change drops the AMD-GPU-specific theme override (plymouth_theme_amdgpu) and enables plymouth_simpledrm by default. The PR title/description only mentions the simpledrm default; if removing the AMD override is intentional, it should be called out explicitly (it’s a behavior/config surface change).

Copilot uses AI. Check for mistakes.
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
@ventureoo ventureoo force-pushed the plymouth-simpledrm branch from befcd4f to 9fc2664 Compare April 3, 2026 18:36
@ventureoo
Copy link
Copy Markdown
Member Author

Why you revert the amdgpu commit? I think the issue is still present, even if simpledrm is used.

It should be fixed together with CachyOS/chwd#236. One user in Discord already confirms, that removing kms hook and enabling simpledrm fix issue, so I suppose there's some kind of race condition between plymouth and amdgpu driver. I had reproduced similar issue for NVIDIA related to nvidia-powerd and it also was fixed by systemd approach I used in CachyOS/chwd#236.

@ventureoo ventureoo marked this pull request as draft April 23, 2026 18:22
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.

3 participants