Second monitor / display stopped working after update (20250515, nvidia, x11, plasma)

Second monitor / display stopped working after update (20250515, nvidia, x11, plasma)

This is part 2 of https://forums.opensuse.org/t/second-monitor-display-stopped-working-after-update-20250211-nvidia/182626/1

Summary

Last february I updated to Tumbleweed 20250211 (Linux 6.13.1, Plasma 6.3, QT 6.8.2, NVIDIA 570.86.16), and my external display stopped working when using X11 and Intel graphics. I reverted to my pre-upgrade snapshot (kernel was 6.11, thatโ€™s all I know) to keep using my monitor, hoping it was a bug to be solved after some time.

Yesterday (2025-05-19) I decided to upgrade, and found out that the problem persisted.

  • Built-in laptop display always works.
  • External display works OK in Wayland.
  • External display does not work in X11 if using the Intel internal graphics (set with sudo prime-select boot intel).
    • If set up as an extension, it shows a black screen, and I sometimes can move the cursor but it then freezes.
    • If set up as the main display, it shows whatever the built-in was showing, but frozen.

Using Wayland is not an option for me due to one of the long-lived Plasma in Wayland significant issues: native Wayland windows cannot save and restore their window positions (20-year-old bug?). My workflows need many windows (mostly browsers) in many Virtual Desktops in many Plasma Activities, and I rely on the browser windows spawing in the desktop where I last left them. Wayland just opens the all the browsers in my current desktop, and then I would need to manually reorder them each time I need to close Firefox.

I tried forcing the reinstallation of all nvidia-related packages, with no luck.

My current solution is to force use of the NVIDIA graphics with sudo prime-select boot nvidia. There might be battery and performance trade-offs (I preferred leaving display GPU for CUDA processing only), but thatโ€™s what I have now.

Just for future reference, and in case someone faces the same problem, below I add some notes on what I inspected looking for problems.

Related:


Before plugging the monitor

[2025-05-20 Tue 15:00]

Settings โ†’ About this system

Operating System: openSUSE Tumbleweed 20250515
KDE Plasma Version: 6.3.5
KDE Frameworks Version: 6.14.0
Qt Version: 6.9.0
Kernel Version: 6.14.6-1-default (64-bit)
Graphics Platform: X11
Processors: 20 ร— 12th Gen Intelยฎ Coreโ„ข i7-12700H
Memory: 31.0 GiB of RAM
Graphics Processor 1: Intelยฎ Graphics
Graphics Processor 2: NVIDIA GeForce RTX 3050 Ti Laptop GPU
Manufacturer: LENOVO
Product Name: 21DE000KAU
System Version: ThinkPad X1 Extreme Gen 5

inxi --basic --graphics -c 0 
System:
  Kernel: 6.14.6-1-default arch: x86_64 bits: 64
  Desktop: KDE Plasma v: 6.3.5 Distro: openSUSE Tumbleweed 20250515
Machine:
  Type: Laptop System: LENOVO product: 21DE000KAU v: ThinkPad X1 Extreme Gen 5
    serial: <superuser required>
  Mobo: LENOVO model: 21DE000KAU v: SDK0T76538 WIN serial: <superuser required> UEFI: LENOVO
    v: N3JET42W (1.26 ) date: 09/25/2024
Battery:
  ID-1: BAT0 charge: 84.8 Wh (96.1%) condition: 88.2/90.0 Wh (97.9%)
CPU:
  Info: 14-core (6-mt/8-st) 12th Gen Intel Core i7-12700H [MST AMCP] speed (MHz): avg: 400
    min/max: 400/4600:4700:3500
Graphics:
  Device-1: Intel Alder Lake-P Integrated Graphics driver: i915 v: kernel
  Device-2: NVIDIA GA107M [GeForce RTX 3050 Ti Mobile] driver: nvidia v: 570.144
  Device-3: Syntek Integrated Camera driver: uvcvideo type: USB
  Display: x11 server: X.Org v: 21.1.15 with: Xwayland v: 24.1.6 driver: X:
    loaded: modesetting,nvidia unloaded: nouveau,vesa dri: iris gpu: i915,nvidia,nvidia-nvswitch
    resolution: 1920x1200~60Hz
  API: EGL v: 1.5 drivers: iris,nouveau,nvidia,swrast platforms: gbm,x11,surfaceless,device
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: intel mesa v: 25.0.5 renderer: Mesa Intel Graphics
    (ADL GT2)
  API: Vulkan v: 1.4.309 drivers: N/A surfaces: xcb,xlib
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo de: kscreen-console,kscreen-doctor
    gpu: nvidia-settings,nvidia-smi wl: wayland-info x11: xdpyinfo, xprop, xrandr
Network:
  Device-1: Intel Alder Lake-P PCH CNVi WiFi driver: iwlwifi
Drives:
  Local Storage: total: 2.29 TiB used: 291.75 GiB (12.5%)
