Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#49253 - [linux] DPMS Not working with nouveau

Attached to Project: Arch Linux
Opened by Trey Blancher (ectospasm) - Saturday, 07 May 2016, 15:21 GMT
Last edited by Andreas Radke (AndyRTR) - Sunday, 27 February 2022, 08:42 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Running "xset dpms force off" doesn't ultimately put the monitors in standby. They do blink off like they're going to sleep, then my Xfce4 desktop comes right back into view. I use lightdm + light-locker as my DM/screensaver, with a lightdm DPMS timeout of one minute. After a minute, the monitors act like they're going to sleep (they even show the "lost signal" screen), but then the lightdm greeter shows back up.

If I load nvidia instead, DPMS works as expected. But I have other, more dire issues with nvidia: https://bbs.archlinux.org/viewtopic.php?id=212087, I hardly know how to approach that.

Additional info:
* package version:
yaourt -Qi xf86-video-nouveau
Name : xf86-video-nouveau
Version : 1.0.12-1
Description : Open Source 2D acceleration driver for nVidia cards
Architecture : x86_64
URL : http://nouveau.freedesktop.org/
Licenses : GPL
Groups : xorg-drivers xorg
Provides : None
Depends On : libdrm systemd mesa-dri
Optional Deps : None
Required By : None
Optional For : None
Conflicts With : xorg-server<1.16 X-ABI-VIDEODRV_VERSION<20 X-ABI-VIDEODRV_VERSION>=21
Replaces : None
Installed Size : 249.00 KiB
Packager : Andreas Radke <andyrtr@archlinux.org>
Build Date : Sat 12 Dec 2015 04:19:25 AM EST
Install Date : Sun 01 May 2016 03:28:49 PM EDT
Install Reason : Explicitly installed
Install Script : Yes
Validated By : Signature

yaourt -Qi linux ─(2016-05-07)─┘
Name : linux
Version : 4.5.1-1
Description : The Linux kernel and modules
Architecture : x86_64
URL : http://www.kernel.org/
Licenses : GPL2
Groups : base
Provides : None
Depends On : coreutils linux-firmware kmod mkinitcpio>=0.7
Optional Deps : crda: to set the correct wireless channels of your country
Required By : None
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 75.05 MiB
Packager : Tobias Powalowski <tpowa@archlinux.org>
Build Date : Thu 14 Apr 2016 01:20:50 PM EDT
Install Date : Sun 01 May 2016 03:27:54 PM EDT
Install Reason : Explicitly installed
Install Script : Yes
Validated By : Signature

Video Card: NVIDIA Corporation GF119 [NVS 310] (rev a1)
Monitors (two identical): Ancor Communications Inc ASUS VS228

* config and/or log files etc.

cat /etc/X11/xorg.conf
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 364.19 (builduser@felix) Sat Apr 23 14:31:57 UTC 2016

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Ancor Communications Inc ASUS VS228"
HorizSync 24.0 - 83.0
VertRefresh 50.0 - 75.0
Option "DPMS"
EndSection

Section "Device"
Identifier "Device0"
Driver "nouveau"
VendorName "NVIDIA Corporation"
BoardName "NVS 310"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "DP-0: nvidia-auto-select +0+0, DP-1: nvidia-auto-select +1920+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Flip-flopping between nouveau and nvidia with this script:
cat bin/nouveau-nvidia
#!/bin/bash
BRANCH= # Enter a branch if needed, i.e. -340xx or -304xx
NVIDIA=nvidia${BRANCH} # If no branch entered above this would be "nvidia"
NOUVEAU=xf86-video-nouveau

