From 7800c1928055f2eea9829f5b4c1e1ee5b7c182b3 Mon Sep 17 00:00:00 2001 From: atagen Date: Sun, 24 May 2026 19:44:13 +1000 Subject: [PATCH] service: bind to graphical-session instead of pipewire to avoid flakiness --- contrib/systemd/headroom.service | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/contrib/systemd/headroom.service b/contrib/systemd/headroom.service index 024ce09..a1a74fb 100644 --- a/contrib/systemd/headroom.service +++ b/contrib/systemd/headroom.service @@ -8,6 +8,13 @@ Documentation=https://github.com/atagen/headroom After=pipewire.service pipewire-pulse.service wireplumber.service Requires=pipewire.service Wants=wireplumber.service +# Tie our lifecycle to the graphical session: graphical-session.target is +# started once per login by the compositor/DE and is the conventional anchor +# for user-scope session daemons. PartOf= means we stop/restart with it. +# (pipewire.service is socket-activated and has no stable "started for the +# session" lifecycle to WantedBy=, which is why anchoring there was flaky.) +PartOf=graphical-session.target +After=graphical-session.target ConditionUser=!@system [Service] @@ -36,4 +43,4 @@ LimitRTTIME=200000 LimitNICE=-11 [Install] -WantedBy=pipewire.service +WantedBy=graphical-session.target