Info:
  Memory: total: 32 GiB note: est. available: 31.04 GiB used: 3.84 GiB (12.4%)
  Processes: 578 Uptime: 15h 17m Client: Unknown Client: emacs-gtk inxi: 3.3.37

tree /etc/X11
/etc/X11
โ”œโ”€โ”€ xdm
โ”‚   โ”œโ”€โ”€ xdm-config
โ”‚   โ””โ”€โ”€ Xservers
โ”œโ”€โ”€ xinit
โ”‚   โ”œโ”€โ”€ xinitrc.common -> ../../../usr/etc/X11/xinit/xinitrc.common
โ”‚   โ””โ”€โ”€ xinitrc.d
โ”‚       โ”œโ”€โ”€ libcanberra-gtk-module.sh
โ”‚       โ””โ”€โ”€ xdg-user-dirs.sh
โ”œโ”€โ”€ xorg.conf.d
โ”‚   โ””โ”€โ”€ 00-keyboard.conf
โ””โ”€โ”€ xorg.conf.install

5 directories, 7 files

sudo prime-select get-current
No driver configured.

xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x48; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 4; outputs: 6; associated providers: 1; name: modesetting
    output eDP-1
    output HDMI-1
    output DP-1
    output DP-2
    output DP-3
    output DP-4
Provider 1: id: 0x23e; cap: 0x2 (Sink Output); crtcs: 4; outputs: 5; associated providers: 1; name: NVIDIA-G0
    output DP-1-0
    output DP-1-1
    output DP-1-2
    output DP-1-3
    output HDMI-1-0

glxinfo | rg "OpenGL"
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 25.0.5
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 25.0.5
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 25.0.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

I plug the HDMI monitor

I plugged the monitor at ~[2025-05-20 Tue 15:22] and unplugged at ~[2025-05-20 Tue 15:22]

sudo journalctl -b --since "2025-05-20 15:22:00" --until "2025-05-20 15:22:33"
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper: RRNotify_OutputChange
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Timestamp:  6536848
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Output:  583
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         CRTC:  0
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Mode:  0
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Rotation:  "Rotate_0"
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Connection:  "Connected"
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Subpixel Order:  0
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper: RRScreenChangeNotify
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Timestamp:  6536848
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Config_timestamp:  8511983
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Window: 15728647
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Root: 1677
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Rotation:  "Rotate_0"
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Size ID: 0
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Size:  1920 1200
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         SizeMM:  508 317
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper: RRNotify_OutputChange
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Timestamp:  6536848
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Output:  583
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         CRTC:  0
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Mode:  0
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Rotation:  "Rotate_0"
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Connection:  "Connected"
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xcb.helper:         Subpixel Order:  0
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xrandr: XRandROutput 583 update 
                                                                   m_connected: 1 
                                                                   m_crtc QObject(0x0) 
                                                                   CRTC: 0 
                                                                   MODE: 0 
                                                                   Connection: 0
May 20 15:22:02 thinkpad kscreen_backend_launcher[14230]: kscreen.xrandr: Output 583 : connected = true , enabled = false

/// SHORTENED HERE DUE TO FORUM CONSTRAINTS

May 20 15:22:27 thinkpad kscreen_backend_launcher[14230]: kscreen.xrandr: XRandROutput 68 update 
                                                                   m_connected: 1 
                                                                   m_crtc QObject(0x0) 
                                                                   CRTC: 0 
                                                                   MODE: 0 
                                                                   Connection: 1
May 20 15:22:27 thinkpad kscreen_backend_launcher[14230]: kscreen.xrandr: Output 68 : connected = false , enabled = false
May 20 15:22:27 thinkpad kscreen_backend_launcher[14230]: kscreen.xrandr: XRandROutput 69 update 
                                                                   m_connected: 1 
                                                                   m_crtc QObject(0x0) 
                                                                   CRTC: 0 
                                                                   MODE: 0 
                                                                   Connection: 1
May 20 15:22:27 thinkpad kscreen_backend_launcher[14230]: kscreen.xrandr: Output 69 : connected = false , enabled = false
May 20 15:22:27 thinkpad kscreen_backend_launcher[14230]: kscreen.xrandr: XRandROutput 70 update 
                                                                   m_connected: 1 
                                                                   m_crtc QObject(0x0) 
                                                                   CRTC: 0 
                                                                   MODE: 0 
                                                                   Connection: 1
May 20 15:22:27 thinkpad kscreen_backend_launcher[14230]: kscreen.xrandr: Output 70 : connected = false , enabled = false
May 20 15:22:27 thinkpad kscreen_backend_launcher[14230]: kscreen.xrandr: XRandROutput 71 update 
                                                                   m_connected: 1 
                                                                   m_crtc QObject(0x0) 
                                                                   CRTC: 0 
                                                                   MODE: 0 
                                                                   Connection: 1
May 20 15:22:27 thinkpad kscreen_backend_launcher[14230]: kscreen.xrandr: Output 71 : connected = false , enabled = false
May 20 15:22:27 thinkpad kwin_x11[14114]: kwin_scene_opengl: Could not delete framebuffer because no context is current
May 20 15:22:27 thinkpad plasmashell[14248]: kde.plasmashell: requesting unexisting screen available rect -1
May 20 15:22:28 thinkpad kscreen_backend_launcher[14230]: kscreen.xrandr: Emitting configChanged()

