]> git.ipfire.org Git - thirdparty/plymouth.git/log
thirdparty/plymouth.git
7 days agoMerge branch 'xkb-layout-fallback-fix' into 'main' main
Hans de Goede [Mon, 18 May 2026 07:25:33 +0000 (09:25 +0200)] 
Merge branch 'xkb-layout-fallback-fix' into 'main'

ply-device-manager: fix default XKB keymap fallback overriding KEYMAP

See merge request plymouth/plymouth!388

7 days agoply-device-manager: fix default XKB keymap fallback overriding KEYMAP 388/head
Clayton Craft [Fri, 17 Apr 2026 16:56:27 +0000 (09:56 -0700)] 
ply-device-manager: fix default XKB keymap fallback overriding KEYMAP

Only use XKB with libxkbcommon defaults when no layout is configured, but
fall back to VT-based input when KEYMAP is set without XKBLAYOUT. This
preserves any user console keymap configuration.

8 days agoMerge branch 'weblate-plymouth-master' into 'main'
n3rdopolis [Sun, 17 May 2026 19:49:28 +0000 (19:49 +0000)] 
Merge branch 'weblate-plymouth-master' into 'main'

Translations update from Fedora Weblate

See merge request plymouth/plymouth!394

9 days agoTranslated using Weblate (Lao) 394/head
Bone NI [Wed, 13 May 2026 10:59:14 +0000 (10:59 +0000)] 
Translated using Weblate (Lao)

Currently translated at 100.0% (8 of 8 strings)

Added translation using Weblate (Lao)

Co-authored-by: Bone NI <bounkirdni@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/lo/
Translation: plymouth/main

11 days agoMerge branch 'kmsconvt' into 'main'
Ray Strode [Thu, 14 May 2026 22:34:43 +0000 (22:34 +0000)] 
Merge branch 'kmsconvt' into 'main'

systemd-units: Run after kmsconvt@tty1

See merge request plymouth/plymouth!384

11 days agosystemd-units: Run after kmsconvt@tty1 384/head
Jocelyn Falempe [Fri, 20 Mar 2026 11:52:47 +0000 (12:52 +0100)] 
systemd-units: Run after kmsconvt@tty1

To avoid conflicts between kmscon and plymouth, add kmsconvt@tty1 in
the After: list.

Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
11 days agoMerge branch 'generate-version-fixes' into 'main' 26.134.222
Ray Strode [Thu, 14 May 2026 05:14:47 +0000 (05:14 +0000)] 
Merge branch 'generate-version-fixes' into 'main'

generate-version: Make git checkout versions robust

See merge request plymouth/plymouth!395

11 days agogenerate-version: Keep post-release versions ordered 395/head
Ray Strode [Thu, 14 May 2026 04:50:28 +0000 (00:50 -0400)] 
generate-version: Keep post-release versions ordered

The version generator can compare version strings and can derive git
checkout versions from the last numeric release tag.

Checkout versions use the last commit date plus a commit count that
starts over after the latest release tag. If the next commit is from the
same day as the release, or from an older-dated commit that lands after
the tag, the date-based prefix does not move past the release while the
count drops back to a small number. Users and packagers then see a
post-release checkout report a version that sorts older than the release
baseline.

This commit resolves that ordering problem by comparing the generated
version with the last numeric release tag and, when needed, emitting the
release tag base with a micro value advanced by the number of commits
since that release.

The git-checkout version series now handles release tags, missing
release history, and post-release ordering consistently.

11 days agogenerate-version: Add version comparison helper
Ray Strode [Thu, 14 May 2026 04:49:54 +0000 (00:49 -0400)] 
generate-version: Add version comparison helper

The version generator handles exact numeric release tags and git
checkouts without release tags before emitting a dated version for other
checkouts.

The project still lacks a small ordering primitive for comparing the
dated version with the latest release tag. Without that, the generator
cannot make a later adjustment when the date-based value sorts before the
release it follows.

This commit lays groundwork for that adjustment by adding a shell helper
that compares two version strings with Git's version sort order.

The final commit will use that helper to keep post-release generated
versions ordered after the most recent numeric release tag.

11 days agogenerate-version: Handle checkouts without release tags
Ray Strode [Thu, 14 May 2026 04:48:48 +0000 (00:48 -0400)] 
generate-version: Handle checkouts without release tags

The version generator now uses numeric release tags consistently when it
derives versions from git checkouts.

Some CI jobs build from shallow clones, and packaging jobs sometimes
fetch branch tips without tags. Those trees do not have enough local
metadata to compute a release-relative version, but the script should
still produce a checkout version instead of treating the missing tag as
an empty revision range.

This commit addresses that by allowing the release-tag lookup to be empty
and counting the commits reachable from HEAD in the available checkout
when no numeric release tag is present.

The final commit will keep generated checkout versions ordered after the
most recent numeric release tag.

11 days agogenerate-version: Select numeric release tags
Ray Strode [Thu, 14 May 2026 04:47:35 +0000 (00:47 -0400)] 
generate-version: Select numeric release tags

The version generator now returns exact numeric release tags before using
its fallback date-based version for other git checkouts.

The fallback path still asks Git for the nearest described tag without
making the release-tag rules explicit. That can make version derivation
depend on tag shapes that are not Plymouth release versions.

