Please describe your issue in as much detail as possible:
Some specific games don't release the Gnome session inhibitor, so my monitors don't power off when they should. An example game is "Vampire Survivors".
Honestly, I don't know if this is a Steam Client, compatibility layer, or game issue (probably not a game issue since it's not Linux aware).
If I monitor the Gnome session (dbus-monitor sender="org.gnome.SessionManager"), you can see that two inhibitors are acquired, but one fails to release with an "invalid cookie" error:
Note that two inhibitors are acquired, and they have different names: "My SDL Application" and "SDL Application". "SDL Application" (the second one to be created) is the one that gets leaked.
When I launch a game that does NOT have the problem, only one inhibitor is acquired and it is released successfully:
Run dbus-send --session --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.GetInhibitors to see the orphaned inhibitor.
Your system information
steam-logs.tar.gz
Please describe your issue in as much detail as possible:
Some specific games don't release the Gnome session inhibitor, so my monitors don't power off when they should. An example game is "Vampire Survivors".
Honestly, I don't know if this is a Steam Client, compatibility layer, or game issue (probably not a game issue since it's not Linux aware).
If I monitor the Gnome session (
dbus-monitor sender="org.gnome.SessionManager"), you can see that two inhibitors are acquired, but one fails to release with an "invalid cookie" error:Note that two inhibitors are acquired, and they have different names: "My SDL Application" and "SDL Application". "SDL Application" (the second one to be created) is the one that gets leaked.
When I launch a game that does NOT have the problem, only one inhibitor is acquired and it is released successfully:
Gnome Session API reference may be useful: https://gnome.pages.gitlab.gnome.org/gnome-session/
Steps for reproducing this issue:
dbus-send --session --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.GetInhibitorsto see the orphaned inhibitor.