Bug 459085 - Second monitor is disabled in Displaylink setup under Wayland
Summary: Second monitor is disabled in Displaylink setup under Wayland
Status: RESOLVED DUPLICATE of bug 459929
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: 5.25.5
Platform: Manjaro Linux
: NOR grave
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-09-14 05:05 UTC by Alexander Reinholdt
Modified: 2022-10-31 17:08 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
KWin behavior while Displaylink docking station is connected (1.47 MB, video/mp4)
2022-09-14 16:09 UTC, Alexander Reinholdt
Details
drm_info output (70.19 KB, text/plain)
2022-10-24 06:16 UTC, Alexander Reinholdt
Details
journalctl output (17 bytes, text/plain)
2022-10-24 06:17 UTC, Alexander Reinholdt
Details
dmesg output (118.59 KB, text/plain)
2022-10-24 06:18 UTC, Alexander Reinholdt
Details
dmesg output after running systemsettings (130.69 KB, text/plain)
2022-10-24 06:20 UTC, Alexander Reinholdt
Details
New journalctl output (164.05 KB, application/zip)
2022-10-26 17:25 UTC, Alexander Reinholdt
Details
journalctl output with debug (35.90 KB, text/plain)
2022-10-31 14:07 UTC, Alexander Reinholdt
Details
dmesg drm debug output (1.24 MB, application/zip)
2022-10-31 15:37 UTC, Alexander Reinholdt
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Reinholdt 2022-09-14 05:05:00 UTC
SUMMARY

I am using a TUXEDO Computer PULSE 15 (gen 1, specs see down below) laptop with an i-tec Displaylink adapter (TUXEDO Office Hub).

After the upgrade from Plasma 5.24.5 to 5.25.5, my external monitor is disabled when starting Plasma under Wayland. Also, it seems that the display is entering an infinite loop of crashes and attempts to recover. Strangely, changing once into the console (e. g. CTRL+ALT+F3) stops this loop. However, the external monitor is never activated / recognized.

So, from my point of view, this is a regression compared to 5.24, since my setup worked back then.

Using Xorg is currently unfortunately not an option, since then everything is slowed down to a few FPS.

Maybe I can provide a screenshot of the config page with the error message shown, but due to the continuously crashing KWin, it's quite hard to do anything... 

STEPS TO REPRODUCE
1. Attach the laptop to the Displaylink adapter 
2. Log in with the Wayland session
3. 

OBSERVED RESULT

The external monitor is not recognized / activated and the display / KWin enters an infinite loop of crash and recovery.

EXPECTED RESULT

Working display setup.

SOFTWARE/OS VERSIONS

