Accepting request 1224452 from home:tdz:branches:Base:System

- Remove plymouth-only_use_fb_for_cirrus_bochs.patch: Bochs and cirrus
  DRM drivers are fully compatible with plymouth. Remove the workaround
  that forces them to use fbdev. Resolves the blank screen after disabling
  fbdev interfaces.(bsc#1232727)

- Set BOOT_TTY and SHUTDOWN_TTY to pre-Meson values. With Meson, the
  values BOOT_TTY and SHUTDOWN_TTY lose their defaults. As the given
  value of tty1 is not a full path name, plymouth fails to find the file
  and falls back to serial output. Restoring the _TTY defaults to
  /dev/tty1 and /dev/tty7 also restores graphics output. (bsc#1224150)

OBS-URL: https://build.opensuse.org/request/show/1224452
OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=381
This commit is contained in:
Cliff Zhao 2024-11-17 16:31:13 +00:00 committed by Git OBS Bridge
parent ecb31274b6
commit 4ad9b5295f
3 changed files with 28 additions and 63 deletions

View File

@ -1,50 +0,0 @@
From: Fabian Vogt <fvogt@suse.com>
Subject: force fb for cirrus and bochs, force drm otherwise
References: bsc#888590, bsc#980750
DRM does not work well with cirrus and bochs (no display) but the framebuffer driver
prevents DRM drivers from loading.
As we need to support cirrus for libvirt and bochs for QEMU, we cannot just remove support for frame-buffer.
diff -Nura plymouth-22.02.122+94.4bd41a3/src/libply-splash-core/ply-device-manager.c plymouth-22.02.122+94.4bd41a3_new/src/libply-splash-core/ply-device-manager.c
--- plymouth-22.02.122+94.4bd41a3/src/libply-splash-core/ply-device-manager.c 2022-10-26 19:09:02.000000000 +0800
+++ plymouth-22.02.122+94.4bd41a3_new/src/libply-splash-core/ply-device-manager.c 2022-10-27 00:07:06.605777003 +0800
@@ -316,6 +316,18 @@
subsystem = udev_device_get_subsystem (device);
ply_trace ("device subsystem is %s", subsystem);
+ const char *card_vendor = udev_device_get_sysattr_value (device, "device/vendor");
+ const char *card_device = udev_device_get_sysattr_value (device, "device/device");
+ bool use_fb = false;
+ if (card_vendor) {
+ /* Cirrus */
+ if (strcmp ("0x1013", card_vendor) == 0)
+ use_fb = true;
+ /* "Technical Corp", also used by bochs */
+ else if (strcmp ("0x1234", card_vendor) == 0)
+ use_fb = strcmp("0x1111", card_device) == 0;
+ }
+
if (strcmp (subsystem, SUBSYSTEM_DRM) == 0) {
if (!manager->device_timeout_elapsed && !verify_drm_device (device)) {
ply_trace ("ignoring since we only handle SimpleDRM devices after timeout");
@@ -323,10 +335,18 @@
}
ply_trace ("found DRM device %s", device_path);
renderer_type = PLY_RENDERER_TYPE_DRM;
+ if (use_fb) {
+ ply_trace ("forcing use of framebuffer for cirrusdrmfb");
+ renderer_type = PLY_RENDERER_TYPE_NONE;
+ }
} else if (strcmp (subsystem, SUBSYSTEM_FRAME_BUFFER) == 0) {
ply_trace ("found frame buffer device %s", device_path);
- if (!fb_device_has_drm_device (manager, device))
+ if (use_fb) {
renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER;
+ }
+ else if (!fb_device_has_drm_device (manager, device)) {
+ ply_trace ("avoiding use of framebuffer to not block DRM drivers from working");
+ }
else if (force_fb)
renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER;
else

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Fri Nov 15 11:58:59 UTC 2024 - Thomas Zimmermann <tzimmermann@suse.com>
- Remove plymouth-only_use_fb_for_cirrus_bochs.patch: Bochs and cirrus
DRM drivers are fully compatible with plymouth. Remove the workaround
that forces them to use fbdev. Resolves the blank screen after disabling
fbdev interfaces.(bsc#1232727)
-------------------------------------------------------------------
Fri Nov 15 11:28:41 UTC 2024 - Thomas Zimmermann <tzimmermann@suse.com>
- Set BOOT_TTY and SHUTDOWN_TTY to pre-Meson values. With Meson, the
values BOOT_TTY and SHUTDOWN_TTY lose their defaults. As the given
value of tty1 is not a full path name, plymouth fails to find the file
and falls back to serial output. Restoring the _TTY defaults to
/dev/tty1 and /dev/tty7 also restores graphics output. (bsc#1224150)
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Mar 08 17:21:11 UTC 2024 - Cliff Zhao <qzhao@suse.com> Fri Mar 08 17:21:11 UTC 2024 - Cliff Zhao <qzhao@suse.com>

View File

@ -37,24 +37,22 @@ Patch0: plymouth-dracut-path.patch
Patch1: plymouth-some-greenish-openSUSE-colors.patch Patch1: plymouth-some-greenish-openSUSE-colors.patch
# PATCH-FIX-OPENSUSE plymouth-disable-fedora-logo.patch qzhao@suse.com -- Disable the fedora logo reference which is not in openSUSE. # PATCH-FIX-OPENSUSE plymouth-disable-fedora-logo.patch qzhao@suse.com -- Disable the fedora logo reference which is not in openSUSE.
Patch2: plymouth-disable-fedora-logo.patch Patch2: plymouth-disable-fedora-logo.patch
# PATCH-FIX-OPENSUSE plymouth-only_use_fb_for_cirrus_bochs.patch bnc#888590 boo#1172028 bsc#1181913 fvogt@suse.com -- Force fb for cirrus and bochs, force drm otherwise. replace removal of framebuffer driver and plymouth-ignore-cirrusdrm.patch with single patch.
Patch3: plymouth-only_use_fb_for_cirrus_bochs.patch
# PATCH-FIX-OPENSUSE plymouth-keep-KillMode-none.patch bsc#1177082 bsc#1184087 boo#1182145 qzhao@suse.com -- Keep the plymouth-start.service KillMode=none. # PATCH-FIX-OPENSUSE plymouth-keep-KillMode-none.patch bsc#1177082 bsc#1184087 boo#1182145 qzhao@suse.com -- Keep the plymouth-start.service KillMode=none.
Patch4: plymouth-keep-KillMode-none.patch Patch3: plymouth-keep-KillMode-none.patch
# PATCH-FIX-OPENSUSE plymouth-install-label-library-and-font-file-to-initrd.patch boo#1183425 boo#1184309 qzhao@suse.com -- Pack label plugin and font into initram to ensure notice info could successfully show when partition encrypted. # PATCH-FIX-OPENSUSE plymouth-install-label-library-and-font-file-to-initrd.patch boo#1183425 boo#1184309 qzhao@suse.com -- Pack label plugin and font into initram to ensure notice info could successfully show when partition encrypted.
Patch5: plymouth-install-label-library-and-font-file-to-initrd.patch Patch4: plymouth-install-label-library-and-font-file-to-initrd.patch
# PATCH-FIX-OPENSUSE plymouth-quiet-dracut-build-info.patch bsc#1189613 qzhao@suse.com -- Hide unuseful output when re-generate initrd. # PATCH-FIX-OPENSUSE plymouth-quiet-dracut-build-info.patch bsc#1189613 qzhao@suse.com -- Hide unuseful output when re-generate initrd.
Patch6: plymouth-quiet-dracut-build-info.patch Patch5: plymouth-quiet-dracut-build-info.patch
# PATCH-FIX-OPENSUSE plymouth-watermark-config.patch bsc#1189613 qzhao@suse.com -- Add two-step water mark config support. # PATCH-FIX-OPENSUSE plymouth-watermark-config.patch bsc#1189613 qzhao@suse.com -- Add two-step water mark config support.
Patch7: plymouth-watermark-config.patch Patch6: plymouth-watermark-config.patch
# PATCH-FIX-OPENSUSE plymouth-log-on-default.patch bsc#1193736 qzhao@suse.com -- Enable plymouth log by default, help to resolve random appear problems. # PATCH-FIX-OPENSUSE plymouth-log-on-default.patch bsc#1193736 qzhao@suse.com -- Enable plymouth log by default, help to resolve random appear problems.
Patch8: plymouth-log-on-default.patch Patch7: plymouth-log-on-default.patch
# PATCH-FIX-OPENSUSE plymouth-screen-twice-scale-on-160DPI-higher.patch boo#1183425 boo#1184309 qzhao@suse.com -- When DPI > 160, screen will scale output twice. # PATCH-FIX-OPENSUSE plymouth-screen-twice-scale-on-160DPI-higher.patch boo#1183425 boo#1184309 qzhao@suse.com -- When DPI > 160, screen will scale output twice.
Patch9: plymouth-screen-twice-scale-on-160DPI-higher.patch Patch8: plymouth-screen-twice-scale-on-160DPI-higher.patch
# PATCH-FIX-OPENSUSE plymouth-crash-avoid-on-keyboard-remove-input-handler.patch bsc#1193736 qzhao@suse.com -- Confirm keyboard handler list not NULL before release memory to avoid crash. # PATCH-FIX-OPENSUSE plymouth-crash-avoid-on-keyboard-remove-input-handler.patch bsc#1193736 qzhao@suse.com -- Confirm keyboard handler list not NULL before release memory to avoid crash.
Patch10: plymouth-crash-avoid-on-keyboard-remove-input-handler.patch Patch9: plymouth-crash-avoid-on-keyboard-remove-input-handler.patch
# PATCH-FIX-OPENSUSE plymouth-adapts-xkbommon.patch qzhao@suse.com -- openSUSE specify xkbommon header files position, plymouth adapt with that to build successfully. # PATCH-FIX-OPENSUSE plymouth-adapts-xkbommon.patch qzhao@suse.com -- openSUSE specify xkbommon header files position, plymouth adapt with that to build successfully.
Patch11: plymouth-adapts-xkbommon.patch Patch10: plymouth-adapts-xkbommon.patch
BuildRequires: docbook-xsl-stylesheets BuildRequires: docbook-xsl-stylesheets
BuildRequires: gcc BuildRequires: gcc
BuildRequires: libtool BuildRequires: libtool
@ -90,7 +88,7 @@ Requires: %{name}-branding
Requires: systemd >= 186 Requires: systemd >= 186
Requires(post): coreutils Requires(post): coreutils
Requires(post): plymouth-scripts = %{version} Requires(post): plymouth-scripts = %{version}
Requires(postun):coreutils Requires(postun): coreutils
Suggests: plymouth-plugin-label Suggests: plymouth-plugin-label
Provides: bootsplash = 3.5 Provides: bootsplash = 3.5
Obsoletes: bootsplash < 3.5 Obsoletes: bootsplash < 3.5
@ -381,8 +379,8 @@ Plymouth.
%endif %endif
-D release-file=/etc/os-release \ -D release-file=/etc/os-release \
-D runstatedir=/run \ -D runstatedir=/run \
-D boot-tty=tty1 \ -D boot-tty=/dev/tty1 \
-D shutdown-tty=tty1 \ -D shutdown-tty=/dev/tty7 \
-D background-start-color-stop=0x1A3D1F \ -D background-start-color-stop=0x1A3D1F \
-D background-end-color-stop=0x4EA65C \ -D background-end-color-stop=0x4EA65C \
-D background-color=0x3391cd \ -D background-color=0x3391cd \