plymouthcfg: Use simpledrm by default to show splash screen#204
plymouthcfg: Use simpledrm by default to show splash screen#204
Conversation
|
Why you revert the amdgpu commit? I think the issue is still present, even if simpledrm is used. |
There was a problem hiding this comment.
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_simpledrmin the module configuration. - Implement writing
UseSimpledrm=1into 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 |
There was a problem hiding this comment.
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).
| import fileinput | |
| import fileinput | |
| import os |
| 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='') |
There was a problem hiding this comment.
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).
| @@ -7,4 +7,4 @@ additionalProperties: false | |||
| type: object | |||
| properties: | |||
| plymouth_theme: { type: string } | |||
There was a problem hiding this comment.
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.
| plymouth_theme: { type: string } | |
| plymouth_theme: { type: string } | |
| plymouth_theme_amdgpu: { type: string } |
| 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 |
There was a problem hiding this comment.
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).
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
befcd4f to
9fc2664
Compare
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. |
Needed for: CachyOS/chwd#236
See https://fedoraproject.org/wiki/Changes/PlymouthUseSimpledrm for more details.