Secondary display in dual display setup randomly disabled when resuming from sleep

The system didn’t auto login as usual upon reboot for some reason; I was met instead by a lockscreen with a comically large cursor. :joy: Everything seems to work exactly as before after the login.

inxi -GSaz

System:
  Kernel: 6.13.2-1-default arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.13.2-1-default
    root=UUID=efb41f9a-a22f-4cbc-acc5-8964afb060b5 splash=verbose quiet
    security=apparmor mitigations=auto
  Desktop: KDE Plasma v: 6 tk: Qt v: N/A wm: kwin_x11 tools:
    avail: xscreensaver vt: 2 dm: SDDM Distro: openSUSE Tumbleweed 20250216
Graphics:
  Device-1: Intel HD Graphics 530 vendor: Gigabyte driver: i915 v: kernel
    arch: Gen-9 process: Intel 14n built: 2015-16 ports: active: HDMI-A-1
    empty: DP-1,HDMI-A-2,HDMI-A-3 bus-ID: 00:02.0 chip-ID: 8086:1912
    class-ID: 0300
  Device-2: NVIDIA GP106 [GeForce GTX 1060 6GB] driver: nvidia v: 570.86.16
    alternate: nouveau,nvidia_drm non-free: 550/565.xx+ status: current (as of
    2025-01; EOL~2026-12-xx) arch: Pascal code: GP10x process: TSMC 16nm
    built: 2016-2021 pcie: gen: 3 speed: 8 GT/s lanes: 2 link-max: lanes: 16
    ports: active: none off: DP-3,DP-4 empty: DP-2,DVI-D-1,HDMI-A-4
    bus-ID: 01:00.0 chip-ID: 10de:1c03 class-ID: 0300
  Display: x11 server: X.Org v: 21.1.15 with: Xwayland v: 24.1.5
    compositor: kwin_x11 driver: X: loaded: modesetting,nvidia unloaded: vesa
    alternate: fbdev,intel,nouveau,nv dri: iris
    gpu: i915,nvidia,nvidia-nvswitch display-ID: :0 screens: 1
  Screen-1: 0 s-res: 4480x1080 s-dpi: 96 s-size: 1186x286mm (46.69x11.26")
    s-diag: 1220mm (48.03")
  Monitor-1: not-matched mapped: DP-1-0.1 pos: left res: N/A
    size: 798x334mm (31.42x13.15") modes: N/A
  Monitor-2: not-matched mapped: DP-1-0.8 pos: right res: N/A
    size: 527x296mm (20.75x11.65") modes: N/A
  Monitor-3: HDMI-A-1 mapped: HDMI-1 pos: primary,right model: Dell U2417H
    serial: <filter> built: 2017 res: mode: 1920x1080 hz: 60 scale: 100% (1)
    dpi: 93 gamma: 1.2 size: 527x296mm (20.75x11.65") diag: 604mm (23.8")
    ratio: 16:9 modes: max: 1920x1080 min: 720x400
  API: EGL v: 1.5 hw: drv: intel iris drv: nvidia platforms: device: 0
    drv: nvidia surfaceless: drv: nvidia x11: drv: iris inactive: gbm,wayland
  API: OpenGL v: 4.6.0 compat-v: 4.6 vendor: intel mesa v: 24.3.4 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel HD Graphics 530 (SKL GT2)
    device-ID: 8086:1912 memory: 11.41 GiB unified: yes
  API: Vulkan v: 1.4.304 layers: 2 device: 0 type: discrete-gpu name: NVIDIA
    GeForce GTX 1060 6GB driver: N/A device-ID: 10de:1c03 surfaces: xcb,xlib
    device: 1 type: integrated-gpu name: Intel HD Graphics 530 (SKL GT2)
    driver: N/A device-ID: 8086:1912 surfaces: xcb,xlib
  Info: Tools: api: eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor wl: wayland-info
    x11: xdpyinfo, xprop, xrandr

P.s.: In a quick test sleep seems to be working again. I’ll have to test it more tomorrow.

Good news! I think I just figured out how to have a fully functional system that can sleep using the 570 driver.

Using the iGPU as default is a good trick, but it caused different issues. So far this doesn’t seem to have cause any deal breaking issues. I still have to see how it holds during daily usage, but it’s promising! The secondary display is also waking up and correctly configured every time.

For whom may stumble on this thread, my GPU is a GTX 1060.

I edited my /usr/lib/modprobe.d/50-nvidia.conf. It was generated automatically and I had never edited it before.

Checking it two options caught my eye, NVreg_EnableS0ixPowerManagement and NVreg_PreserveVideoMemoryAllocations. They were enabled, yet as far as I know my GPU doesn’t support PowerManagement. Disabling this one didn’t solve the issue, but disabling PreserveVideoMemoryAllocations did.

This is what my file looks right now:

# Nouveau must be disabled to load the nvidia kernel module:

blacklist nouveau

# Make a soft dependency for nvidia-uvm as adding the module loading to
# /usr/lib/modules-load.d/nvidia-uvm.conf for systemd consumption, makes the
# configuration file to be added to the initrd but not the module, throwing an
# error on plymouth about not being able to find the module.
# Ref: /usr/lib/dracut/modules.d/00systemd/module-setup.sh

# Even adding the module is not the correct thing, as we don't want it to be
# included in the initrd, so use this configuration file to specify the
# dependency.

softdep nvidia post: nvidia-uvm

# Enable custom Nvidia device ownership:

options nvidia NVreg_DeviceFileUID=0
options nvidia NVreg_DeviceFileGID=483
options nvidia NVreg_DeviceFileMode=0660

# Enable complete power management. From:
# file:///usr/share/doc/packages/nvidia-common-G06/html/powermanagement.html

options nvidia NVreg_TemporaryFilePath=/var/tmp
# options nvidia NVreg_EnableS0ixPowerManagement=1
# options nvidia NVreg_PreserveVideoMemoryAllocations=1
options nvidia NVreg_EnableS0ixPowerManagement=0
options nvidia NVreg_PreserveVideoMemoryAllocations=0

# Nvidia modesetting support. Set to 0 or comment to disable kernel modesetting
# and framebuffer console support. This must be disabled in case of SLI Mosaic
# on X.

options nvidia-drm modeset=1

I didn’t try to reenable PowerManagement yet, but given my GPU lack of support I don’t see the point.

PreserveVideoMemoryAllocations would save and restore the GPU memory contents. I’m happy to discard them if that’s what takes to wake up the system.

An additional change I did was installing nvidia-settings and setting up the displays from there. It didn’t solve the second display issue at the time, but it’s good to mention since it’s another change I did to my system.

The system sleeps and wakes up immediately now. Kwin desktop effects will be restarted upon waking up, but it doesn’t seem to cause any lags or issues so I can absolutely live with it.

I’ll keep an eye on the system, and if it holds mark this as answer. :tada:

That would depend on which graphics chipset the port for the second display is connected to?

It’s daisy chained, DP <> DP into the first display, which is connected to the Nvidia GPU (also DP).

Ok, thanks for clarifying.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.