Problems with wayland + kde and multi-monitors

I have a server with a nvidia quadro K4200 GPU with two monitors connected: the first connected on the DVI the second on the Display port (DP-1).

philippe@hpprol2:~> inxi -SGaz 
System:
  Kernel: 6.7.6-1-default arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc avail: xen
    parameters: root=UUID=78cf2dab-782f-467c-b749-1bc362844d10 splash=verbose
    showopts vga=838 mitigations=auto security=apparmor
  Desktop: KDE Plasma v: 5.27.10 tk: Qt v: 5.15.12 info: frameworks
    v: 5.115.0 wm: kwin_wayland tools: avail: xscreensaver vt: 4 dm: SDDM
    Distro: openSUSE Tumbleweed 20240226
Graphics:
  Device-1: NVIDIA GK104GL [Quadro K4200] driver: nouveau v: kernel non-free:
    series: 470.xx+ status: legacy-active (EOL~2024-09-xx) arch: Kepler
    code: GKxxx process: TSMC 28nm built: 2012-2018 pcie: gen: 2 speed: 5 GT/s
    lanes: 16 ports: active: DP-1,DVI-I-1 empty: DP-2 bus-ID: 0a:00.0
    chip-ID: 10de:11b4 class-ID: 0300 temp: 58.0 C
  Display: wayland server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.4
    compositor: kwin_wayland driver: X: loaded: modesetting unloaded: fbdev,vesa
    alternate: nouveau,nv,nvidia dri: nouveau gpu: nouveau d-rect: 3840x1080
    display-ID: 0
  Monitor-1: DP-1 pos: right res: 1920x1080 size: N/A modes: N/A
  Monitor-2: DVI-I-1 pos: primary,left res: 1920x1080 size: N/A modes: N/A
  API: EGL v: 1.5 hw: drv: nvidia nouveau platforms: device: 0 drv: nouveau
    device: 1 drv: swrast gbm: drv: nouveau surfaceless: drv: nouveau wayland:
    drv: nouveau x11: drv: nouveau
  API: OpenGL v: 4.5 compat-v: 4.3 vendor: mesa v: 23.3.6 glx-v: 1.4
    direct-render: yes renderer: NVE4 device-ID: 10de:11b4 memory: 3.87 GiB
    unified: no display-ID: :1.0
  API: Vulkan Message: No Vulkan data available.

When I boot the system the hardware info are displayed on the monitor connected to the DVI port.
With X11 this monitor is the primary (with the task bar) the second monitor (DP-1) has no task bar.
X11 use the VT2 .

When I start with wayland the primary monitor is set to DP-1. I can force this to the DVI monitor via the systemsettings but when I logoff and login the configuration is not preserved and I must redefined it in systemsettings :unamused:

I see that wayland did not start on VT2 but on VT3

philippe@hpprol2:~> env | grep VT
XDG_VTNR=3

In journalctl by logon I see that wayland start on VT3. Any Idea why ?

