390.25-2+ regression on Debian: Hang after disabling output with xrandr

I upgraded the nvidia-driver package and all the required dependencies from 384.111-4 to 390.25-2, and now the X server hangs when disabling an output with xrandr.

I have two monitors, and I have an app that doesn’t like multiple displays, so I disable one before running it.

I use “xrandr --output DVI-D-0 --off” and both the displays turn off, then the single monitor turns back on, (as normal) but the X server is frozen.

There is no mouse movement or keyboard input, and I ssh in and kill my window manager (FVWM) and X exits normally.

There are no errors in /var/log/messages or /var/log/Xorg.0.log

It doesn’t matter if it’s the primary display being turned off or not. I’ve tried both.

I also tried the latest version on sid (390.42-1) and it does it too.

If I downgrade back to 384.111-4, it works again.

I use “startx” to start the server.

I rebooted after upgrading to ensure the correct kernel module was loaded.

I have added /usr/share/X11/xorg.conf.d/rotate-nvidia.conf to rotate one of the monitors:

Rotate Samsung monitor to portrait and declare primary

Section “Monitor”
Identifier “DFP-4”
Option “Rotate” “Left”
Option “Primary” “true”
EndSection

Here is the “xrandr” output:

Screen 0: minimum 8 x 8, current 3120 x 1920, maximum 32767 x 32767
DVI-D-0 connected 1920x1200+1200+0 (normal left inverted right x axis
y axis) 518mm x 324mm
1920x1200 59.95*+
1920x1080 59.93
1680x1050 59.95
1600x1200 60.00
1440x900 59.89
1360x768 60.02
1280x1024 60.02
1280x960 60.00
1280x720 60.00
1152x864 60.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
640x480 75.00 72.81 59.94
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DVI-D-1 connected primary 1200x1920+0+0 left (normal left inverted
right x axis y axis) 518mm x 324mm
1920x1200 59.95*+
1920x1080 60.00 50.00
1680x1050 59.95
1600x900 60.00
1440x900 59.89
1280x1024 60.02
1280x800 59.81
1280x720 60.00 50.00
1024x768 60.00
800x600 60.32 56.25
720x576 50.00
720x480 59.94
640x480 59.94

Please let me know if you need log files, more information, or want
me to try anything.

-Gene Cash
nvidia-bug-report.log.gz (112 KB)

Hang after disabling output with xrandr

Similar bug:

https://devtalk.nvidia.com/default/topic/1030630/linux/driver-390-25-causes-system-hang-freeze-on-linux-kernel-4-15-boot/

Probably Linux kernel hang is caused by “xrandr --output DP-4 --off”.

You have set

ForceCompositionPipeline=On, ForceFullCompositionPipeline=On

those have a known bug with 390 drivers, does it work if you remove that?
BTW only one has to be set, ForceFullCompositionPipeline supersedes ForceCompositionPipeline.

No, it still fails if I remove that.

Also, I didn’t create that “nvidia.conf” file, and dpkg says it isn’t owned by any Debian package.

I completely removed that file, and it still breaks.

I did get a chance to do some more debugging, typing on my phone via ssh.

I noticed the server isn’t completely frozen, the mouse still moves but the windows don’t refresh/update and xclock is frozen.

However, if I do “xrandr --output DVI-D-0 --auto --primary --right-of DVI-D-1” like I usually do to restore the dual display, then it comes back to life as normal. That was a surprise.

Another thing I tried was doing the xrandr to “freeze” things, then I started an xterm via the phone. The xterm window didn’t appear, but when I did the above dual display xrandr, there it was.

FYI, this is still broken in 390.67.