Open saellaven opened 5 years ago
Same issue here on Arch Linux. Is it related to
The screensaver will now be correctly interrupted when using controllers or In-Home Streaming
from the July 16, 2018 update?
It's likely related.
As an added data point, I tried disabling in home streaming and have my steam controller turned off, and the display still won't sleep.
This is still a problem as of today. I'm on a Gentoo machine with a blanking timeout of 10 minutes, which is never triggered as long as Steam is running, but works immediately after Steam is terminated.
Confirming this issue on Fedora 28 with Steam version 1536436120. Steam prevents DPMS from turning off my monitors but does not prevent xautolock from locking my screen. I have no controllers connected and I've disabled in-home streaming. If I close Steam DPMS works and my monitors shut off when expected.
If you're trying to reproduce it I've found that if I start Steam but don't interact with it my DPMS settings work as expected, at least with the DPMS timeouts set very low for testing. It's only when I interact with Steam - changing tabs to and from my library, chatting, opening the options menus - that Steam starts interfering with DPMS. It's also possible that letting enough time pass without interacting it will also trigger the bug; I did not test enough to rule this out.
FWIW, I've been experiencing this issue since way before the July update, and I remember noticing it even on Windows more than a year ago.
I've been having this issue since at least before issue https://github.com/ValveSoftware/steam-for-linux/issues/5532 opened.
I've got neither org.gnome.ScreenSaver or org.freedesktop.ScreenSaver dbus services and my x11 idle timer continues to increase. Still, my monitors never sleep with steam open (I can just open steam for this issue to take effect, i don't need to interact with it or start a game).
How is steam disrupting dpms behavior as it seems x11 idle isn't used and the dbus methods return errors on my system?
for ref. sdl2 functions:
X11_SuspendScreenSaver()
SDL_DBus_ScreensaverTickle()
SDL_DBus_ScreensaverInhibit()
I confirm this exact same issue on my system:
Linux 4.x (64 bit)
Kernel Name: Linux
Kernel Version: 4.18.14-arch1-1-ARCH
X Server Vendor: The X.Org Foundation
X Server Release: 12002000
X Window Manager: awesome
Steam Runtime Version: steam-runtime-beta-release_2018-09-03
I'm still experiencing this problem, too.
Linux 4.x (64 bit)
Kernel Name: Linux
Kernel Version: 4.18.7-arch1-1-ARCH
X Server Vendor: The X.Org Foundation
X Server Release: 12001000
X Window Manager: awesome
Steam Runtime Version: steam-runtime-beta-release_2018-09-03
This is still a problem.
Steam is intentionally inhibiting DPMS. Run dbus-monitor --session
, then start Steam, and search the output for "inhibit":
$ dbus-monitor --session
[...]
method call time=1549222988.474789 sender=:1.315 -> destination=org.freedesktop.ScreenSaver serial=2 path=/org/freedesktop/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
string "My SDL application"
string "Playing a game"
method call time=1549222988.475227 sender=:1.213 -> destination=org.gnome.SessionManager serial=704 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=Inhibit
string "My SDL application"
uint32 0
string "Playing a game"
uint32 8
I'm using the Steam client beta, Steam package version 1549129917 (built 2nd Feb 2019 17:21:48).
Any news on this?
Can confirm that this is happening on my Arch install with bspwm as my window manager.
Operating System Version:
"Arch Linux" (64 bit)
Kernel Name: Linux
Kernel Version: 5.0.3-arch1-1-ARCH
X Server Vendor: The X.Org Foundation
X Server Release: 12004000
X Window Manager: bspwm
Steam Runtime Version: <Runtime disabled>
Can confirm also on ubuntu 18.10 xfce 4.12
I can confirm too. Antergos, Steam beta, KDE.
method call time=1557473218.655330 sender=:1.15 -> destination=org.kde.Solid.PowerManagement.PolicyAgent serial=20651 path=/org/kde/Solid/PowerManagement/PolicyAgent; interface=org.kde.Solid.PowerManagement.PolicyAgent; member=AddInhibition
uint32 4
string "My SDL application"
string "Playing a game"
method call time=1557473218.833311 sender=:1.15 -> destination=org.kde.Solid.PowerManagement.PolicyAgent serial=20654 path=/org/kde/Solid/PowerManagement/PolicyAgent; interface=org.kde.Solid.PowerManagement.PolicyAgent; member=ReleaseInhibition
uint32 4307
Also seeing this here. With the Steam client running, no blanking. Without, blanking occurs as it should.
I'm using the screen blanker built into X, Devuan beowulf, current Steam beta, Xfce, xf86-video-amdgpu 19.0.1.
Just posting my info from issue #6337 into this thread so people don't have to click though. Also, whether or not I've recently played a game, or played a game since exiting and restarting the Steam client has no bearing on this, it just randomly occurs.
Your system information
Steam client version (build number or date): Jun 21 2019 @ 01:43:20. API v018
Steam package versions: 1561159470
Distribution (e.g. Ubuntu): KDE Neon 5.16
Opted into Steam client beta?: Yes
Have you checked for system updates?: Yes
Please describe your issue in as much detail as possible:
Steam client randomly disables power management with the notification "My SDL application is currently suppressing power management: playing a game" dosplayed in the Battery and Brightness widget. Exiting Steam and restarting will clear the problem for a random period of time, after which the power management is disabled again with the same notification. Steps for reproducing this issue:
Run Steam client.
Wait a random, indeterminate period of time.
Notice screen no longer blanks after set inactivity time.
Seems to be similar to issue #5532 from about a year ago, but I don't recall having that problem back then. This started happening a few weeks ago, and I've just now taken the time to trace it to the Steam Client.
happens here too, and its quite annoying
I also have this problem, and have for at least several months. Maybe more; I'm not sure when it started. Monitor never turns off when Steam is running, turns off as normal when idle if Steam is not running.
Operating System Version:
"Arch Linux" (64 bit)
Kernel Name: Linux
Kernel Version: 5.0.11-arch1-1-ARCH
X Server Vendor: The X.Org Foundation
X Server Release: 12004000
X Window Manager: Openbox
Steam Runtime Version: steam-runtime_0.20190626.0
the really weird part is i dont have a org.freedesktop.ScreenSaver nor org.kde.Solid.PowerManagement.PolicyAgent because i run a standalone WM. and i even tried setting the sdl env vars, SDL_VIDEO_ALLOW_SCREENSAVER SDL_HINT_VIDEO_ALLOW_SCREENSAVER
and it still "inhibits" it.
OS: Fedora 30 Kernel: 5.1.17-300.fc30.x86_64 Desktop: Cinnamon 4.0.10 Steam client version: 1563346602 Built Jul 17 2019 @ 06:14:18
I have an applet (Presentation Applet) that tells when apps are inhibiting the screen saver. Frequently, "My SDL application" will inhibit the screensaver, the only way to get rid of it is to log out or close Steam. Ironically, I also have the opposite problem where Steam wont inhibit the screensaver during a game, and the X server doesn't detect my gamepad as input prolonging the sleep timeout, so in gamepad games the screen will turn after 10 minutes of playing unless I use said applet to disable power saving features temporarily.
I have the same issue:
Operating System Version:
"Arch Linux" (64 bit)
Kernel Name: Linux
Kernel Version: 5.2.13-arch1-1-ARCH
X Server Vendor: The X.Org Foundation
X Server Release: 12005000
X Window Manager: i3
Steam Runtime Version: steam-runtime_0.20190711.3
I'm using the screensaver built in to X too.
I'm having the same issue.
Operating System Version:
"Manjaro Linux" (64 bit)
Kernel Name: Linux
Kernel Version: 5.2.14-1-MANJARO
X Server Vendor: The X.Org Foundation
X Server Release: 12005000
X Window Manager: KWin
Steam Runtime Version: <Runtime disabled>
I initially noticed this due to messages like these appearing in KSyslog:
9/14/19 12:59 PM org_kde_powerdevil powerdevil: Enforcing inhibition from ":1.11" "My SDL application" with cookie 39 and reason "Playing a game"
Then when restarting Steam I would see several of them pop out at once.
|9/15/19 9:42 AM|org_kde_powerdevil|powerdevil: Scheduling inhibition from ":1.11" "My SDL application" with cookie 15 and reason "Playing a game"|
|---|---|---|
|9/15/19 9:42 AM|org_kde_powerdevil|powerdevil: Releasing inhibition with cookie 15|
|9/15/19 9:42 AM|org_kde_powerdevil|powerdevil: It was only scheduled for inhibition but not enforced yet, just discarding it|
|9/15/19 9:42 AM|plasmashell|qml: temp unit: 0|
|9/15/19 9:42 AM|org_kde_powerdevil|powerdevil: Scheduling inhibition from ":1.11" "My SDL application" with cookie 16 and reason "Playing a game"|
|9/15/19 9:42 AM|org_kde_powerdevil|powerdevil: Releasing inhibition with cookie 16|
|9/15/19 9:42 AM|org_kde_powerdevil|powerdevil: It was only scheduled for inhibition but not enforced yet, just discarding it|
|9/15/19 9:42 AM|kdeinit5|Registering ":1.121/org/ayatana/NotificationItem/steam" to system tray|
Xset confirms DPMS is disabled while Steam is running.
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 0 cycle: 600
DPMS (Energy Star):
Standby: 0 Suspend: 0 Off: 0
DPMS is Disabled
While Steam is closed:
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 0 cycle: 600
DPMS (Energy Star):
Standby: 120 Suspend: 180 Off: 240
DPMS is Enabled
Monitor is On
This is exacerbated by #6503 due to repeated unblanking. Previously, once forced, the display would remain blanked (except in specific circumstances).
I use a hotkey combo running the command sh -c "sleep 1 && xset dpms force off"
to force my monitors to sleep - I have sleep mode otherwise turned off. After putting the displays to sleep, the steam client forces them to wake up almost immediately. Sometimes, after putting the monitor to sleep multiple times, the screens will remain dark until either I wake them up or the steam client pops up a message telling me the client is ready to update. This continues until I have exited the client, at which point the screens stay dark until I activate them. Basically, the same as reported above. I did not notice this behavior before I upgraded to Debian Buster from Stretch, but it is definitely a problem now.
Operating System Version:
Debian GNU/Linux 10 (buster) (64 bit)
Kernel Name: Linux
Kernel Version: 4.19.0-6-amd64
X Server Vendor: The X.Org Foundation
X Server Release: 12004000
X Window Manager: GNOME Shell
Steam Runtime Version: steam-runtime_0.20191007.0
To add to @tripkin 's comment- I also have the issue under Buster. However, I definitely had the issue under Stretch as well. Unfortunately I can't recall if I had it under Jessie.
I'm also having this problem, currently with Debian Buster, but it's been an issue for years. I always assumed that, since Steam makes heavy use of browser functionality, and I noticed the problem in Chromium around the same time as Steam, that it's related to this bug with Chromium inhibiting power management: https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/1600622
Same thing here. Archlinux current. Monitor blanks but never turns back light off when steam is running.
Same here.
As a workaround to the dbus DPMS inhibition issue, simply start the Steam client from the console with DBUS_SESSION_BUS_ADDRESS
environment variable set to an invalid location. Example on how this can be achieved can be done, and some warnings that steam writes out when it can't find dbus follows:
$ DBUS_SESSION_BUS_ADDRESS=unix:abstract=/dev/null steam
...
(steam:22879): libappindicator-WARNING **: 22:02:17.398: Unable to get the session bus: Could not connect: Connection refused
...
(steam:22879): LIBDBUSMENU-GLIB-WARNING **: 22:02:17.452: Unable to get session bus: Could not connect: Connection refused
Note that this workaround will break things such as the app indicator icon at the tray and possibly other features that depend on dbus, but until Valve fixes this issue, this may be an acceptable compromise to allow steam to stay running to download updates without keeping the screen on (or have it turn back on randomly despite already forcing the screen off using xset dpms force off
; especially useful for users with multiple screens connected using Display Port with buggy video card/drivers that don't play nice with desktop settings/window locations when they are manually powered off).
Yes, again, this is a sledgehammer solution - a solution that blocks just that org.freedesktop.ScreenSaver
Inhibit message would be much more preferable.
@metatoaster unfortunately that doesn't work on my machines.
i've posted on this report in the past - i'm running without either of the dbus services that steam is trying to use for this (and still get no blanking)... maybe steam is falling back to some other method of screensaver inhibition (one where my X idle timer continually increases) in this case.
side note: i'd imagine that other DE users will see the same as me since steam is only trying freedesktop & gnome connections. i don't know if there is some abstraction for these dbus service names, but the way xdg-screensaver works i'd guess not.
Since Steam uses it for offload and at least with NVIDIA any process using the GPU will block blanking... I'm not surprised.
nvidia-smi will show what processes are using it.
I am seeing this behaviour on Linux Mint 19.2 with Cinnamon desktop.
I've also started experiencing this issue since recently.
I have to shut down steam in order to be able to use xset dpms force off
(which gets waken up after a few seconds otherwise).
I only started having this issue after signing up for the beta client when the new library was released. When the new library left beta, I did too but the problem remained. Surprised to see that the bug has been around for so long, and disappointed that it hasn't been fixed after all this time.
Happens to me as well, Arch Linux with i3.
Arch Linux with KDE, same issue.
Manjaro Linux with Gnome3, still have this issue.
Yep, been having this issue for quite a while myself. Recently mismatched my lib32 nvidia drivers w/the 64-bit ones, and Steam wasn't starting for a bit, and my display power management was working, which was wonderful. Got Steam working again last night and the issue returned.
Almost a year and a half, and no solution. Come on Valve! Put a checkbox in settings that allows us to disable it. I want to be able to leave the client running and have my screens turn off when I go to sleep. I'm gonna quote Skwisgar Skwigelf: "This is d**dos!"
I kindly request comments on why the clearly-identified problem breaking monitor sleep cycles hasn't been dealt with after all this time. Is there any specific setup that Valve doesn't want to break? I honestly don't understand. Shutting down Steam when you leave your machine unattended is not an option if you use Steam's messaging features to keep in touch with people.
Likely because it is not considered critical to the operation of steam. And also, likely, because it's dev's don't have this particular use case. Also, not so certain they even read these comments...
Shutting down the Steam client is, arguably, an option if you're merely using its messaging features as you're likely to have the mobile app to fall back on.
However, while a download is in progress, shutting it down isn't an option but is a time when it is reasonable to leave it unattended. For that, if nothing else, this needs to be fixed.
Likely because it is not considered critical to the operation of steam
Maybe not, but not being able to leave Steam running does cost them sales. Probably not enough to use it as an argument for making it a high-priority fix, but "I'm not buying things because I'm not using it" goes against Steam's purpose as a storefront.
When I discovered that Steam was inhibiting display power management, the first thing I did was stop running Steam unless I needed to launch a game. As a workaround, I instead started to use the web chat at https://steamcommunity.com/chat/ in Chrome, made to run as a standalone window (via ⋮> More tools > Create shortcut), which looks and acts mostly the same, but doesn't affect power management.
That means I only use Steam to launch games or buy ones I already know I want, so I miss out on announcements and random sales, I don't impulse buy, I don't browse as often, and I stopped using the discovery queue feature as much. This has been a problem for years, meaning years of reduced buying as a result.
I totally agree, and that is how I use steam now. I start it up when a game needs it, and then it gets shut down. No impulse buys, no announcements, and so forth. It really is a case of lost sales.
I think they're trying to get us to accept that it happens, because a bug that stays in long enough becomes a feature... Just sayin'
$ dbus-send --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager/Inhibitor2400 org.gnome.SessionManager.Inhibitor.GetAppId
method return time=1581545957.566430 sender=:1.14 -> destination=:1.637 serial=21651 reply_serial=2
string "My SDL application"
For some reason Steam presents itself as My SDL application
.
$ dbus-send --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager/Inhibitor2400 org.gnome.SessionManager.Inhibitor.GetReason
method return time=1581545778.878954 sender=:1.14 -> destination=:1.591 serial=21554 reply_serial=2
string "Playing a game"
It also reports "Playing a game" as reason for inhibiting sleep. And this is despite the fact that I'm not playing a game. There's no game running. Only the Steam client itself. For some reason Steam (or "My SDL app")
Each SessionManager Inhibitor only lives for a few seconds, and dbus-send --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.GetInhibitors
might return empty for a while, but if you try again in 10 seconds, there you have it.
I can confirm this behaviour.
I tested with xset dpms 10 10 10
. If I start steam
and wait 10 seconds, the monitor goes off. But if I start a game and then I close it, the monitor won't go off anymore.
Monitoring with dbus-monitor --session
I can see that after starting a game (and closing it), steam keeps sending screensaver inhibit
requests like this over and over again:
method call time=1581678387.408841 sender=:1.4570 -> destination=org.freedesktop.ScreenSaver serial=47 path=/org/freedesktop/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
string "My SDL application"
string "Playing a game"
It will never sent the Uninhibit
request, so the screen just won't go off. The only solution is to kill or stop steam.
My work around at the moment is to use this script to start steam:
#!/bin/sh
xdg-dbus-proxy "$DBUS_SESSION_BUS_ADDRESS" "$XDG_RUNTIME_DIR/steam-bus-proxy" --filter --call=org.freedesktop.DBus.*=* --call=com.feralinteractive.GameMode.*=* &
DBUS_SESSION_BUS_ADDRESS="unix:path=$XDG_RUNTIME_DIR/steam-bus-proxy" steam
kill %1
The script use xdg-dbus-proxy to allow only methods in org.freedesktop.DBus to pass. Unfortunately, it doesn't allow allowing everything to pass but some things.
(Edit) I've added com.feralinteractive.GameMode in the white list.
kill %1
would be much better than killall xdg-dbus-proxy
: you don't want to kill other instances.
kill %1
would be much better thankillall xdg-dbus-proxy
: you don't want to kill other instances.
You're right. I've edited my comment.
Maybe they’ll consider adding a blocklist in addition to the current filtering options.
Your system information
Computer Information: Manufacturer: Unknown Model: Unknown Form Factor: Laptop No Touch Input Detected
Processor Information: CPU Vendor: AuthenticAMD CPU Brand: AMD FX(tm)-8350 Eight-Core Processor
CPU Family: 0x15 CPU Model: 0x2 CPU Stepping: 0x0 CPU Type: 0x0 Speed: 4000 Mhz 8 logical processors 8 physical processors HyperThreading: Unsupported FCMOV: Supported SSE2: Supported SSE3: Supported SSSE3: Supported SSE4a: Supported SSE41: Supported SSE42: Supported AES: Supported AVX: Supported CMPXCHG16B: Supported LAHF/SAHF: Supported PrefetchW: Unsupported
Operating System Version: "NAME=Gentoo" (64 bit) Kernel Name: Linux Kernel Version: 4.17.10 X Server Vendor: The X.Org Foundation X Server Release: 11905000 X Window Manager: Metacity (Marco) Steam Runtime Version: steam-runtime-beta-release_2018-06-14
Video Card: Driver: NVIDIA Corporation GeForce GTX 1050 Ti/PCIe/SSE2 Driver Version: 4.6.0 NVIDIA 396.45 OpenGL Version: 4.6 Desktop Color Depth: 24 bits per pixel Monitor Refresh Rate: 59 Hz VendorID: 0x10de DeviceID: 0x1c82 Revision Not Detected Number of Monitors: 1 Number of Video Cards Not Detected Primary Display Resolution: 1920 x 1200 Desktop Resolution: 1920 x 1200 Primary Display Size: 20.39" x 12.76" (24.02" diag) 51.8cm x 32.4cm (61.0cm diag) Primary Bus: PCI Express 16x Primary VRAM: 4096 MB Supported MSAA Modes: 2x 4x 8x 16x
Sound card: Audio device: Realtek ALC892
Memory: RAM: 15918 Mb
Miscellaneous: UI Language: English LANG: en_US.UTF-8 Total Hard Disk Space Available: 468427 Mb Largest Free Hard Disk Block: 20083 Mb VR Headset: None detected
Recent Failure Reports:
Please describe your issue in as much detail as possible:
Since the update to the version with the new chat features, the monitor no longer shuts off when idle. The screensaver will blank, but the monitor remains on. DPMS is enabled. If I exit steam, the monitor shuts off again when idle.
Steps for reproducing this issue: