Updated the description

** 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. This affects all
- 26.04 LTS users with tiled monitors.
+ 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 (not yet released). All
- apply unmodified.
+ 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
  
  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 with a Dell UP3218K connected by both DisplayPort cables,
- booted with plymouth.debug:
+ On 26.04 or 26.10 with a Dell UP3218K connected by both DisplayPort
+ cables, booted with plymouth.debug:
  
- 1. With -0ubuntu8: two logos and two spinners at boot and shutdown.
+ 1. With the current archive version (26.04: -0ubuntu8 or -0ubuntu8.1,
+    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".
  
- Regression checks, which should look the same as with -0ubuntu8:
+ 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)
  
  [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.
  * 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.
  * 12309506 recalculates the panel size used to place the firmware
    (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.
+ * 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.
+ * 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).
  * The same code, built in PPA ~kchsieh/verification, was tested on 26.04
    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.
  
  --- 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

Reply via email to