Feb 28 09:17:51 hpprol2 sddm-helper[10775]: pam_unix(sddm:session): session opened for user philippe(uid=1000) by philippe(uid=0)
Feb 28 09:17:51 hpprol2 sddm-helper[10775]: pam_kwallet5(sddm:session): pam_kwallet5: pam_sm_open_session
Feb 28 09:17:51 hpprol2 systemd[10780]: Starting D-Bus User Message Bus...
Feb 28 09:17:52 hpprol2 dbus-broker-launch[10795]: Service file '/usr/share/dbus-1/services/org.kde.dolphin.FileManager1.service' is not named after the D-Bus name 'org.freedesktop.FileManager1'.
Feb 28 09:17:52 hpprol2 dbus-broker-launch[10795]: Service file '/usr/share/dbus-1/services/org.kde.plasma.Notifications.service' is not named after the D-Bus name 'org.freedesktop.Notifications'.
Feb 28 09:17:52 hpprol2 dbus-broker-launch[10795]: Service file '/usr/share/dbus-1/services/org.kde.kscreen.service' is not named after the D-Bus name 'org.kde.KScreen'.
Feb 28 09:17:52 hpprol2 dbus-broker-launch[10795]: Service file '/usr/share/dbus-1/services/org.jackaudio.service' is not named after the D-Bus name 'org.jackaudio.service'.
Feb 28 09:17:52 hpprol2 dbus-broker-launch[10795]: Policy to allow eavesdropping in /usr/share/dbus-1/session.conf +31: Eavesdropping is deprecated and ignored
Feb 28 09:17:52 hpprol2 dbus-broker-launch[10795]: Policy to allow eavesdropping in /usr/share/dbus-1/session.conf +33: Eavesdropping is deprecated and ignored
Feb 28 09:17:52 hpprol2 systemd[10780]: Started D-Bus User Message Bus.
Feb 28 09:17:52 hpprol2 dbus-broker-launch[10795]: Ready
Feb 28 09:17:52 hpprol2 systemd[10780]: Created slice Slice /app/dbus-:1.4-org.jackaudio.service.
Feb 28 09:17:52 hpprol2 systemd[10780]: Started dbus-:1.4-org.jackaudio.service@0.service.
Feb 28 09:17:52 hpprol2 jackdbus[10807]: default: not implemented 0
Feb 28 09:17:52 hpprol2 jackdbus[10807]: default: not implemented 0x55b601f3c650 0x55b601f3c5c0 (nil)
Feb 28 09:17:52 hpprol2 jackdbus[10807]: default: 0x55b60304aa40: not implemented
Feb 28 09:17:52 hpprol2 jackdbus[10807]: default: 0x55b60304aa40: not implemented
Feb 28 09:17:52 hpprol2 jackdbus[10807]: default: 0x55b60304a540: not implemented
Feb 28 09:17:52 hpprol2 jackdbus[10807]: default: 0x55b60304a540: not implemented
Feb 28 09:17:52 hpprol2 jackdbus[10807]: default: 0x55b60304aa40: not implemented
Feb 28 09:17:52 hpprol2 jackdbus[10807]: default: failed to stat "/home/philippe/.config/jack/conf.xml", error is 2 (No such file or directory)
Feb 28 09:17:52 hpprol2 jackdbus[10807]: default: open() failed to open conf filename.
Feb 28 09:17:52 hpprol2 sddm-helper[10814]: pam_kwallet5: final socket path: /run/user/1000/kwallet5.socket
Feb 28 09:17:52 hpprol2 wireplumber[10792]: [11:30:05.800199861] [10792]  WARN IPAManager ipa_manager.cpp:154 No IPA found in '/usr/lib64/libcamera'
Feb 28 09:17:52 hpprol2 wireplumber[10792]: [11:30:05.800350790] [10792]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0
Feb 28 09:17:52 hpprol2 sddm-helper[10775]: Starting Wayland user session: "/usr/share/sddm/scripts/wayland-session" "/usr/libexec/plasma-dbus-run-session-if-needed /usr/bin/startplasma-wayland"
Feb 28 09:17:52 hpprol2 sddm-helper[10817]: Jumping to VT 3
Feb 28 09:17:52 hpprol2 sddm-helper[10817]: VT mode didn't need to be fixed

If I use ALT-CTRL-F1 to jump to a console and I come back the monitors are again shifted the primary is the DP-1 :unamused:

If I do ALT-CTRL-F2 I have a black screen on the two monitors with the cursor blinking but no logon screen.
Doing ALT-CTRL-F3 to return to the wayland session give me a black screen on the DP-1 monitor. On the DVI monitor I see the normal display and have access but I cannot reactivate the DP-1 monitor with systemsettings it remains black: I can see the mouse and I can drag a program from the DP-1 to the DVI monitor.
I can only reactivate the DP-1 by logoff and logon :rage:

With X11 these problems don’t happen.

Are there settings for wayland that I didn’t set?
Many thanks in advance
Philippe

Yes, it is work in process for those with Wayland + NVIDIA. As a matter of interest is modestting enabled? (Not sure if relevant to your situation or not)
cat /sys/module/nvidia_drm/parameters/modeset

More info
https://community.kde.org/Plasma/Wayland/Nvidia

You might find Plasma 6 is worth trying when it becomes available for openSUSE Tumbleweed.

Yes modesetting is enabled.
Display: wayland server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.4
compositor: kwin_wayland driver: X: loaded: modesetting unloaded: fbdev,vesa
alternate: nouveau,nv,nvidia dri: nouveau gpu: nouveau d-rect: 3840x1080
display-ID: 0
But with driver nouveau I think that the correct path is

hpprol2: # cat /sys/module/nouveau/parameters/modeset
-1

I hope that this is a KDE problem but not sure that is not a problem of the nouveau driver.

Many thanks for you answer
Philippe

No that only relates to the Xorg modesetting (DIX) driver. Not relevant to Wayland anyway. I was specifically talking about nvidia_drm modeset=1 which won’t be applicable as you’re using nouveau. Let’s see what others can advise now that we know which kernel graphics driver you’re using.

That might need a bug report to resolve. However, when the DP-1 display is black, show what is reported by

kscreen-doctor -o

or

kscreen-console outputs

Here the output before

