Accepting request 889247 from home:qzhao:branches:Base:System

Add plymouth-nolonger-use-framebuffer-lab-needed.patch: Make plymouth nolonger use framebuffer(bnc#1181913).

OBS-URL: https://build.opensuse.org/request/show/889247
OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=297
This commit is contained in:
Cliff Zhao 2021-04-29 09:51:56 +00:00 committed by Git OBS Bridge
parent 55936d7e36
commit 41bf0d857f
4 changed files with 18 additions and 53 deletions

View File

@ -0,0 +1,13 @@
diff -Nura plymouth-0.9.5+git20201026+53c83cc/src/libply-splash-core/ply-device-manager.c plymouth-0.9.5+git20201026+53c83cc_new/src/libply-splash-core/ply-device-manager.c
--- plymouth-0.9.5+git20201026+53c83cc/src/libply-splash-core/ply-device-manager.c 2021-04-29 17:14:25.680003513 +0800
+++ plymouth-0.9.5+git20201026+53c83cc_new/src/libply-splash-core/ply-device-manager.c 2021-04-29 17:17:27.379610273 +0800
@@ -280,7 +280,8 @@
} 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))
- renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER;
+ /* renderer_type = PLY_RENDERER_TYPE_FRAME_BUFFER; */
+ ply_trace ("avoiding use of framebuffer to not block DRM drivers from working");
else
ply_trace ("ignoring, since there's a DRM device associated with it");
}

View File

@ -1,47 +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.
Index: plymouth-0.9.3+git20180807.7663b0c/src/libply-splash-core/ply-device-manager.c
===================================================================
--- plymouth-0.9.3+git20180807.7663b0c.orig/src/libply-splash-core/ply-device-manager.c 2018-08-07 17:41:15.000000000 +0200
+++ plymouth-0.9.3+git20180807.7663b0c/src/libply-splash-core/ply-device-manager.c 2018-08-17 19:58:41.178821647 +0200
@@ -228,13 +228,33 @@ create_devices_for_udev_device (ply_devi
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 (subsystem != NULL && strcmp (subsystem, SUBSYSTEM_DRM) == 0) {
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
ply_trace ("ignoring, since there's a DRM device associated with it");
}

View File

@ -1,9 +1,8 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Feb 24 08:25:42 UTC 2021 - Cliff Zhao <qzhao@suse.com> Wed Feb 24 08:25:42 UTC 2021 - Stefan Dirsch <sndirsch@suse.com>
- Pickup plymouth-only_use_fb_for_cirrus_bochs.patch: Currently our - Add plymouth-nolonger-use-framebuffer-lab-needed.patch: Make
kernel hardware support need this fix, and boo#1172028 will be plymouth nolonger use framebuffer(bnc#1181913).
fix seperately (bsc#1181913, boo#1172028).
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Feb 13 14:25:36 UTC 2021 - Arjen de Korte <suse+build@de-korte.org> Sat Feb 13 14:25:36 UTC 2021 - Arjen de Korte <suse+build@de-korte.org>

View File

@ -47,8 +47,8 @@ Patch3: plymouth-manpages.patch
Patch4: plymouth-no-longer-modify-conf-to-drop-isopensuse-macro.patch Patch4: plymouth-no-longer-modify-conf-to-drop-isopensuse-macro.patch
# PATCH-FIX-OPENSUSE plymouth-disable-fedora-logo.patch qzhao@opensuse.org -- Disable the fedora logo reference which is not in openSUSE. # PATCH-FIX-OPENSUSE plymouth-disable-fedora-logo.patch qzhao@opensuse.org -- Disable the fedora logo reference which is not in openSUSE.
Patch6: plymouth-disable-fedora-logo.patch Patch6: plymouth-disable-fedora-logo.patch
# PATCH-FIX-OPENSUSE plymouth-only_use_fb_for_cirrus_bochs.patch bnc#888590 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. # PATCH-FIX-OPENSUSE plymouth-nolonger-use-framebuffer-lab-needed.patch bnc#1181913 sndirsch@suse.com -- Make plymouth nolonger use framebuffer.
Patch7: plymouth-only_use_fb_for_cirrus_bochs.patch Patch7: plymouth-nolonger-use-framebuffer-lab-needed.patch
# PATCH-FIX-UPSTREAM 0001-Add-label-ft-plugin.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. # PATCH-FIX-UPSTREAM 0001-Add-label-ft-plugin.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption.
Patch1000: 0001-Add-label-ft-plugin.patch Patch1000: 0001-Add-label-ft-plugin.patch
# PATCH-FIX-UPSTREAM 0002-Install-label-ft-plugin-into-initrd-if-available.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption. # PATCH-FIX-UPSTREAM 0002-Install-label-ft-plugin-into-initrd-if-available.patch boo#959986 fvogt@suse.com -- add ability to output text in initrd needed for encryption.