Add patches from upstream fixing details view on kernels build with
CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER
This commit is contained in:
parent
61f6bb5711
commit
ccb48d1b6d
@ -0,0 +1,36 @@
|
||||
From eb147e52b123070ab8839c3f59aaecc43fcc8652 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 25 Jun 2018 22:02:07 +0200
|
||||
Subject: [PATCH 1/3] renderer: support reactivating renderer without closing
|
||||
it first
|
||||
|
||||
At the moment, ply_renderer_activate() doesn't work immediately following
|
||||
ply_renderer_deactivate(). This is because the renderer isn't marked
|
||||
inactive until it's closed.
|
||||
|
||||
This commit marks the renderer inactive when it's deactivated.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=107047
|
||||
---
|
||||
src/libply-splash-core/ply-renderer.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libply-splash-core/ply-renderer.c b/src/libply-splash-core/ply-renderer.c
|
||||
index b9059ef..ecf7082 100644
|
||||
--- a/src/libply-splash-core/ply-renderer.c
|
||||
+++ b/src/libply-splash-core/ply-renderer.c
|
||||
@@ -314,7 +314,8 @@ ply_renderer_deactivate (ply_renderer_t *renderer)
|
||||
{
|
||||
assert (renderer->plugin_interface != NULL);
|
||||
|
||||
- return renderer->plugin_interface->deactivate (renderer->backend);
|
||||
+ renderer->plugin_interface->deactivate (renderer->backend);
|
||||
+ renderer->is_active = false;
|
||||
}
|
||||
|
||||
bool
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,61 @@
|
||||
From 778e0fb77a9dfb85270242f1238eba237488eb48 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 25 Jun 2018 16:55:39 +0200
|
||||
Subject: [PATCH 2/3] main: move ply_device_manager_deactivate_renderers() into
|
||||
hide_splash()
|
||||
|
||||
hide_splash() should be the counter-part of show_splash(). show_splash()
|
||||
calls ply_device_manager_activate_renderers() (through show_theme()).
|
||||
|
||||
2 of the 3 callers of hide_splash() are already calling
|
||||
ply_device_manager_deactivate_renderers() directly before calling
|
||||
hide_splash(). This commit moves the deactivate call into hide_splash()
|
||||
so that it also gets called from the 3th code-path, which is when
|
||||
the user hits the escape to key to toggle from the splash to details.
|
||||
|
||||
It's important that plymouth deactivates its renderers before going
|
||||
to details, because those renderers can block the kernel from
|
||||
initializing fbcon, which the kernel will start doing lazily in the
|
||||
future:
|
||||
|
||||
https://lkml.org/lkml/2018/6/26/489.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=107047
|
||||
---
|
||||
src/main.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/main.c b/src/main.c
|
||||
index 841fe6b..ff02ea6 100644
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -1174,6 +1174,8 @@ quit_splash (state_t *state)
|
||||
static void
|
||||
hide_splash (state_t *state)
|
||||
{
|
||||
+ ply_device_manager_deactivate_renderers (state->device_manager);
|
||||
+
|
||||
state->is_shown = false;
|
||||
|
||||
cancel_pending_delayed_show (state);
|
||||
@@ -1193,7 +1195,6 @@ dump_details_and_quit_splash (state_t *state)
|
||||
state->showing_details = false;
|
||||
toggle_between_splash_and_details (state);
|
||||
|
||||
- ply_device_manager_deactivate_renderers (state->device_manager);
|
||||
hide_splash (state);
|
||||
quit_splash (state);
|
||||
}
|
||||
@@ -1291,7 +1292,6 @@ on_boot_splash_idle (state_t *state)
|
||||
if (state->quit_trigger != NULL) {
|
||||
if (!state->should_retain_splash) {
|
||||
ply_trace ("hiding splash");
|
||||
- ply_device_manager_deactivate_renderers (state->device_manager);
|
||||
hide_splash (state);
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -0,0 +1,66 @@
|
||||
From 353d12806adf6be4d051d491a2af28e3b24b3063 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 2 Jul 2018 09:39:12 +0200
|
||||
Subject: [PATCH 3/3] show_theme: Only activate renderers if the splash uses
|
||||
pixel-displays
|
||||
|
||||
Since commit eb147e52b123 ("renderer: support reactivating renderer without
|
||||
closing it first"), the show_theme() call done by
|
||||
toggle_between_splash_and_details() will reactivate the renderers after
|
||||
switching to details mode, causing the drm renderer to switch the screen
|
||||
from text to graphics mode hiding the details being logged on the console.
|
||||
|
||||
This commit fixes this by making show_theme() not call
|
||||
ply_device_manager_activate_renderers() if the splash does not uses
|
||||
pixel-displays.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
src/libply-splash-core/ply-boot-splash.c | 5 +++++
|
||||
src/libply-splash-core/ply-boot-splash.h | 1 +
|
||||
src/main.c | 3 ++-
|
||||
3 files changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libply-splash-core/ply-boot-splash.c b/src/libply-splash-core/ply-boot-splash.c
|
||||
index 87a7a0c..7888785 100644
|
||||
--- a/src/libply-splash-core/ply-boot-splash.c
|
||||
+++ b/src/libply-splash-core/ply-boot-splash.c
|
||||
@@ -695,4 +695,9 @@ ply_boot_splash_become_idle (ply_boot_splash_t *splash,
|
||||
splash->plugin_interface->become_idle (splash->plugin, splash->idle_trigger);
|
||||
}
|
||||
|
||||
+bool ply_boot_splash_uses_pixel_displays (ply_boot_splash_t *splash)
|
||||
+{
|
||||
+ return splash->plugin_interface->add_pixel_display != NULL;
|
||||
+}
|
||||
+
|
||||
/* vim: set ts=4 sw=4 expandtab autoindent cindent cino={.5s,(0: */
|
||||
diff --git a/src/libply-splash-core/ply-boot-splash.h b/src/libply-splash-core/ply-boot-splash.h
|
||||
index b66ca47..0bdbe96 100644
|
||||
--- a/src/libply-splash-core/ply-boot-splash.h
|
||||
+++ b/src/libply-splash-core/ply-boot-splash.h
|
||||
@@ -89,6 +89,7 @@ void ply_boot_splash_attach_progress (ply_boot_splash_t *splash,
|
||||
void ply_boot_splash_become_idle (ply_boot_splash_t *splash,
|
||||
ply_boot_splash_on_idle_handler_t idle_handler,
|
||||
void *user_data);
|
||||
+bool ply_boot_splash_uses_pixel_displays (ply_boot_splash_t *splash);
|
||||
|
||||
|
||||
#endif
|
||||
diff --git a/src/main.c b/src/main.c
|
||||
index ff02ea6..13848c1 100644
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -1763,7 +1763,8 @@ show_theme (state_t *state,
|
||||
return NULL;
|
||||
|
||||
attach_splash_to_devices (state, splash);
|
||||
- ply_device_manager_activate_renderers (state->device_manager);
|
||||
+ if (ply_boot_splash_uses_pixel_displays (splash))
|
||||
+ ply_device_manager_activate_renderers (state->device_manager);
|
||||
|
||||
splash_mode = get_splash_mode_from_mode (state->mode);
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
@ -16,7 +16,7 @@
|
||||
Summary: Graphical Boot Animation and Logger
|
||||
Name: plymouth
|
||||
Version: 0.9.3
|
||||
Release: 9%{?snapshot_rel}%{?dist}
|
||||
Release: 10%{?snapshot_rel}%{?dist}
|
||||
License: GPLv2+
|
||||
URL: http://www.freedesktop.org/wiki/Software/Plymouth
|
||||
Group: System Environment/Base
|
||||
@ -43,6 +43,12 @@ Patch8: 0001-device-manager-skip-graphical-renderer-setup-when-de.patch
|
||||
# Patch from upstream fixes boot with rhgb but no renderers available
|
||||
Patch9: 0001-device-manager-fall-back-to-text-mode-if-graphical-d.patch
|
||||
|
||||
# Patches from upstream to fix details view on kernels build with
|
||||
# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER
|
||||
Patch10: 0001-renderer-support-reactivating-renderer-without-closi.patch
|
||||
Patch11: 0002-main-move-ply_device_manager_deactivate_renderers-in.patch
|
||||
Patch12: 0003-show_theme-Only-activate-renderers-if-the-splash-use.patch
|
||||
|
||||
BuildRequires: pkgconfig(libdrm)
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
BuildRequires: kernel-headers
|
||||
@ -464,6 +470,10 @@ fi
|
||||
%files system-theme
|
||||
|
||||
%changelog
|
||||
* Mon Jul 02 2018 Hans de Goede <jwrdegoede@fedoraproject.org> - 0.9.3-10
|
||||
- Add patches from upstream fixing details view on kernels build with
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER
|
||||
|
||||
* Wed Jun 06 2018 Adam Williamson <awilliam@redhat.com> - 0.9.3-9
|
||||
- Backport patch to avoid loading renderers on non-rhgb boot
|
||||
- Backport patch to handle 'rhgb' but no renderers available
|
||||
|
Loading…
Reference in New Issue
Block a user