import gdm-40.0-19.el8
This commit is contained in:
parent
a119e6a8fe
commit
ef2b25ad70
@ -1,92 +0,0 @@
|
|||||||
From 903dd62114d24a90fe55a7cf42ea07233fe71879 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
|
||||||
Date: Mon, 29 Oct 2018 06:57:59 -0400
|
|
||||||
Subject: [PATCH] local-display-factory: pause for a few seconds before
|
|
||||||
falling back to X
|
|
||||||
|
|
||||||
logind currently gets confused if a session is started immediately as
|
|
||||||
one is shutting down.
|
|
||||||
|
|
||||||
Workaround this problem by adding an artificial delay when falling
|
|
||||||
back to X.
|
|
||||||
|
|
||||||
http://bugzilla.redhat.com/1643874
|
|
||||||
---
|
|
||||||
daemon/gdm-local-display-factory.c | 7 +++++++
|
|
||||||
1 file changed, 7 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
|
|
||||||
index eba38671..948c5d98 100644
|
|
||||||
--- a/daemon/gdm-local-display-factory.c
|
|
||||||
+++ b/daemon/gdm-local-display-factory.c
|
|
||||||
@@ -653,60 +653,67 @@ ensure_display_for_seat (GdmLocalDisplayFactory *factory,
|
|
||||||
preferred_display_server = get_preferred_display_server (factory);
|
|
||||||
|
|
||||||
if (g_strcmp0 (preferred_display_server, "none") == 0) {
|
|
||||||
g_debug ("GdmLocalDisplayFactory: Preferred display server is none, so not creating display");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = sd_seat_can_graphical (seat_id);
|
|
||||||
|
|
||||||
if (ret < 0) {
|
|
||||||
g_critical ("Failed to query CanGraphical information for seat %s", seat_id);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ret == 0) {
|
|
||||||
g_debug ("GdmLocalDisplayFactory: System doesn't currently support graphics");
|
|
||||||
seat_supports_graphics = FALSE;
|
|
||||||
} else {
|
|
||||||
g_debug ("GdmLocalDisplayFactory: System supports graphics");
|
|
||||||
seat_supports_graphics = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (g_strcmp0 (seat_id, "seat0") == 0) {
|
|
||||||
is_seat0 = TRUE;
|
|
||||||
|
|
||||||
falling_back = factory->num_failures > 0;
|
|
||||||
session_types = gdm_local_display_factory_get_session_types (factory, falling_back);
|
|
||||||
|
|
||||||
g_debug ("GdmLocalDisplayFactory: New displays on seat0 will use %s%s",
|
|
||||||
session_types[0], falling_back? " fallback" : "");
|
|
||||||
+
|
|
||||||
+ if (falling_back) {
|
|
||||||
+ /* workaround logind race for now
|
|
||||||
+ * bug 1643874
|
|
||||||
+ */
|
|
||||||
+ g_usleep (2 * G_USEC_PER_SEC);
|
|
||||||
+ }
|
|
||||||
} else {
|
|
||||||
is_seat0 = FALSE;
|
|
||||||
|
|
||||||
g_debug ("GdmLocalDisplayFactory: New displays on seat %s will use X11 fallback", seat_id);
|
|
||||||
/* Force legacy X11 for all auxiliary seats */
|
|
||||||
seat_supports_graphics = TRUE;
|
|
||||||
session_types = g_strdupv ((char **) legacy_session_types);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* For seat0, we have a fallback logic to still try starting it after
|
|
||||||
* SEAT0_GRAPHICS_CHECK_TIMEOUT seconds. i.e. we simply continue even if
|
|
||||||
* CanGraphical is unset.
|
|
||||||
* This is ugly, but it means we'll come up eventually in some
|
|
||||||
* scenarios where no master device is present.
|
|
||||||
* Note that we'll force an X11 fallback even though there might be
|
|
||||||
* cases where an wayland capable device is present and simply not marked as
|
|
||||||
* master-of-seat. In these cases, this should likely be fixed in the
|
|
||||||
* udev rules.
|
|
||||||
*
|
|
||||||
* At the moment, systemd always sets CanGraphical for non-seat0 seats.
|
|
||||||
* This is because non-seat0 seats are defined by having master-of-seat
|
|
||||||
* set. This means we can avoid the fallback check for non-seat0 seats,
|
|
||||||
* which simplifies the code.
|
|
||||||
*/
|
|
||||||
if (is_seat0) {
|
|
||||||
if (!seat_supports_graphics) {
|
|
||||||
if (!factory->seat0_graphics_check_timed_out) {
|
|
||||||
if (factory->seat0_graphics_check_timeout_id == 0) {
|
|
||||||
g_debug ("GdmLocalDisplayFactory: seat0 doesn't yet support graphics. Waiting %d seconds to try again.", SEAT0_GRAPHICS_CHECK_TIMEOUT);
|
|
||||||
factory->seat0_graphics_check_timeout_id = g_timeout_add_seconds (SEAT0_GRAPHICS_CHECK_TIMEOUT,
|
|
||||||
--
|
|
||||||
2.27.0
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
|||||||
Name: gdm
|
Name: gdm
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 40.0
|
Version: 40.0
|
||||||
Release: 17%{?dist}
|
Release: 19%{?dist}
|
||||||
Summary: The GNOME Display Manager
|
Summary: The GNOME Display Manager
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -46,7 +46,6 @@ Patch80001: 0001-local-display-factory-Don-t-try-to-respawn-displays-.patch
|
|||||||
Patch90001: 0001-session-worker-Set-session_vt-0-out-of-pam-uninitial.patch
|
Patch90001: 0001-session-worker-Set-session_vt-0-out-of-pam-uninitial.patch
|
||||||
|
|
||||||
# Non-upstreamable workarounds
|
# Non-upstreamable workarounds
|
||||||
Patch66610001: 0001-local-display-factory-pause-for-a-few-seconds-before.patch
|
|
||||||
Patch66620001: 0001-data-reap-gdm-sessions-on-shutdown.patch
|
Patch66620001: 0001-data-reap-gdm-sessions-on-shutdown.patch
|
||||||
|
|
||||||
# Non-upstreamable integration patches
|
# Non-upstreamable integration patches
|
||||||
@ -120,7 +119,7 @@ Requires: libXau >= 1.0.4-4
|
|||||||
Requires: pam >= 0:%{pam_version}
|
Requires: pam >= 0:%{pam_version}
|
||||||
Requires: /sbin/nologin
|
Requires: /sbin/nologin
|
||||||
Requires: setxkbmap
|
Requires: setxkbmap
|
||||||
Requires: systemd >= 186
|
Requires: systemd >= 239-50
|
||||||
Requires: system-logos
|
Requires: system-logos
|
||||||
Requires: xorg-x11-server-utils
|
Requires: xorg-x11-server-utils
|
||||||
Requires: xorg-x11-xinit
|
Requires: xorg-x11-xinit
|
||||||
@ -341,7 +340,7 @@ fi
|
|||||||
%{_libdir}/girepository-1.0/Gdm-1.0.typelib
|
%{_libdir}/girepository-1.0/Gdm-1.0.typelib
|
||||||
%{_libdir}/security/pam_gdm.so
|
%{_libdir}/security/pam_gdm.so
|
||||||
%{_libdir}/libgdm*.so*
|
%{_libdir}/libgdm*.so*
|
||||||
%dir %{_localstatedir}/log/gdm
|
%attr(0711, root, gdm) %dir %{_localstatedir}/log/gdm
|
||||||
%attr(1770, gdm, gdm) %dir %{_localstatedir}/lib/gdm
|
%attr(1770, gdm, gdm) %dir %{_localstatedir}/lib/gdm
|
||||||
%attr(0700, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.config
|
%attr(0700, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.config
|
||||||
%attr(0700, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.config/pulse
|
%attr(0700, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.config/pulse
|
||||||
@ -367,6 +366,15 @@ fi
|
|||||||
%{_libdir}/pkgconfig/gdm-pam-extensions.pc
|
%{_libdir}/pkgconfig/gdm-pam-extensions.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Oct 25 2021 Ray Strode <rstrode@redhat.com> - 40.0-19
|
||||||
|
- Synchronize permission and group ownership for log dir between
|
||||||
|
rpm file manifest and daemon expectations.
|
||||||
|
Resolves: #1878119
|
||||||
|
|
||||||
|
* Mon Oct 25 2021 Ray Strode <rstrode@redhat.com> - 40.0-18
|
||||||
|
- Drop usleep workaround for problem that's now fixed properly in systemd
|
||||||
|
Resolves: #1921732
|
||||||
|
|
||||||
* Wed Oct 13 2021 Ray Strode <rstrode@redhat.com> - 40.0-17
|
* Wed Oct 13 2021 Ray Strode <rstrode@redhat.com> - 40.0-17
|
||||||
- Properly switch VTs when jumping to multi-user target
|
- Properly switch VTs when jumping to multi-user target
|
||||||
Related: #1988958
|
Related: #1988958
|
||||||
|
Loading…
Reference in New Issue
Block a user