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: