[Unit] Description=Steam Launcher After=gamescope-session.target PartOf=gamescope-session.target [Service] ExecStart=steam-launcher # Track short sessions to trigger a repair after enough failures ExecStartPre=steam-short-session-tracker --track-started ExecStopPost=steam-short-session-tracker --track-stopped # To close properly we need to kill the child of the steam wrapper, as the wrapper itself does not forward signals ExecStop=/bin/bash -c 'kill -TERM $(pgrep -P $MAINPID || echo $MAINPID)' # Disable the term signal sent from systemd, as we we handle it manually above # But still want systemd to kill the entire cgroup on timeout KillSignal=SIGCONT KillMode=mixed TimeoutStopSec=60 Type=exec EnvironmentFile=%t/gamescope-environment