You are not logged in.
Pages: 1
Hello all,
nVidia driver has a bug with monitors connected over DisplayPort (see here), and in my case it locks the whole desktop session if the display goes to sleep.
As default behavior, XFCE puts the display to stand-by if the screen is locked for convenience, but this is causing problems for me. How can I disable display stand-by for screen locking?
Thanks in advance,
Regards,
Hakan
Offline
You can take a look at this thread for some troubleshooting guidance for a similar situation: https://forum.xfce.org/viewtopic.php?id=11387
Offline
The bug is caused by the nVidia driver, and forcing screen off (either via DPMS or video BIOS) inevitably results in nvidia.ko crash and a CPU stall. nouveau driver cannot handle my usage and starts to corrupt the display after a certain point in time, so I'm stuck with this buggy driver. Enabling DPMS will not save my problem, and the power manager is working as expected.
Sometimes I'm leaving my computer and I want to lock the screen, but with the current behavior it's impossible. I need to log out to secure my account, and this is not convenient. If I can prevent xfce power manager or screen locker to prevent screen from entering stand-by while locking the screen, I can live with manually powering off my monitor. Currently I voluntarily disabled DPMS because of the said reasons.
Thanks in advance,
Hakan
Last edited by bayindirh (2018-05-28 11:55:30)
Offline
Which screen locker and which command to disable dpms are you using?
You might be able to use a script that monitors your system's lock status and enable/disable dpms based on that status. Using the answer from this post, you could use an always-running script like:
#!/bin/bash
session=/org/freedesktop/login1/session/$XDG_SESSION_ID
iface=org.freedesktop.login1.Session
dbus-monitor --system "type=signal,path=$session,interface=$iface" 2>/dev/null |
while read signal stamp sender arrow dest rest; do
case "$rest" in
*Lock)
echo LOCKED at $stamp
xset dpms 0 0 0
#xset q | tail -5
;;
*Unlock)
echo UNLOCKED at $stamp
xset dpms 600 0 900
#xset q | tail -5
;; #unknown Session signal received
*)
# echo $signal $stamp $sender $arrow $dest $rest
esac
done
"xset dpms 0 0 0" disables
"xset dmps 600 0 900" re-eanbles
Last edited by ToZ (2018-05-28 15:27:40)
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
ToZ,
Thanks for the reply and the solution. It looks like my DPMS is already disabled, and light-locker is forcing DPMS on during start, and forcing the monitor to standby. It's hard coded (I looked at the code), and racing it with a script looks futile.
using "xset dpms 0 0 0" nevertheless enables DPMS, but disables the timeouts. To completely disable DPMS, it seems. I must call "xset -dpms".
I'll nevertheless try the script when I have some spare time, and report the results, however as I said, it's battling with the code, since light-locker forces DPMS on during start, and forcing screen to turn off, which promptly crashes the driver.
Thanks again,
Regards,
Hakan
Offline
Have you tried other screensavers? It looks like xscreensaver has a setting to disable dpms on activation (source).
Please remember to mark your thread [SOLVED] to make it easier for others to find
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
I've switched to xscreensaver this morning. Yes, it has more options regarding to DPMS, and can live happily without it. I've also opened an issue under the LightLocker's repository. Will see how they will respond.
Thanks for all the help,
Regards,
Hakan
Offline
Pages: 1
[ Generated in 0.009 seconds, 7 queries executed - Memory usage: 547.2 KiB (Peak: 548.05 KiB) ]