** Description changed: [Impact] Plymouth draws the splash separately on every DRM display controller. A tiled monitor is one panel driven through several controllers, described by the connector TILE property, so plymouth draws a full splash on each tile. On a Dell UP3218K (7680x4320, two tiles) boot and shutdown show two logos and two spinners side by side instead of one. 26.04 LTS and 26.10 ship the same plymouth snapshot (24.004.60+git20250831) and are both affected, as is the current 27.04 development series. [Fix] Cherry-pick seven commits from upstream main. They are not in any upstream release yet (the latest, 26.134.222, predates them). All apply unmodified, with line offsets only. - 43b66bfe drm: guard gamma ramp setup against bogus gamma_size - d06b757a drm: Parse tiled display metadata - dd685898 drm: Select modes for display tiles - dd677c87 drm: Plan tiled display geometry - 94cb2c8c drm: Store scanout state per controller - b3342873 drm: Read connector tile properties - 12309506 drm: Combine tiled outputs into logical heads + 43b66bfe drm: guard gamma ramp setup against bogus gamma_size + d06b757a drm: Parse tiled display metadata + dd685898 drm: Select modes for display tiles + dd677c87 drm: Plan tiled display geometry + 94cb2c8c drm: Store scanout state per controller + b3342873 drm: Read connector tile properties + 12309506 drm: Combine tiled outputs into logical heads The last six are MR !496. 43b66bfe (MR !411) is a prerequisite for 94cb2c8c. The MR's three test-only commits are left out: they extend upstream's unit-test suite, which is newer than the packaged snapshot, and they don't change the shipped binaries. The same seven patches go into 27.04 (0ubuntu11), 26.10 (0ubuntu10.1) and 26.04 (0ubuntu8.2). They only touch src/plugins/renderers/drm/. [Test Plan] On 26.04 or 26.10 with a Dell UP3218K connected by both DisplayPort cables, booted with plymouth.debug: 1. With the current archive version (26.04: -0ubuntu8 or -0ubuntu8.1, - 26.10: -0ubuntu10): two logos and two spinners at boot and shutdown. + 26.10: -0ubuntu10): two logos and two spinners at boot and shutdown. 2. With the update: one logo and one spinner, centred, at boot and - shutdown. /var/log/plymouth-debug.log contains "Creating 7680x4320 - logical head for TILE group". + shutdown. /var/log/plymouth-debug.log contains "Creating 7680x4320 + logical head for TILE group". Regression checks, which should look the same as with the current archive version: - - laptop panel only - - laptop panel plus a non-tiled external monitor - - full-disk encryption passphrase prompt - - a VM (e.g. QEMU with virtio-gpu) + - laptop panel only + - laptop panel plus a non-tiled external monitor + - full-disk encryption passphrase prompt + - a VM (e.g. QEMU with virtio-gpu) [Where problems could occur] Plymouth runs in the initramfs and at shutdown, and shows the disk-encryption passphrase prompt, so regressions would appear at boot or shutdown. * 94cb2c8c changes how every display is driven, not only tiled ones. A - mistake could mean a missing or misplaced splash, a black screen, or - plymouthd crashing. The worst case is an encrypted-disk user who - cannot see the passphrase prompt. + mistake could mean a missing or misplaced splash, a black screen, or + plymouthd crashing. The worst case is an encrypted-disk user who + cannot see the passphrase prompt. * The tiled path only runs for connectors with a TILE property, and - incomplete or inconsistent tile groups fall back to the old - behaviour. A wrong decision would show as a stretched, cropped or - still duplicated splash on a tiled monitor. + incomplete or inconsistent tile groups fall back to the old + behaviour. A wrong decision would show as a stretched, cropped or + still duplicated splash on a tiled monitor. * 12309506 recalculates the panel size used to place the firmware - (BGRT) logo, which could move it on multi-display systems. + (BGRT) logo, which could move it on multi-display systems. [Other Info] * Upstream issue: https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/353 * MRs: https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/496 - https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/411 - * Upload order: 27.04 (tenacious) first, then the 26.10 SRU, then the - 26.04 SRU. + https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/411 * The 26.04 upload (0ubuntu8.2) is built on top of 0ubuntu8.1 from - bug 2144770, which is in resolute-proposed. The two changes don't - overlap: that one only touches src/main.c. + bug 2144770, which is in resolute-proposed. The two changes don't + overlap: that one only touches src/main.c. * Test builds of the same source are in ppa:phantomba/verification: - 26.04 0ubuntu8.2~ppa1, 26.10 0ubuntu10.1~ppa1, 27.04 0ubuntu11~ppa1 - (build check only). + 26.04 0ubuntu8.2~ppa1, 26.10 0ubuntu10.1~ppa1, 27.04 0ubuntu11~ppa1 + (build check only). * The same code, built in PPA ~kchsieh/verification, was tested on 26.04 - with a UP3218K (comment #2). + with a UP3218K (comment #2). * Comment #4 (patched 5K iMac, 26.10 beta): once the GPU driver was up, - boot and shutdown showed a single splash across the tiled panel. The - low-resolution phase before that is probably the firmware framebuffer - (comment #6); a plymouth-debug log is needed to confirm. The change - adds no waiting logic, and incomplete tile groups fall back to - independent heads immediately. + boot and shutdown showed a single splash across the tiled panel. The + low-resolution phase before that is probably the firmware framebuffer + (comment #6); a plymouth-debug log is needed to confirm. The change + adds no waiting logic, and incomplete tile groups fall back to + independent heads immediately. --- Original description --- The DRM renderer currently creates a separate head for every active display controller. A tiled monitor exposes several controllers for segments of the same physical panel, so Plymouth lays out the splash independently on each segment. On displays such as the Dell UP3218K, that behavior produces two logos and two progress indicators across one 7680x4320 monitor. DRM already provides the group, grid position, and tile dimensions needed to identify the physical layout. This has been fixed upstream here: https://gitlab.freedesktop.org/plymouth/plymouth/-/commit/a2ef9b02a1aa1a43c9234097af60097ae5bf6498 This should be brought into Ubuntu to increase tiled display compatibility
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2167376 Title: Plymouth doesn't handle tiled displays properly To manage notifications about this bug go to: https://bugs.launchpad.net/oem-priority/+bug/2167376/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