# Replace -R with -Rs to if you want to remove the unneeded dependencies
if [ $(pacman -Qqs ^mesa-libgl$) ]; then
sudo sed -i 's/MODULES="nouveau"/MODULES="nvidia nvidia_modeset nvidia_uvm nvidia_drm"/' /etc/mkinitcpio.conf
sudo pacman -S $NVIDIA ${NVIDIA}-libgl # Add lib32-${NVIDIA}-libgl and ${NVIDIA}-lts if needed
sudo sed -i 's/Driver\(\s\+\)"nouveau"/Driver\1"nvidia"/' /etc/X11/xorg.conf
# pacman -R $NOUVEAU
elif [ $(pacman -Qqs ^${NVIDIA}$) ]; then
sudo sed -i 's/MODULES="nvidia nvidia_modeset nvidia_uvm nvidia_drm"/MODULES="nouveau"/' /etc/mkinitcpio.conf
sudo pacman -S --needed $NOUVEAU mesa-libgl # Add lib32-mesa-libgl if needed
sudo pacman -R $NVIDIA # Add ${NVIDIA}-lts if needed
sudo sed -i 's/Driver\(\s\+\)"nvidia"/Driver\1"nouveau"/' /etc/X11/xorg.conf
fi

grep -i dpms /var/log/Xorg.0.log
[ 16.252] (II) NOUVEAU(0): DPMS capabilities: Off
[ 16.351] (II) NOUVEAU(0): DPMS capabilities: Off
[ 16.429] (**) NOUVEAU(0): DPMS enabled

So it looks like NOUVEAU has the DPMS capability "Off," which is all I want. It also shows that it's enabled. Evidence does show that, but the monitors come immediately back on.


I see no events in /var/log/Xorg.0.log, watching before and after "xset dpms force off" is executed.

Steps to reproduce:
Switch to nouveau using the aforementioned nouveau-nvidia script (adapted from the Nouveau wiki article). Reboot. Once an X.org session has started, launch "xset dpms force off" from a terminal shell. The display(s) will act like they're turning off, but then the X.org session shows, without the monitors shutting down.

If I load nvidia, DPMS works as expected, so I know this monitor + video card combo will work. Only the nvidia driver has bigger problems I don't know how to approach.

This task depends upon

Closed by  Andreas Radke (AndyRTR)
Sunday, 27 February 2022, 08:42 GMT
Reason for closing:  None
Additional comments about closing:  No response in years. Let's assume fixed upstream.
Comment by Trey Blancher (ectospasm) - Saturday, 07 May 2016, 17:34 GMT
Someone on #nouveau@freenode recommended I enable DRM debugging in the kernel (adding "drm.debug=0x1e" to GRUB_CMDLINE_LINUX). I did so, and I see the following related to DPMS:

dmesg | grep -i dpms
[ 3.749718] [drm:drm_crtc_helper_set_config] Setting connector DPMS state to on
[ 3.749720] [drm:drm_crtc_helper_set_config] [CONNECTOR:32:DP-1] set DPMS on
[ 3.800958] [drm:drm_crtc_helper_set_config] Setting connector DPMS state to on
[ 3.800959] [drm:drm_crtc_helper_set_config] [CONNECTOR:35:DP-2] set DPMS on

I run "xset dpms force off", and I don't see any messages related to DPMS, or any new dmesg messages.
Comment by Tobias Powalowski (tpowa) - Sunday, 26 June 2016, 05:45 GMT
Still an Issue?
Comment by Trey Blancher (ectospasm) - Sunday, 26 June 2016, 15:40 GMT
To my knowledge, this is still an issue. I'm rebooting with nouveau now to test...

Yes, it's still an issue. My monitors behave precisely as if they're shutting down from DPMS, and then they stay on (the monitor backlight is still on, and the power indicator is blue rather than orange).

Comment by Trey Blancher (ectospasm) - Sunday, 26 June 2016, 15:47 GMT
I would love to get this working, nvidia has such a host of problems.

Incidentally I've switched to lxdm as my display manager, and i3lock as my screen locker. Same problem there.


Comment by mattia (nTia89) - Monday, 02 October 2017, 20:45 GMT
is this issue still valid?
Comment by Trey Blancher (ectospasm) - Tuesday, 10 October 2017, 01:56 GMT
To my knowledge, it's still valid, though I haven't tested recently. Have you (or upstream) fixed it? It should be easy enough to test: load nouveau, run `xset dpms force off`, watch logs for DPMS messages. Unless you know of a commit that specifically fixes this, I bet it's not fixed. Doing nothing and then periodically asking if its fixed now does not serve us well.

Due to the problems with lightdm/lightlocker, I have switched to using i3lock as my screen locker, but I'm still using lightdm as my DM. When I get a chance, I will verify whether this issue still persists, but I'm not holding my breath.

Loading...