From ee5e2b5c27488f803fcf569834a4bd43cfe53248 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Fri, 24 Apr 2026 11:04:01 -0700 Subject: [PATCH] Wayland: start gnome-session-x11-services-ready.target --- compositor/WindowManager.vala | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/compositor/WindowManager.vala b/compositor/WindowManager.vala index 791805a5..3ac6082d 100644 --- a/compositor/WindowManager.vala +++ b/compositor/WindowManager.vala @@ -71,6 +71,33 @@ namespace GreeterCompositor { display.gl_video_memory_purged.connect (() => { refresh_background (); }); + + if (Meta.Util.is_wayland_compositor ()) { + display.init_xserver.connect ((task) => { + start_x11_services.begin (task); + return true; + }); + } + } + + private async void start_x11_services (GLib.Task task) { + try { + var session_bus = yield GLib.Bus.@get (GLib.BusType.SESSION); + yield session_bus.call ( + "org.freedesktop.systemd1", + "/org/freedesktop/systemd1", + "org.freedesktop.systemd1.Manager", + "StartUnit", + new GLib.Variant ("(ss)", "gnome-session-x11-services-ready.target", "fail"), + new GLib.VariantType ("(o)"), + GLib.DBusCallFlags.NONE, + -1 + ); + } catch (Error e) { + critical (e.message); + } finally { + task.return_boolean (true); + } } void refresh_background () {