This commit addresses that by looking up the fallback baseline with the
same numeric tag match used for exact release checkouts, then reusing the
matched tag when counting commits since the last release.

Subsequent commits will cover histories where no matching release tag
exists.

11 days agogenerate-version: Return exact release tags
Ray Strode [Thu, 14 May 2026 04:46:18 +0000 (00:46 -0400)] 
generate-version: Return exact release tags

The version generator derives git-checkout versions from the last commit
date and the number of commits since the most recent release tag.

Release checkouts still flow through the generated-version path, so a
checked-out release can report a dated micro version instead of the tag
that identifies the release.

This commit begins tightening git-checkout version derivation by
returning an exact numeric release tag before falling back to the dated
version format.

Subsequent commits will reuse numeric release tag lookup for the other
git-checkout version paths.

3 weeks agoMerge branch 'weblate-plymouth-master' into 'main'
n3rdopolis [Fri, 1 May 2026 03:17:02 +0000 (03:17 +0000)] 
Merge branch 'weblate-plymouth-master' into 'main'

Translations update from Fedora Weblate

See merge request plymouth/plymouth!392

3 weeks agoTranslated using Weblate (Serbian)
Марко Костић (Marko Kostić) [Thu, 30 Apr 2026 20:59:06 +0000 (20:59 +0000)] 
Translated using Weblate (Serbian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/sr/
Translation: plymouth/main

3 weeks agoMerge branch 'date-order' into 'main'
n3rdopolis [Thu, 30 Apr 2026 03:15:15 +0000 (03:15 +0000)] 
Merge branch 'date-order' into 'main'

generate-version: Specify options before format

See merge request plymouth/plymouth!377

3 weeks agogenerate-version: Specify options before format
Daniel van Vugt [Fri, 20 Feb 2026 07:43:51 +0000 (15:43 +0800)] 
generate-version: Specify options before format

This is strongly implied in the command line help and man page.

While GNU date doesn't care about ordering, uutils (Rust) date does
enforce the ordering (in current releases). Use the ordering suggested
by date's own documentation and supported by all implementations.

It was fixed upstream this week:
https://github.com/uutils/coreutils/issues/10972
https://github.com/uutils/coreutils/issues/10910

3 weeks agoMerge branch 'esc-pwrbtn' into 'main'
n3rdopolis [Thu, 30 Apr 2026 03:09:44 +0000 (03:09 +0000)] 
Merge branch 'esc-pwrbtn' into 'main'

allow configuring an additional key for Escape

See merge request plymouth/plymouth!381

3 weeks agoallow configuring an additional key for Escape
Clayton Craft [Wed, 25 Feb 2026 01:04:18 +0000 (17:04 -0800)] 
allow configuring an additional key for Escape

Some devices (phones/tablets) don't have keyboards, so this allows
specifying an additional key using a new config option
(XkbExtraEscButton) that works like Esc e.g. for hiding the splash.

4 weeks agoMerge branch 'weblate-plymouth-master' into 'main'
n3rdopolis [Thu, 23 Apr 2026 02:26:18 +0000 (02:26 +0000)] 
Merge branch 'weblate-plymouth-master' into 'main'

Translations update from Fedora Weblate

See merge request plymouth/plymouth!387

5 weeks agoTranslated using Weblate (Serbian)
Марко Костић (Marko Kostić) [Wed, 15 Apr 2026 12:02:08 +0000 (12:02 +0000)] 
Translated using Weblate (Serbian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Марко Костић (Marko Kostić) <marko.m.kostic@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/sr/
Translation: plymouth/main

8 weeks agoMerge branch 'main' into 'main'
n3rdopolis [Sat, 28 Mar 2026 20:39:17 +0000 (20:39 +0000)] 
Merge branch 'main' into 'main'

ply-device-manager: fix build failure when udev support is disabled

See merge request plymouth/plymouth!382

2 months agoply-device-manager: fix build failure when udev support is disabled
Aaron Andersen [Sun, 8 Mar 2026 20:37:45 +0000 (16:37 -0400)] 
ply-device-manager: fix build failure when udev support is disabled

The input device management functions (on_each_renderer_add_input_device,
add_input_device_to_renderers, on_each_input_device_add_to_renderer,
add_input_devices_to_renderer, on_each_input_device_remove_from_renderer,
remove_input_device_from_renderers) were placed inside the #ifdef HAVE_UDEV
block, but are called unconditionally from
create_devices_for_terminal_and_renderer_type(). This caused an
"implicit declaration" build error when udev support is disabled.

Move these functions outside the #ifdef HAVE_UDEV guard, and place the
genuinely udev-specific functions (drm_device_in_use,
fb_device_has_drm_device) into their own #ifdef HAVE_UDEV block.

2 months agoMerge branch 'xkb-layout-fallback' into 'main'
n3rdopolis [Sun, 8 Mar 2026 13:21:04 +0000 (13:21 +0000)] 
Merge branch 'xkb-layout-fallback' into 'main'

ply-device-manager: fall back to default XKB keymap when no layout is configured

See merge request plymouth/plymouth!380

2 months agoply-device-manager: fall back to default XKB keymap when no layout is configured
Clayton Craft [Wed, 25 Feb 2026 02:33:10 +0000 (18:33 -0800)] 
ply-device-manager: fall back to default XKB keymap when no layout is configured

Plymouth was skipping all input devices when no XKB layout was configured.
Passing NULL to xkb_keymap_new_from_names to lets libxkbcommon use
its own defaults, so input devices are used regardless of whether
the system has a keyboard layout configured in vconsole.conf.

2 months agoMerge branch 'weblate-plymouth-master' into 'main'
n3rdopolis [Sat, 7 Mar 2026 01:06:11 +0000 (01:06 +0000)] 
Merge branch 'weblate-plymouth-master' into 'main'

Translations update from Fedora Weblate

See merge request plymouth/plymouth!376

3 months agoTranslated using Weblate (Turkish)
Emir SARI [Thu, 19 Feb 2026 18:58:24 +0000 (18:58 +0000)] 
Translated using Weblate (Turkish)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Emir SARI <emir_sari@icloud.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/tr/
Translation: plymouth/main

3 months agoTranslated using Weblate (Bulgarian)
twlvnn kraftwerk [Thu, 19 Feb 2026 18:58:24 +0000 (18:58 +0000)] 
Translated using Weblate (Bulgarian)

Currently translated at 100.0% (8 of 8 strings)

Added translation using Weblate (Bulgarian)

Co-authored-by: twlvnn kraftwerk <kraft_werk@tutanota.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/bg/
Translation: plymouth/main

3 months agoTranslated using Weblate (Lithuanian)
Marija Grineviciute [Thu, 19 Feb 2026 18:58:24 +0000 (18:58 +0000)] 
Translated using Weblate (Lithuanian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Marija Grineviciute <marijagrine@protonmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/lt/
Translation: plymouth/main

3 months agoply-keyboard: Fix hang on read of incomplete terminal control sequence
D Scott Phillips [Mon, 26 Jan 2026 17:25:32 +0000 (09:25 -0800)] 
ply-keyboard: Fix hang on read of incomplete terminal control sequence

It's possible for a read from the terminal to provide a partial command
sequence, starting with the CSI ('\x1b\x5b') but not terminating with
its function character ('\x40'..'\x7e'). In that case, the input byte
handling loop would not terminate, causing plymouthd to hang both itself
and possibly completion of the boot.

Break from the input byte handling loop when an incomplete command
sequence is found so that the program does not hang. The incomplete
command sequence will remain in the input buffer so that a later
completion of the command sequence can be handled.

Fixes: b41e40e065c6 ("Add support for CSI sequences")
Fixes: plymouth/plymouth#321
Link: https://bugzilla.redhat.com/show_bug.cgi?id=2433079
3 months agoMerge branch 'weblate-plymouth-master' into 'main'
n3rdopolis [Sun, 25 Jan 2026 21:58:18 +0000 (21:58 +0000)] 
Merge branch 'weblate-plymouth-master' into 'main'

Translations update from Fedora Weblate

See merge request plymouth/plymouth!375

4 months agoTranslated using Weblate (Hungarian)
Mate Babos [Mon, 19 Jan 2026 15:58:23 +0000 (15:58 +0000)] 
Translated using Weblate (Hungarian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Mate Babos <hunorjani17@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/hu/
Translation: plymouth/main

4 months agoTranslated using Weblate (Kazakh)
Baurzhan Muftakhidinov [Mon, 19 Jan 2026 15:58:23 +0000 (15:58 +0000)] 
Translated using Weblate (Kazakh)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Baurzhan Muftakhidinov <baurthefirst@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/kk/
Translation: plymouth/main

4 months agoMerge branch 'weblate-plymouth-master' into 'main'
n3rdopolis [Sun, 18 Jan 2026 23:17:21 +0000 (23:17 +0000)] 
Merge branch 'weblate-plymouth-master' into 'main'

Translations update from Fedora Weblate

See merge request plymouth/plymouth!374

4 months agoTranslated using Weblate (Korean)
김인수 [Sat, 17 Jan 2026 13:58:23 +0000 (13:58 +0000)] 
Translated using Weblate (Korean)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: 김인수 <simmon@nplob.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/ko/
Translation: plymouth/main

4 months agoUpdate translation files
Hosted Weblate [Sat, 17 Jan 2026 13:58:23 +0000 (13:58 +0000)] 
Update translation files

Updated by "Update LINGUAS file" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/
Translation: plymouth/main

4 months agoAdded translation using Weblate (Korean)
Languages add-on [Sat, 17 Jan 2026 13:58:23 +0000 (13:58 +0000)] 
Added translation using Weblate (Korean)

Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
4 months agoMerge branch 'weblate-plymouth-master' into 'main'
n3rdopolis [Mon, 29 Dec 2025 14:58:33 +0000 (14:58 +0000)] 
Merge branch 'weblate-plymouth-master' into 'main'

Translations update from Fedora Weblate

See merge request plymouth/plymouth!371

4 months agoTranslated using Weblate (Hebrew)
Omer I.S. [Mon, 29 Dec 2025 03:58:22 +0000 (03:58 +0000)] 
Translated using Weblate (Hebrew)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Omer I.S. <omeritzicschwartz@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/he/
Translation: plymouth/main

5 months agoMerge branch 'lichangze512-main-patch-7dfc' into 'main'
Hans de Goede [Mon, 22 Dec 2025 07:37:17 +0000 (08:37 +0100)] 
Merge branch 'lichangze512-main-patch-7dfc' into 'main'

systemd: fix plymouth-switch-root-initramfs.service

See merge request plymouth/plymouth!339

5 months agosystemd: fix plymouth-switch-root-initramfs.service
李昌泽 [Fri, 22 Nov 2024 06:20:08 +0000 (06:20 +0000)] 
systemd: fix plymouth-switch-root-initramfs.service

remove repeat service config

5 months agoMerge branch 'weblate-plymouth-master' into 'main'
n3rdopolis [Tue, 16 Dec 2025 01:57:20 +0000 (01:57 +0000)] 
Merge branch 'weblate-plymouth-master' into 'main'

Translations update from Fedora Weblate

See merge request plymouth/plymouth!370

5 months agoTranslated using Weblate (Estonian)
Priit Jõerüüt [Mon, 15 Dec 2025 04:13:32 +0000 (04:13 +0000)] 
Translated using Weblate (Estonian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Priit Jõerüüt <jrtkbfdr@users.noreply.translate.fedoraproject.org>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/et/
Translation: plymouth/main

5 months agoTranslated using Weblate (Estonian)
Weblate Translation Memory [Mon, 15 Dec 2025 04:13:31 +0000 (04:13 +0000)] 
Translated using Weblate (Estonian)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (8 of 8 strings)

Translated using Weblate (Estonian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/et/
Translation: plymouth/main

5 months agoAdded translation using Weblate (Estonian)
Priit Jõerüüt [Mon, 15 Dec 2025 04:13:31 +0000 (04:13 +0000)] 
Added translation using Weblate (Estonian)

Co-authored-by: Priit Jõerüüt <jrtkbfdr@users.noreply.translate.fedoraproject.org>
5 months agoMerge branch 'fixkeymapdisplay' into 'main'
Hans de Goede [Sat, 6 Dec 2025 11:56:11 +0000 (12:56 +0100)] 
Merge branch 'fixkeymapdisplay' into 'main'

Display the first specified XKBLAYOUT as the active one, instead of the last

See merge request plymouth/plymouth!369

5 months agoDisplay the first specified XKBLAYOUT as the active one, instead of the last
n3rdopolis [Thu, 4 Dec 2025 13:31:36 +0000 (08:31 -0500)] 
Display the first specified XKBLAYOUT as the active one, instead of the last

This fixes https://bugzilla.redhat.com/show_bug.cgi?id=2416197
This corrects the keymap display when users specify multiple keymaps
in /etc/vconsole.conf

5 months agoMerge branch 'fix_parse' into 'main'
n3rdopolis [Thu, 4 Dec 2025 13:43:36 +0000 (13:43 +0000)] 
Merge branch 'fix_parse' into 'main'

key-file: ignore empty lines before the first group

Closes #307

See merge request plymouth/plymouth!364

5 months agokey-file: ignore empty lines before the first group
Leon Marz [Sun, 31 Aug 2025 15:47:29 +0000 (17:47 +0200)] 
key-file: ignore empty lines before the first group

Fixes: plymouth/plymouth#307
5 months agoMerge branch 'feature/fix-freetype-hidpi' into 'main'
n3rdopolis [Mon, 1 Dec 2025 15:19:51 +0000 (15:19 +0000)] 
Merge branch 'feature/fix-freetype-hidpi' into 'main'

label-freetype: fix UAF in set_font_for_control() with hidpi

See merge request plymouth/plymouth!366

5 months agolabel-freetype: fix UAF in set_font_for_control() with hidpi (scale_factor 2)
Ferdinand Bachmann [Tue, 7 Oct 2025 20:16:45 +0000 (22:16 +0200)] 
label-freetype: fix UAF in set_font_for_control() with hidpi (scale_factor 2)

On hidpi screens, label-freetype will trigger a use-after-free in
set_font_for_control() via the call in update_scale_factor_from_pixel_buffer().

That call passes label->font as the font parameter to set_font_for_control().
set_font_for_control() then calls strdup() on its font argument, and
frees label->font. In this case this causes font to point into freed
memory, causing a read use-after-free in the following strstr() and
strrchr() calls.

Fix the issue by only using the freshly strdup()'d new_font variable
after freeing label->font.

5 months agoMerge branch 'weblate-plymouth-master' into 'main'
n3rdopolis [Mon, 1 Dec 2025 15:05:18 +0000 (15:05 +0000)] 
Merge branch 'weblate-plymouth-master' into 'main'

Translations update from Fedora Weblate

See merge request plymouth/plymouth!367

5 months agoTranslated using Weblate (Belarusian)
Yauhen Bugamol [Mon, 24 Nov 2025 06:08:02 +0000 (06:08 +0000)] 
Translated using Weblate (Belarusian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Yauhen Bugamol <bugamol@users.noreply.translate.fedoraproject.org>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/be/
Translation: plymouth/main

5 months agoTranslated using Weblate (Russian)
Aleksandr Sidorenko [Mon, 24 Nov 2025 06:08:02 +0000 (06:08 +0000)] 
Translated using Weblate (Russian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Aleksandr Sidorenko <auroragamesproject@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/ru/
Translation: plymouth/main

5 months agoTranslated using Weblate (Slovak)
Ondrej Sulek [Mon, 24 Nov 2025 06:08:02 +0000 (06:08 +0000)] 
Translated using Weblate (Slovak)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Ondrej Sulek <feonsu@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/sk/
Translation: plymouth/main

5 months agoMerge branch 'fix-more-displays' into 'main'
n3rdopolis [Mon, 1 Dec 2025 14:51:36 +0000 (14:51 +0000)] 
Merge branch 'fix-more-displays' into 'main'

Fix: script: Ensure Window.GetX/Y() returns 0 for correct multi-display centering

See merge request plymouth/plymouth!368

5 months agoFix: script: Ensure Window.GetX/Y() returns 0 for correct multi-display centering
xinpeng wang [Mon, 1 Dec 2025 08:16:19 +0000 (16:16 +0800)] 
Fix: script: Ensure Window.GetX/Y() returns 0 for correct multi-display centering

When multiple displays of different resolutions are attached, the Plymouth script
plugin uses a virtual "max canvas" (defined by max_width and max_height) for
rendering. Individual displays calculate their offsets (display->x, display->y)
relative to this max canvas for mirroring/centering.

The script-level centering formula, as seen in example themes:
logo.sprite.SetX (Window.GetX() + Window.GetWidth() / 2 - logo.image.GetWidth() / 2);

Issue:
For the script to correctly calculate the absolute center position on the max canvas,
Window.GetX() must conceptually return the origin of the max canvas, which is 0.

However, the non-indexed implementation of sprite_window_get_x (and GetY) currently
returns the maximum calculated display offset (MAX(display->x)), which corresponds to
the offset of the smallest display. This incorrect, non-zero return value introduces
an unintended shift, pushing sprites (like the logo) off-center, and breaking the
centering logic.

Solution:
Update sprite_window_get_x and sprite_window_get_y to return the minimum calculated
display offset (MIN(display->x)). Since the largest display always has an offset of 0,
this guarantees that Window.GetX() and Window.GetY() return 0 when called without
parameters, correctly anchoring the script-calculated center position to the absolute
max canvas origin.

Signed-off-by: xinpeng.wang <wangxinpeng@uniontech.com>
7 months agoMerge branch 'weblate-plymouth-master' into 'main'
Hans de Goede [Wed, 22 Oct 2025 13:01:23 +0000 (15:01 +0200)] 
Merge branch 'weblate-plymouth-master' into 'main'

Translations update from Fedora Weblate

See merge request plymouth/plymouth!362

7 months agoTranslated using Weblate (Punjabi)
A S Alam [Thu, 16 Oct 2025 17:54:22 +0000 (17:54 +0000)] 
Translated using Weblate (Punjabi)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: A S Alam <aalam@users.noreply.translate.fedoraproject.org>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/pa/
Translation: plymouth/main

7 months agoTranslated using Weblate (Italian)
Salvatore Cocuzza [Thu, 16 Oct 2025 17:54:22 +0000 (17:54 +0000)] 
Translated using Weblate (Italian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Salvatore Cocuzza <info@salvatorecocuzza.it>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/it/
Translation: plymouth/main

7 months agoTranslated using Weblate (Indonesian)
Arif Budiman [Thu, 16 Oct 2025 17:54:22 +0000 (17:54 +0000)] 
Translated using Weblate (Indonesian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/id/
Translation: plymouth/main

7 months agoTranslated using Weblate (Turkish)
Oğuz Ersen [Thu, 16 Oct 2025 17:54:22 +0000 (17:54 +0000)] 
Translated using Weblate (Turkish)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/tr/
Translation: plymouth/main

7 months agoTranslated using Weblate (German)
Ettore Atalan [Thu, 16 Oct 2025 17:54:22 +0000 (17:54 +0000)] 
Translated using Weblate (German)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/de/
Translation: plymouth/main

7 months agoTranslated using Weblate (Chinese (Simplified) (zh_CN))
lumingzh [Thu, 16 Oct 2025 17:54:22 +0000 (17:54 +0000)] 
Translated using Weblate (Chinese (Simplified) (zh_CN))

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: lumingzh <lumingzh@qq.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/zh_CN/
Translation: plymouth/main

7 months agoTranslated using Weblate (Catalan)
naly zzwd [Thu, 16 Oct 2025 17:54:21 +0000 (17:54 +0000)] 
Translated using Weblate (Catalan)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: naly zzwd <xeanhort007@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/ca/
Translation: plymouth/main

7 months agoTranslated using Weblate (Slovenian)
Matjaž Jeran [Thu, 16 Oct 2025 17:54:21 +0000 (17:54 +0000)] 
Translated using Weblate (Slovenian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Matjaž Jeran <matjaz.jeran@amis.net>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/sl/
Translation: plymouth/main

7 months agoTranslated using Weblate (French)
Léane GRASSER [Thu, 16 Oct 2025 17:54:21 +0000 (17:54 +0000)] 
Translated using Weblate (French)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Léane GRASSER <leane.grasser@proton.me>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/fr/
Translation: plymouth/main

7 months agoTranslated using Weblate (Romanian)
Remus-Gabriel Chelu [Thu, 16 Oct 2025 17:54:21 +0000 (17:54 +0000)] 
Translated using Weblate (Romanian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/ro/
Translation: plymouth/main

7 months agoTranslated using Weblate (Finnish)
Ricky Tigg [Thu, 16 Oct 2025 17:54:21 +0000 (17:54 +0000)] 
Translated using Weblate (Finnish)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Ricky Tigg <ricky.tigg@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/fi/
Translation: plymouth/main

7 months agoTranslated using Weblate (Greek)
Jim Spentzos [Thu, 16 Oct 2025 17:54:21 +0000 (17:54 +0000)] 
Translated using Weblate (Greek)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Jim Spentzos <jimspentzos2000@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/el/
Translation: plymouth/main

7 months agoTranslated using Weblate (Czech)
Daniel Rusek [Thu, 16 Oct 2025 17:54:21 +0000 (17:54 +0000)] 
Translated using Weblate (Czech)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Daniel Rusek <mail@asciiwolf.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/cs/
Translation: plymouth/main

7 months agoTranslated using Weblate (Swedish)
Anders Jonsson [Thu, 16 Oct 2025 17:54:21 +0000 (17:54 +0000)] 
Translated using Weblate (Swedish)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Anders Jonsson <anders.jonsson@norsjovallen.se>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/sv/
Translation: plymouth/main

7 months agoTranslated using Weblate (Polish)
Piotr Drąg [Thu, 16 Oct 2025 17:54:21 +0000 (17:54 +0000)] 
Translated using Weblate (Polish)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Piotr Drąg <piotrdrag@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/pl/
Translation: plymouth/main

7 months agoTranslated using Weblate (Arabic)
Ahmed Najmawi [Thu, 16 Oct 2025 17:54:21 +0000 (17:54 +0000)] 
Translated using Weblate (Arabic)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Ahmed Najmawi <iramosu@protonmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/ar/
Translation: plymouth/main

7 months agoTranslated using Weblate (Georgian)
Temuri Doghonadze [Thu, 16 Oct 2025 17:54:21 +0000 (17:54 +0000)] 
Translated using Weblate (Georgian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/ka/
Translation: plymouth/main

7 months agoTranslated using Weblate (Ukrainian)
Yuri Chornoivan [Thu, 16 Oct 2025 17:54:21 +0000 (17:54 +0000)] 
Translated using Weblate (Ukrainian)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Yuri Chornoivan <yurchor@ukr.net>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/uk/
Translation: plymouth/main

7 months agoTranslated using Weblate (Portuguese (Brazil))
Rafael Fontenelle [Thu, 16 Oct 2025 17:54:21 +0000 (17:54 +0000)] 
Translated using Weblate (Portuguese (Brazil))

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Rafael Fontenelle <rafaelff@gnome.org>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/pt_BR/
Translation: plymouth/main

7 months agoTranslated using Weblate (Portuguese)
Américo Monteiro [Thu, 16 Oct 2025 17:54:20 +0000 (17:54 +0000)] 
Translated using Weblate (Portuguese)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Américo Monteiro <a_monteiro@gmx.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/pt/
Translation: plymouth/main

7 months agoTranslated using Weblate (Spanish)
Fco. Javier F. Serrador [Thu, 16 Oct 2025 17:54:20 +0000 (17:54 +0000)] 
Translated using Weblate (Spanish)

Currently translated at 100.0% (8 of 8 strings)

Co-authored-by: Fco. Javier F. Serrador <fserrador@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/es/
Translation: plymouth/main

7 months agoUpdate translation files
Weblate [Thu, 16 Oct 2025 17:54:20 +0000 (17:54 +0000)] 
Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/
Translation: plymouth/main

7 months agoTranslated using Weblate (French)
Léane GRASSER [Thu, 16 Oct 2025 17:54:20 +0000 (17:54 +0000)] 
Translated using Weblate (French)

Currently translated at 100.0% (7 of 7 strings)

Co-authored-by: Léane GRASSER <leane.grasser@proton.me>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/fr/
Translation: plymouth/main

8 months agoMerge branch 'simpledrm-kvm-res' into 'main'
Hans de Goede [Sun, 31 Aug 2025 09:24:40 +0000 (11:24 +0200)] 
Merge branch 'simpledrm-kvm-res' into 'main'

drm: Also exclude SimpleDRM framebuffers with resolution 640x480

See merge request plymouth/plymouth!360

8 months agodrm: Also exclude SimpleDRM framebuffers with resolution 640x480
Alessandro Astone [Wed, 6 Aug 2025 13:16:37 +0000 (15:16 +0200)] 
drm: Also exclude SimpleDRM framebuffers with resolution 640x480

I'm getting this low resolution in QEMU/KVM

8 months agoMerge branch 'fix-translations' into 'main'
Hans de Goede [Fri, 29 Aug 2025 14:56:55 +0000 (16:56 +0200)] 
Merge branch 'fix-translations' into 'main'

Fix POT generation

Closes #306

See merge request plymouth/plymouth!361

9 months agoUpdate POT file
Rafael Fontenelle [Mon, 11 Aug 2025 19:56:31 +0000 (16:56 -0300)] 
Update POT file

9 months agoAdd keywords needed for BGRT to po/meson.build
Rafael Fontenelle [Mon, 11 Aug 2025 19:56:15 +0000 (16:56 -0300)] 
Add keywords needed for BGRT to po/meson.build

9 months agoMerge branch 'bind-directory' into 'main'
Hans de Goede [Wed, 6 Aug 2025 13:09:14 +0000 (15:09 +0200)] 
Merge branch 'bind-directory' into 'main'

ply-utils: Create parent directory before binding concrete socket

See merge request plymouth/plymouth!359

10 months agoply-utils: Create parent directory before binding concrete socket
Alessandro Astone [Tue, 22 Jul 2025 07:40:43 +0000 (09:40 +0200)] 
ply-utils: Create parent directory before binding concrete socket

bind()'ing a concrete socket requires that the parent directory exists already.

10 months agoMerge branch 'fix-keymap-icon-on-second-gpu' into 'main'
Hans de Goede [Mon, 14 Jul 2025 09:23:05 +0000 (11:23 +0200)] 
Merge branch 'fix-keymap-icon-on-second-gpu' into 'main'

Fix keymap and capslock icon on displays on second GPU

See merge request plymouth/plymouth!356

10 months agoFix keymap and capslock icon on displays on second GPU
Hans de Goede [Wed, 2 Jul 2025 07:31:21 +0000 (09:31 +0200)] 
Fix keymap and capslock icon on displays on second GPU

The keymap and capslock code in src/plugins/renderers/drm/plugin.c relies
on the terminal passed to backend_create() to get the keymap and current
capslock state (when not using evdev input because of e.g. no XKBLAYOUT
in /etc/vconsole.conf which is the default in at least Fedora).

When 2 GPUs which both have displays attached are used only the first
one gets passed the local_console_terminal as terminal (it is considered
the terminal owner and e.g. listens for keypresses). This leads to keymap
and capslock icons not being shown on displays attached to the second GPU.

To fix this add a second ply_terminal_t argument to backend_create() called
local_console_terminal, which will pass the local_console_terminal to both
drm plugin instances. And modify the drm plugin capslock and keymap code to
use this instead of the normal terminal argument which will be NULL on
the second GPU.

Link: https://bugzilla.redhat.com/show_bug.cgi?id=2375854
Signed-off-by: Hans de Goede <hansg@kernel.org>
10 months agoMerge branch 'use-simpledrm-no-luks' into 'main'
Hans de Goede [Mon, 14 Jul 2025 09:20:17 +0000 (11:20 +0200)] 
Merge branch 'use-simpledrm-no-luks' into 'main'

Add UseSimpledrmNoLuks config file keyword

See merge request plymouth/plymouth!355

10 months agoAdd UseSimpledrmNoLuks config file keyword
Hans de Goede [Tue, 1 Jul 2025 18:41:24 +0000 (20:41 +0200)] 
Add UseSimpledrmNoLuks config file keyword

Add a UseSimpledrmNoLuks config file keyword this enables simpledrm use,
like the existing "UseSimpledrm" config file keyword. Except when using
LUKS. Showing the LUKS unlock screen using simpledrm has 2 problems:

1. If the GPU drivers are built into the initrd then typically the
   unlock screen will briefly show and then the screen goes black

2. The i915 driver uses the firmware framebuffer as fallback when
   userspace has not installed a fb to scan out from. This happens
   e.g. on logout between the user-session and the display-manager.
   Drawing the unlock screen on the simpledrm fb results in it briefly
   showing when logging out, which looks quite ugly.

This allows distributions to chose to only enable simpledrm when
LUKS is not used.

Link: https://bugzilla.redhat.com/show_bug.cgi?id=2359283
Signed-off-by: Hans de Goede <hansg@kernel.org>
10 months agoMerge branch 'ply_event_loop_watch_fd-assert-fix' into 'main'
Hans de Goede [Mon, 14 Jul 2025 08:52:16 +0000 (10:52 +0200)] 
Merge branch 'ply_event_loop_watch_fd-assert-fix' into 'main'

drm: Fix crash when terminal fd is still -1 after reconnect

See merge request plymouth/plymouth!354

10 months agodrm: Fix crash when terminal fd is still -1 after reconnect
Hans de Goede [Tue, 1 Jul 2025 12:37:03 +0000 (14:37 +0200)] 
drm: Fix crash when terminal fd is still -1 after reconnect

The drm plugin code installs a fd disconnect handler for the terminal fd
which simply calls open_input_source () again.

This assumes that the ply-terminal code's disconnect handler has run first
(which it should) and that ply_terminal_reopen_device () has successfully
re-opened the terminal. This last condition is not always true, resulting
in open_input_source () calling ply_event_loop_watch_fd () with a -1 fd
triggerig an assert in ply_event_loop_watch_fd ():

5  0x00007f62d39a1c6f in __assert_fail (assertion=<optimized out>, file=<optimized out>, line=<optimized out>, function=<optimized out>) at assert.c:127
6  0x00007f62d3bc22c7 in ply_event_loop_watch_fd (loop=<optimized out>, fd=-1, status=status@entry=PLY_EVENT_LOOP_FD_STATUS_HAS_DATA,
    status_met_handler=status_met_handler@entry=0x7f62d3790870 <on_terminal_key_event>,
    disconnected_handler=disconnected_handler@entry=0x7f62d3790c70 <on_input_source_disconnected>, user_data=user_data@entry=0x5647f7dd9fb8)
    at ../src/libply/ply-event-loop.c:732
7  0x00007f62d3790bf6 in open_input_source (backend=0x5647f7dd9f90, input_source=0x5647f7dd9fb8) at ../src/plugins/renderers/drm/plugin.c:1930
8  0x00007f62d3bcbd53 in ply_event_loop_handle_disconnect_for_source (loop=<optimized out>, source=0x5647f7dd69f0) at ../src/libply/ply-event-loop.c:1065
9  ply_event_loop_disconnect_source (loop=<optimized out>, source=0x5647f7dd69f0) at ../src/libply/ply-event-loop.c:1157
10 ply_event_loop_process_pending_events (loop=0x5647f7dd13e0) at ../src/libply/ply-event-loop.c:1277
11 0x00007f62d3bcc068 in ply_event_loop_run (loop=0x5647f7dd13e0) at ../src/libply/ply-event-loop.c:1311
12 0x00005647c99bba48 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.c:2572

Fix this by checking that the fd >= 0 before calling
ply_event_loop_watch_fd ().

The above backtrace is from the drm plugin, but the same problem exists
in the frame-buffer plugin. So this fix is applied to both.

Link: https://bugzilla.redhat.com/show_bug.cgi?id=2370979
Signed-off-by: Hans de Goede <hansg@kernel.org>
10 months agoMerge branch 'two-step-diskunlockscreen-tweaks' into 'main'
Hans de Goede [Mon, 14 Jul 2025 08:49:07 +0000 (10:49 +0200)] 
Merge branch 'two-step-diskunlockscreen-tweaks' into 'main'

two-step: 2 small disk unlock screen cosmetic tweaks

See merge request plymouth/plymouth!357

10 months agotwo-step: Add some padding between text-entry field and prompt
Hans de Goede [Thu, 3 Jul 2025 10:28:41 +0000 (12:28 +0200)] 
two-step: Add some padding between text-entry field and prompt

Two-step's disk unlock screen shows the prompt text directly below
the text entry field without any padding which looks bad.

Add some padding to make things look better.

Link: https://bugzilla.redhat.com/show_bug.cgi?id=2356893
Signed-off-by: Hans de Goede <hansg@kernel.org>
10 months agotwo-step: Remove ':' at the end of (passphrase) prompt below text entry field
Hans de Goede [Thu, 3 Jul 2025 10:23:57 +0000 (12:23 +0200)] 
two-step: Remove ':' at the end of (passphrase) prompt below text entry field

When asked for e.g. a disk unlock passphrase, plymouth will be passed
a prompt like: "Please enter passphrase for disk $DISK:" the ':' in
the end makes sense when asking for this a text console, but this makes
less sense in the two-step disk unlock screen where the text is below
the passphrase entry field.

Strip any ':' char at the prompt's end on two-step's disk unlock screen.

Link: https://bugzilla.redhat.com/show_bug.cgi?id=2356893
Signed-off-by: Hans de Goede <hansg@kernel.org>
10 months agoMerge branch 'fix-ply-keymap-icon-label-fallback' into 'main'
Hans de Goede [Mon, 14 Jul 2025 08:30:42 +0000 (10:30 +0200)] 
Merge branch 'fix-ply-keymap-icon-label-fallback' into 'main'

ply-keymap-icon: Fix falling back to label-plugin when there is no pre-rendered text

See merge request plymouth/plymouth!358

10 months agoply-keymap-icon: Fix falling back to label-plugin when there is no pre-rendered text
Hans de Goede [Thu, 3 Jul 2025 11:05:13 +0000 (13:05 +0200)] 
ply-keymap-icon: Fix falling back to label-plugin when there is no pre-rendered text

In order for the fallback path (keymap_icon->has_prerendered_text == false)
to work properly keymap_icon->keymap_name must be set when no pre-rendered
text is found.

Tested by temporarily removing the "us" entry from ply-keymap-metadata.h.

Signed-off-by: Hans de Goede <hansg@kernel.org>
10 months agoMerge branch 'drm_simpledrm_dpi' into 'main'
Hans de Goede [Mon, 14 Jul 2025 07:29:42 +0000 (09:29 +0200)] 
Merge branch 'drm_simpledrm_dpi' into 'main'

drm: Add simpledrm HiDPI display support

See merge request plymouth/plymouth!348

10 months agodrm: Add simpledrm HiDPI display support
Janne Grunau [Sat, 17 May 2025 06:57:06 +0000 (08:57 +0200)] 
drm: Add simpledrm HiDPI display support

For devicetree based systems simpledrm might know the actual physical
display dimensions. Test if the reported connector width and height
result in a pixel density larger than 96 DPI. If that's the case
calculate the device scale instead of guessing it based on the
resolution.
This restores HiDPI scaling on 13-inch Apple silicon Macbooks with a
resolution of 2560x1600 (224 - 227 DPI) after commit 1421a9f6
("ply-utils: Increase threshold for guessed hiDPI scaling
to >= 2880x1620").

Signed-off-by: Janne Grunau <j@jannau.net>