Accepting request 889267 from home:qzhao:branches:Base:System
Pickup plymouth-only_use_fb_for_cirrus_bochs.patch: Currently our kernel hardware support need this fix, and boo#1172028 will be fix seperately (bnc#888590 boo#1172028 bsc#1181913). OBS-URL: https://build.opensuse.org/request/show/889267 OBS-URL: https://build.opensuse.org/package/show/Base:System/plymouth?expand=0&rev=298
This commit is contained in:
parent
41bf0d857f
commit
03826f648a
@ -1,13 +0,0 @@
|
||||
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");
|
||||
}
|
47
plymouth-only_use_fb_for_cirrus_bochs.patch
Normal file
47
plymouth-only_use_fb_for_cirrus_bochs.patch
Normal file
@ -0,0 +1,47 @@
|
||||
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");
|
||||
}
|
@ -1,8 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 24 08:25:42 UTC 2021 - Stefan Dirsch <sndirsch@suse.com>
|
||||
Wed Feb 24 08:25:42 UTC 2021 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add plymouth-nolonger-use-framebuffer-lab-needed.patch: Make
|
||||
plymouth nolonger use framebuffer(bnc#1181913).
|
||||
- Pickup plymouth-only_use_fb_for_cirrus_bochs.patch: Currently our
|
||||
kernel hardware support need this fix, and boo#1172028 will be
|
||||
fix seperately (bnc#888590 boo#1172028 bsc#1181913).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Feb 13 14:25:36 UTC 2021 - Arjen de Korte <suse+build@de-korte.org>
|
||||
|
@ -47,8 +47,8 @@ Patch3: plymouth-manpages.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.
|
||||
Patch6: plymouth-disable-fedora-logo.patch
|
||||
# PATCH-FIX-OPENSUSE plymouth-nolonger-use-framebuffer-lab-needed.patch bnc#1181913 sndirsch@suse.com -- Make plymouth nolonger use framebuffer.
|
||||
Patch7: plymouth-nolonger-use-framebuffer-lab-needed.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.
|
||||
Patch7: plymouth-only_use_fb_for_cirrus_bochs.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.
|
||||
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.
|
||||
@ -657,4 +657,4 @@ fi
|
||||
%dir %{_datadir}/plymouth/themes/bgrt
|
||||
%{_datadir}/plymouth/themes/bgrt/*.*
|
||||
|
||||
%changelog
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user