philippe@hpprol2:~> kscreen-doctor -o
Output: 1 DVI-I-1 enabled connected priority 1 DVI Modes: 0:1920x1080@60*! 1:1920x1080@144 2:1920x1080@120 3:1920x1080@100 4:1920x1080@85 5:1920x1080@60 6:1680x1050@60 7:1280x1024@75 8:1280x1024@60 9:1440x900@60 10:1280x960@60 11:1280x800@60 12:1152x864@75 13:1280x720@60 14:1280x720@60 15:1024x768@75 16:1024x768@70 17:1024x768@60 18:832x624@75 19:800x600@75 20:800x600@72 21:800x600@60 22:800x600@56 23:640x480@75 24:640x480@67 25:640x480@60 26:640x480@60 27:720x400@70 28:1280x1024@60 29:1024x768@60 30:1280x800@60 31:1920x1080@60 32:1600x900@60 33:1368x768@60 34:1280x720@60 Geometry: 0,0 1920x1080 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown
Output: 2 DP-1 enabled connected priority 2 DisplayPort Modes: 0:1920x1080@60*! 1:1920x1080@144 2:1920x1080@120 3:1920x1080@100 4:1920x1080@85 5:1920x1080@60 6:1920x1080@50 7:1680x1050@60 8:1280x1024@75 9:1280x1024@60 10:1440x900@60 11:1280x960@60 12:1280x800@60 13:1152x864@75 14:1280x720@60 15:1280x720@60 16:1280x720@50 17:1024x768@75 18:1024x768@70 19:1024x768@60 20:832x624@75 21:800x600@75 22:800x600@72 23:800x600@60 24:800x600@56 25:720x576@50 26:720x480@60 27:720x480@60 28:640x480@75 29:640x480@67 30:640x480@60 31:640x480@60 32:720x400@70 33:1280x1024@60 34:1024x768@60 35:1920x1080@60 36:1600x900@60 37:1368x768@60 38:1280x720@60 Geometry: 1920,0 1920x1080 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown

and now when the DP-1 is black.

philippe@hpprol2:~> kscreen-doctor -o 
Output: 1 DVI-I-1 enabled connected priority 2 DVI Modes: 0:1920x1080@60*! 1:1920x1080@144 2:1920x1080@120 3:1920x1080@100 4:1920x1080@85 5:1920x1080@60 6:1680x1050@60 7:1280x1024@75 8:1280x1024@60 9:1440x900@60 10:1280x960@60 11:1280x800@60 12:1152x864@75 13:1280x720@60 14:1280x720@60 15:1024x768@75 16:1024x768@70 17:1024x768@60 18:832x624@75 19:800x600@75 20:800x600@72 21:800x600@60 22:800x600@56 23:640x480@75 24:640x480@67 25:640x480@60 26:640x480@60 27:720x400@70 28:1280x1024@60 29:1024x768@60 30:1280x800@60 31:1920x1080@60 32:1600x900@60 33:1368x768@60 34:1280x720@60 Geometry: 0,0 1920x1080 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown
Output: 2 DP-1 enabled connected priority 1 DisplayPort Modes: 0:1920x1080@60*! 1:1920x1080@144 2:1920x1080@120 3:1920x1080@100 4:1920x1080@85 5:1920x1080@60 6:1920x1080@50 7:1680x1050@60 8:1280x1024@75 9:1280x1024@60 10:1440x900@60 11:1280x960@60 12:1280x800@60 13:1152x864@75 14:1280x720@60 15:1280x720@60 16:1280x720@50 17:1024x768@75 18:1024x768@70 19:1024x768@60 20:832x624@75 21:800x600@75 22:800x600@72 23:800x600@60 24:800x600@56 25:720x576@50 26:720x480@60 27:720x480@60 28:640x480@75 29:640x480@67 30:640x480@60 31:640x480@60 32:720x400@70 33:1280x1024@60 34:1024x768@60 35:1920x1080@60 36:1600x900@60 37:1368x768@60 38:1280x720@60 Geometry: 1920,0 1920x1080 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: unknown

when I checked the terminal it is now using VT4

philippe@hpprol2:~> env | grep VT
XDG_VTNR=4

I’ll open a bug report tommorow

Regards
Philippe

1 Like

I did a lot of testing this morning and I have found that when the DP-1 goes black after going to the VT2 console I can reactivate it by jumping to the VT1 console .
The background of the monitors + taskbar are still swapped but a program running on monitor 1 remains on monitor 1 only the background and the taskbar are swapped.

Annoyed but usable. I have another problem with the mouse but I’ll open a new topic in this forum.
Seems that wayland +kde + nouveau is not yet ready regardless of what people say

Regards
Philippe

I can understand that this would be annoying. Please do send us a link to your bug report when the time comes.

Try the following during your KDE session (with both monitors active)…

kscreen-doctor --dpms off

This will likely result in black displays, but you can press a key to have them wake up. Does that then persist for the entire session at least?

I have open a bug report 1220675

https://bugzilla.opensuse.org/show_bug.cgi?id=1220675

Regards
Philippe

But what about your previous post?

Kscreen 2 is still disabled in systemsettings.
Regards

With the last snapshot (202740305) I see that the primary monitor is not more the DP-1 but is correctly the DVI.

The wayland session still starts on VT3, and if I go to VT2 then coming back to VT3 (wayland) I have still a black screen on the DP-1 monitor.

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