Operating System: Manjaro Linux
KDE Plasma Version: 5.25.5
KDE Frameworks Version: 5.97.0
Qt Version: 5.15.5
Kernel Version: 5.19.7-1-MANJARO (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 4800H with Radeon Graphics
Memory: 15.1 GiB of RAM
Graphics Processor: AMD RENOIR
Manufacturer: TUXEDO
Product Name: TUXEDO Pulse 15 Gen1

ADDITIONAL INFORMATION
Comment 1 David Edmundson 2022-09-14 09:46:13 UTC
>Also, it seems that the display is entering an infinite loop of crashes and attempts to recover. 

What do you mean that the display is crashing
Comment 2 Alexander Reinholdt 2022-09-14 16:09:39 UTC
Created attachment 152057 [details]
KWin behavior while Displaylink docking station is connected

I took a video with my mobile phone showing the described behavior.

However, on second thought, this might not exactly be a crash. In my setting under Plasma 5.24, the laptop display was deactivated and only the external monitor activated. Maybe what we see here is the attempt to activate the external monitor, which fails, and then the fallback to the laptop monitor...

By the way, I have displaylink-connect installed (package from AUR) and both monitors are recognized initially: SDDM can be seen on both. But when I enter the Plasma Wayland session, the external monitor stops working and the behavior is as can be seen in the video.
Comment 3 Alexander Reinholdt 2022-09-15 04:25:21 UTC
I created a new test user. After logging into the account with Plasma Wayland, it takes a few seconds and the second monitor is recognized and seems to work. However, only the background is seen. No panel or plasmoids. If I then go to systemsettings to adjust the settings, the behavior seen in the video starts and the external monitor gets unusable. Interestingly, the monitor does not get blank / black, but the background shown before is still visible.
Comment 4 Alexander Reinholdt 2022-09-27 04:41:30 UTC
If you need some more information, please let me know.
Comment 5 Bug Janitor Service 2022-10-12 04:55:27 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 6 Alexander Reinholdt 2022-10-23 16:03:24 UTC
Today, I upgraded to plasma 5.26 (Manjaro testing). The problem persists. Under X11, fortunately, my setup works somehow (I always have to re-adjust my settings on startup), but under Wayland, my external monitor is still not recognized.
Comment 7 Zamundaaa 2022-10-23 17:40:10 UTC
Please attach the output of drm_info (https://gitlab.freedesktop.org/emersion/drm_info), dmesg and journalctl --user-unit plasma-kwin_wayland
Comment 8 Alexander Reinholdt 2022-10-24 06:16:42 UTC
Created attachment 153156 [details]
drm_info output

Collected directly after reboot and login into the wayland session.
Comment 9 Alexander Reinholdt 2022-10-24 06:17:31 UTC
Created attachment 153157 [details]
journalctl output

Collected directly after reboot and login into the wayland session.
Comment 10 Alexander Reinholdt 2022-10-24 06:18:14 UTC
Created attachment 153158 [details]
dmesg output

Collected directly after reboot and login into the wayland session.
Comment 11 Alexander Reinholdt 2022-10-24 06:20:31 UTC
Created attachment 153159 [details]
dmesg output after running systemsettings

Collected after opening systemsettings where I was told that one display was removed and the settings were reloaded.
Comment 12 Zamundaaa 2022-10-25 14:23:15 UTC
Your journalctl output is empty. Did you change the systemd boot setting? If so, you can re-enable it with "kwriteconfig5 --file startkderc --group General --key systemdBoot true"
Comment 13 Alexander Reinholdt 2022-10-26 17:23:32 UTC
(In reply to Zamundaaa from comment #12)
> Your journalctl output is empty. Did you change the systemd boot setting? If
> so, you can re-enable it with "kwriteconfig5 --file startkderc --group
> General --key systemdBoot true"

I did not change anything in the boot process. Maybe something was wrong with the command I issued in the terminal the first time, since - after running the command you gave above as normal user and with sudo - I can now provide the needed output dating back to September 19th.
Comment 14 Alexander Reinholdt 2022-10-26 17:25:51 UTC
Created attachment 153222 [details]
New journalctl output

journalctl output (after running kwriteconfig5 command as normal user and with sudo)
Comment 15 Zamundaaa 2022-10-31 13:51:06 UTC
There are some suspicious things in that log:
> kwin_wayland_drm: Atomic commit failed! This should never happen! Das Gerät oder die Ressource ist belegt
also this one repeats quite often:
> Okt 24 07:50:46 pulse kwin_wayland_wrapper[1902]: failed to load driver: evdi
> Okt 24 07:50:46 pulse kwin_wayland_wrapper[1902]: kmsro: driver missing
> Okt 24 07:50:46 pulse kwin_wayland[1902]: kwin_wayland_drm: Failed to create gamma blob! Das Argument ist ungültig
>Okt 24 07:50:53 pulse kwin_wayland_wrapper[1902]: MESA-LOADER: failed to open evdi: /usr/lib/dri/evdi_dri.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden (search paths /usr/lib/dri, suffix _dri)

and there's some kwin_wayland crashes in there too, but those look unrelated at a first glance.
To get more information about the looping "failed to load driver" messages, can you add
> QT_LOGGING_RULES="kwin_wayland_*.debug=true"
to /etc/environment, reboot, reproduce the bug again and upload the new output of "journalctl --user-unit plasma-kwin_wayland --boot 0"?
Comment 16 Alexander Reinholdt 2022-10-31 14:07:12 UTC
Created attachment 153357 [details]
journalctl output with debug

Here is the output. I ran the command without sudo. If that is needed as well, please let me know.
Comment 17 Zamundaaa 2022-10-31 14:42:46 UTC
We get this in a loop:
> Okt 31 14:59:45 pulse kwin_wayland[1847]: kwin_wayland_drm: drmModeAddFB2WithModifiers is supported on GPU "/dev/dri/card0"
> Okt 31 14:59:45 pulse kwin_wayland_wrapper[1847]: MESA-LOADER: failed to open evdi: /usr/lib/dri/evdi_dri.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden (search paths /usr/lib/dri, suffix _dri)
> Okt 31 14:59:45 pulse kwin_wayland_wrapper[1847]: failed to load driver: evdi
> Okt 31 14:59:45 pulse kwin_wayland_wrapper[1847]: kmsro: driver missing
> Okt 31 14:59:45 pulse kwin_wayland[1847]: kwin_wayland_drm: Using Atomic Mode Setting on gpu "/dev/dri/card0"
> Okt 31 14:59:45 pulse kwin_wayland[1847]: kwin_wayland_drm: Number of planes on GPU "/dev/dri/card0" : 2
> Okt 31 14:59:45 pulse kwin_wayland[1847]: kwin_wayland_drm: Plane 31 has properties "type"="Primary", "SRC_X"=0, "SRC_Y"=0, "SRC_W"=125829120, "SRC_H"=70778880, "CRTC_X"=0, "CRTC_Y"=0, "CRTC_W"=1920, "CRTC_H"=1080, "FB_ID"=0, "CRTC_ID"=0, "rotation" not found, "IN_FORMATS"=32
> Okt 31 14:59:45 pulse kwin_wayland[1847]: kwin_wayland_drm: Plane 33 has properties "type"="Cursor", "SRC_X"=0, "SRC_Y"=0, "SRC_W"=4194304, "SRC_H"=4194304, "CRTC_X"=858, "CRTC_Y"=852, "CRTC_W"=64, "CRTC_H"=64, "FB_ID"=0, "CRTC_ID"=0, "rotation" not found, "IN_FORMATS"=34
> Okt 31 14:59:45 pulse kwin_wayland[1847]: kwin_wayland_drm: Crtc 35 has properties "MODE_ID"=41, "ACTIVE"=1, "VRR_ENABLED"=0, "GAMMA_LUT" not found, "GAMMA_LUT_SIZE" not found
> Okt 31 14:59:45 pulse kwin_wayland[1847]: kwin_wayland_drm: Received change event for monitored drm device "/dev/dri/card0"
> Okt 31 14:59:45 pulse kwin_wayland[1847]: kwin_wayland_drm: Connector 37 has properties "CRTC_ID"=35, "non-desktop"=0, "DPMS"=0, "EDID"=40, "overscan" not found, "vrr_capable" not found, "underscan" not found, "underscan vborder" not found, "underscan hborder" not found, "Broadcast RGB" not found, "max bpc" not found, "link-status"="Good"
> Okt 31 14:59:45 pulse kwin_wayland[1847]: kwin_wayland_drm: New output on GPU /dev/dri/card0: PHL 241B7Q/UHB191400371
> Okt 31 14:59:45 pulse kwin_wayland[1847]: kwin_wayland_drm: Failed to create gamma blob! Das Argument ist ungültig
> Okt 31 14:59:46 pulse kwin_wayland[1847]: kwin_wayland_drm: Got invalid timestamp (sec: 0, usec: 0) on gpu /dev/dri/card0
> Okt 31 14:59:46 pulse kwin_wayland[1847]: kwin_wayland_drm: Received change event for monitored drm device "/dev/dri/card0"
> Okt 31 14:59:46 pulse kwin_wayland[1847]: kwin_wayland_drm: Removing output KWin::DrmOutput(0x5595ed680b40, name="DVI-I-1", geometry=QRect(0,0 1920x1080), scale=1)
> Okt 31 14:59:46 pulse kwin_wayland[1847]: kwin_wayland_drm: Removing GPU "/dev/dri/card0"

which suggests to me that the driver is constantly adding and removing the output for some reason, so it's most likely an evdi bug that KWin somehow manages to trigger. To gather more information on that, can you get more detailed logging from the kernel side?
How to do that is described at https://invent.kde.org/plasma/kwin/-/wikis/Debugging-DRM-issues. Just enable drm debug logging, start the dmesg command, cause the bug and stop the dmesg command again.
Comment 18 Alexander Reinholdt 2022-10-31 15:37:08 UTC
Created attachment 153359 [details]
dmesg drm debug output

Here is the requested output.
Comment 19 Alexander Reinholdt 2022-10-31 15:41:41 UTC
What I just wanted to mention - because it confuses me quite a bit - is that when I am in the wayland session and log out, I will immediately be logged back in without sddm asking me for my password. I guess that is a side effect of the wayland malfunction, but I think that is not good...
Comment 20 Zamundaaa 2022-10-31 16:10:02 UTC
Looks like this is the same underlying problem as bug 459929. Can you check if putting KWIN_FORCE_SW_CURSOR=1 into /etc/environment also works around the issue for you?

(In reply to Alexander Reinholdt from comment #19)
> What I just wanted to mention - because it confuses me quite a bit - is that
> when I am in the wayland session and log out, I will immediately be logged
> back in without sddm asking me for my password. I guess that is a side
> effect of the wayland malfunction, but I think that is not good...

KWin is most likely crashing when you try to log out. It's not so much that you're logged in again, but the logout is not successful.
Just in case it is related, please attach the backtrace of that crash. You can debug the last crash with "coredumpctl debug kwin_wayland" and print the backtrace there with "bt full"
Comment 21 Alexander Reinholdt 2022-10-31 16:28:19 UTC
Cool, it works again! Even the faulty logout behavior is gone. Thanks! The only thing I noticed is that under certain circumstances the mouse now drags a tail behind it (minor display glitch). But I can live with that for the time being.

So, I leave the KWIN_FORCE_SW_CURSOR=1 variable in the /etc/environment until the new evdi driver version is released?
Comment 22 Zamundaaa 2022-10-31 17:08:25 UTC
Great!
(In reply to Alexander Reinholdt from comment #21)
> So, I leave the KWIN_FORCE_SW_CURSOR=1 variable in the /etc/environment
> until the new evdi driver version is released?
Yes

*** This bug has been marked as a duplicate of bug 459929 ***