sudo journalctl -b --since "2025-05-20 15:22:00" --until "2025-05-20 15:22:33" --priority=emerg..warning
May 20 15:22:03 thinkpad plasmashell[14248]: kde.plasmashell: requesting unexisting screen available rect -1
May 20 15:22:03 thinkpad kwin_x11[14114]: kwin_scene_opengl: Could not delete framebuffer because no context is current
May 20 15:22:27 thinkpad kwin_x11[14114]: kwin_scene_opengl: Could not delete framebuffer because no context is current
May 20 15:22:27 thinkpad plasmashell[14248]: kde.plasmashell: requesting unexisting screen available rect -1

Last lines of /var/log/Xorg.0.log

1077   โ”‚ [  8511.984] (--) NVIDIA(GPU-0): Lenovo Group Limited L24i-30 (DFP-4): connected
1078   โ”‚ [  8511.984] (--) NVIDIA(GPU-0): Lenovo Group Limited L24i-30 (DFP-4): Internal TMDS
1079   โ”‚ [  8511.984] (--) NVIDIA(GPU-0): Lenovo Group Limited L24i-30 (DFP-4): 600.0 MHz maximum pixel clock
1080   โ”‚ [  8511.984] (--) NVIDIA(GPU-0): 
1081   โ”‚ [  8513.042] (II) NVIDIA(G0): Setting mode "HDMI-1-0: 1920x1080_75 @1920x1080 +0+0 {AllowGSYNC=Off, ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}"
1082   โ”‚ [  8513.103] (II) modeset(0): Allocate new frame buffer 1920x1080 stride
1083   โ”‚ [  8514.523] (--) NVIDIA(GPU-0): Lenovo Group Limited L24i-30 (DFP-4): connected
1084   โ”‚ [  8514.523] (--) NVIDIA(GPU-0): Lenovo Group Limited L24i-30 (DFP-4): Internal TMDS
1085   โ”‚ [  8514.523] (--) NVIDIA(GPU-0): Lenovo Group Limited L24i-30 (DFP-4): 600.0 MHz maximum pixel clock
1086   โ”‚ [  8514.523] (--) NVIDIA(GPU-0): 
1087   โ”‚ [  8514.569] (--) NVIDIA(GPU-0): Lenovo Group Limited L24i-30 (DFP-4): connected
1088   โ”‚ [  8514.569] (--) NVIDIA(GPU-0): Lenovo Group Limited L24i-30 (DFP-4): Internal TMDS
1089   โ”‚ [  8514.569] (--) NVIDIA(GPU-0): Lenovo Group Limited L24i-30 (DFP-4): 600.0 MHz maximum pixel clock
1090   โ”‚ [  8514.569] (--) NVIDIA(GPU-0): 
1091   โ”‚ [  8536.533] (--) NVIDIA(GPU-0): DFP-4: disconnected
1092   โ”‚ [  8536.533] (--) NVIDIA(GPU-0): DFP-4: Internal TMDS
1093   โ”‚ [  8536.533] (--) NVIDIA(GPU-0): DFP-4: 165.0 MHz maximum pixel clock
1094   โ”‚ [  8536.533] (--) NVIDIA(GPU-0): 
1095   โ”‚ [  8537.262] (II) NVIDIA(G0): Setting mode "NULL"
1096   โ”‚ [  8537.339] (II) modeset(0): Allocate new frame buffer 1920x1200 stride

After forcing the NVIDIA card with PRIME

sudo prime-select get-current
Driver configured: nvidia
NVIDIA modules are loaded

xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x1b7; cap: 0x1 (Source Output); crtcs: 4; outputs: 5; associated providers: 1; name: NVIDIA-0
    output DP-0
    output DP-1
    output DP-2
    output DP-3
    output HDMI-0
Provider 1: id: 0x202; cap: 0xf (Source Output, Sink Output, Source Offload, Sink Offload); crtcs: 4; outputs: 6; associated providers: 1; name: modesetting
    output eDP-1-1
    output HDMI-1-1
    output DP-1-1
    output DP-1-2
    output DP-1-3
    output DP-1-4

glxinfo | rg "OpenGL"
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 3050 Ti Laptop GPU/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 570.144
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6.0 NVIDIA 570.144
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 570.144
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

Feel free to close.

It will close 7 days after no further activity as indicated.

1 Like

Update: when waking up after sleeping/suspending, I only see a black screen. To make things work:

  1. Disconnect external monitor and wait for some seconds till I see something in the laptopโ€™s monitor.
  2. Login using the laptop monitor.
  3. Reconnect the external monitor.
  4. Plasma?/Kwin? crashes. It restarts on its own after a minute.

I think Iโ€™ll be forced to move to Wayland and adapt my workflow. I hope no other problems appear.

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