Bug 467554 - When activating 4K resolution from Wayland with a bi-directional HDMI EDID emulator, the computer crashes
Summary: When activating 4K resolution from Wayland with a bi-directional HDMI EDID em...
Status: REOPENED
Alias: None
Product: KScreen
Classification: Plasma
Component: common (show other bugs)
Version: 5.27.3
Platform: Manjaro Linux
: NOR crash
Target Milestone: ---
Assignee: kscreen-bugs-null@kde.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-19 02:08 UTC by Chema
Modified: 2023-05-18 17:22 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.27.5


Attachments
Wayland display modes (87.62 KB, image/jpeg)
2023-03-19 02:08 UTC, Chema
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chema 2023-03-19 02:08:05 UTC
Created attachment 157408 [details]
Wayland display modes

SUMMARY
***
When activating 4K resolution from Wayland with a bi-directional HDMI EDID emulator, the computer crashes
***

STEPS TO REPRODUCE
1. Connect a bi-directional HDMI EDID emulator to the computer's HDMI output and connect the monitor's HDMI cable to it (https://www.amazon.com/-/Passthrough-Generrtion-Eliminado-Adaptador-Thunderbolt/dp/B07YMTMMH5?th=1&language=en_US)
2. Activate 4K resolution (3840x2160) in KDE with Wayland

OBSERVED RESULT

1. The screen goes completely black and does not return to the previous resolution after a few seconds even though the new resolution has not been accepted.
2. I open a new console by pressing Ctrl + F2 and from there it tries to return to the KDE session by pressing Ctrl + F1 in an attempt to refresh the HDMI signal, when doing this the computer freezes and the keyboard stops responding . The only solution is to restart the machine by pressing the power button.

EXPECTED RESULT

It should correctly enable 4K resolution, in version prior to KDE 5.27.3 this worked fine.

SOFTWARE/OS VERSIONS
Operating System: Manjaro Linux 
KDE Plasma Version: 5.27.3
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8
Kernel Version: 6.3.0-1-MANJARO (64-bit) --> Tested also with kernel 6.2.7.
Graphics Platform: Wayland
Processors: 8 × AMD Ryzen 5 3550H with Radeon Vega Mobile Gfx
Memory: 29,3 GiB of RAM
Graphics Processor: AMD Radeon Vega 8 Graphics
Manufacturer: BESSTAR TECH LIMITED
Product Name: UM350

ADDITIONAL INFORMATION

In 2K resolution everything works fine, but:

- Although Wayland adequately detects all the resolutions offered by the HDMI EDID emulator (see attached screenshot. All resolutions have been tested from Windows and work correctly in this operating system), resolutions greater than 2K (2560x1440) cannot be activated properly, the screen goes black and after a few seconds it returns to the original resolution, which was 2K.

- The only resolution greater than 2K that worked was 4K in previous versions of KDE, but now when switching to 4K the problem I mentioned above occurs and the computer ends up freezing.

I've been looking at the logs, but I don't see anything, no error indication. Apparently Linux keeps running even though the screen goes black, until at 01:25:45 I am forced to press the power button because the keyboard is no longer responding:

mar 19 01:01:01 ComputerM-K CROND[8701]: (root) CMD (run-parts /etc/cron.hourly)
mar 19 01:01:01 ComputerM-K anacron[8708]: Anacron started on 2023-03-19
mar 19 01:01:01 ComputerM-K CROND[8700]: (root) CMDEND (run-parts /etc/cron.hourly)
mar 19 01:01:01 ComputerM-K anacron[8708]: Normal exit (0 jobs run)
mar 19 01:01:11 ComputerM-K NetworkManager[380]: <info>  [1679184071.3916] device (wlp2s0): set-hw-addr: set MAC address to 46:3B:11:6A:A9:3A (scanning)
mar 19 01:02:36 ComputerM-K plasmashell[676]: QString::arg: 2 argument(s) missing in firefox
mar 19 01:02:36 ComputerM-K systemd[527]: Started Firefox - Web Browser.
mar 19 01:02:36 ComputerM-K plasmashell[676]: file:///usr/share/plasma/plasmoids/org.kde.plasma.taskmanager/contents/ui/Task.qml:286: Unable to assign [undefined] to QString
mar 19 01:02:37 ComputerM-K plasmashell[8838]: ATTENTION: default value of option mesa_glthread overridden by environment.
mar 19 01:02:37 ComputerM-K plasmashell[8838]: ATTENTION: default value of option mesa_glthread overridden by environment.
mar 19 01:02:37 ComputerM-K plasmashell[8838]: ATTENTION: default value of option mesa_glthread overridden by environment.
mar 19 01:02:37 ComputerM-K rtkit-daemon[603]: Supervising 10 threads of 3 processes of 1 users.
mar 19 01:02:37 ComputerM-K rtkit-daemon[603]: Supervising 10 threads of 3 processes of 1 users.
mar 19 01:02:37 ComputerM-K rtkit-daemon[603]: Supervising 10 threads of 3 processes of 1 users.
mar 19 01:02:37 ComputerM-K rtkit-daemon[603]: Supervising 10 threads of 3 processes of 1 users.
mar 19 01:02:37 ComputerM-K rtkit-daemon[603]: Supervising 10 threads of 3 processes of 1 users.
mar 19 01:02:37 ComputerM-K rtkit-daemon[603]: Supervising 10 threads of 3 processes of 1 users.
mar 19 01:02:37 ComputerM-K rtkit-daemon[603]: Successfully made thread 8978 of process 8838 owned by '1000' RT at priority 10.
mar 19 01:02:37 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:02:38 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:02:38 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:02:38 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:02:38 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:02:38 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:02:38 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:02:39 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:02:39 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:02:39 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:02:39 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:02:39 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:02:39 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:03:06 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:03:06 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:05:43 ComputerM-K kwin_wayland[565]: kwin_core: XCB error: 3 (BadWindow), sequence: 7218, resource id: 18874476, major code: 129 (SHAPE), minor code: 6 (Input)
mar 19 01:08:04 ComputerM-K NetworkManager[380]: <info>  [1679184484.3852] device (wlp2s0): set-hw-addr: set MAC address to 76:78:A4:3B:92:6B (scanning)
mar 19 01:08:04 ComputerM-K NetworkManager[380]: <info>  [1679184484.4147] device (wlp2s0): supplicant interface state: inactive -> disconnected
mar 19 01:08:04 ComputerM-K NetworkManager[380]: <info>  [1679184484.4148] device (p2p-dev-wlp2s0): supplicant management interface state: inactive -> disconnected
mar 19 01:08:04 ComputerM-K NetworkManager[380]: <info>  [1679184484.4198] device (wlp2s0): supplicant interface state: disconnected -> inactive
mar 19 01:08:04 ComputerM-K NetworkManager[380]: <info>  [1679184484.4198] device (p2p-dev-wlp2s0): supplicant management interface state: disconnected -> inactive
mar 19 01:08:17 ComputerM-K kwin_wayland[565]: kwin_screencast: Dropping a screencast frame because the compositor is slow
mar 19 01:08:17 ComputerM-K kwin_wayland[565]: kwin_screencast: Dropping a screencast frame because the compositor is slow
mar 19 01:08:18 ComputerM-K plasmashell[676]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
mar 19 01:08:18 ComputerM-K plasmashell[676]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
mar 19 01:08:18 ComputerM-K plasmashell[676]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
mar 19 01:08:18 ComputerM-K plasmashell[676]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
mar 19 01:08:18 ComputerM-K plasmashell[676]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
mar 19 01:08:18 ComputerM-K plasmashell[676]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:7
mar 19 01:08:19 ComputerM-K kwin_wayland[565]: kwin_screencast: Dropping a screencast frame because the compositor is slow
mar 19 01:14:59 ComputerM-K NetworkManager[380]: <info>  [1679184899.4019] device (wlp2s0): set-hw-addr: set MAC address to BE:86:98:7C:9F:8F (scanning)
mar 19 01:16:17 ComputerM-K plasmashell[1354]: [1350:1350:0319/011617.218678:ERROR:CONSOLE(0)] "Uncaught (in promise) Error: Could not establish connection. Receiving end does not exist.", source: chrome-extension://mpognobbkildjkofajifpdfhcoklimli/browser.html (0)
mar 19 01:18:13 ComputerM-K plasmashell[1354]: [1350:1350:0319/011813.306551:ERROR:CONSOLE(0)] "Uncaught (in promise) Error: Could not establish connection. Receiving end does not exist.", source: chrome-extension://mpognobbkildjkofajifpdfhcoklimli/browser.html (0)
mar 19 01:18:13 ComputerM-K plasmashell[1354]: [1350:1350:0319/011813.306686:ERROR:CONSOLE(0)] "Uncaught (in promise) Error: Could not establish connection. Receiving end does not exist.", source: chrome-extension://mpognobbkildjkofajifpdfhcoklimli/browser.html (0)
mar 19 01:18:13 ComputerM-K plasmashell[1354]: [1350:1350:0319/011813.306792:ERROR:CONSOLE(0)] "Uncaught (in promise) Error: Could not establish connection. Receiving end does not exist.", source: chrome-extension://mpognobbkildjkofajifpdfhcoklimli/browser.html (0)
mar 19 01:18:51 ComputerM-K kwin_wayland[565]: kwin_screencast: Dropping a screencast frame because the compositor is slow
mar 19 01:18:53 ComputerM-K plasmashell[676]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
mar 19 01:18:53 ComputerM-K plasmashell[676]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
mar 19 01:18:53 ComputerM-K plasmashell[676]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
mar 19 01:18:53 ComputerM-K plasmashell[676]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
mar 19 01:18:53 ComputerM-K plasmashell[676]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:4
mar 19 01:18:53 ComputerM-K plasmashell[676]: kpipewire_logging: PipeWire remote error:  -2 unknown resource 2 op:7
mar 19 01:19:01 ComputerM-K plasmashell[676]: QString::arg: 2 argument(s) missing in systemsettings
mar 19 01:19:01 ComputerM-K systemd[527]: Started System Settings - System Settings.
mar 19 01:19:01 ComputerM-K systemsettings5[10768]: file:///usr/lib/qt/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML MouseArea: Binding loop detected for property "width"
mar 19 01:19:01 ComputerM-K systemsettings5[10768]: file:///usr/lib/qt/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML MouseArea: Binding loop detected for property "width"
mar 19 01:19:01 ComputerM-K systemsettings5[10768]: QQmlEngine::setContextForObject(): Object already has a QQmlContext
mar 19 01:19:01 ComputerM-K systemsettings5[10768]: file:///usr/lib/qt/qml/org/kde/kirigami.2/Dialog.qml:329:9: QML ScrollView: Binding loop detected for property "calculatedImplicitWidth"
mar 19 01:19:01 ComputerM-K systemsettings5[10768]: file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/InlineMessage.qml:257:13: QML SelectableLabel: Binding loop detected for property "implicitWidth"
mar 19 01:19:01 ComputerM-K systemsettings5[10768]: file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/InlineMessage.qml:257:13: QML SelectableLabel: Binding loop detected for property "implicitWidth"
mar 19 01:19:01 ComputerM-K systemsettings5[10768]: file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/InlineMessage.qml:257:13: QML SelectableLabel: Binding loop detected for property "implicitWidth"
mar 19 01:19:01 ComputerM-K systemsettings5[10768]: file:///usr/lib/qt/qml/org/kde/kirigami.2/templates/InlineMessage.qml:257:13: QML SelectableLabel: Binding loop detected for property "implicitWidth"
mar 19 01:19:01 ComputerM-K systemsettings5[10768]: file:///usr/lib/qt/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML MouseArea: Binding loop detected for property "implicitHeight"
mar 19 01:19:01 ComputerM-K systemsettings5[10768]: file:///usr/lib/qt/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML MouseArea: Binding loop detected for property "implicitHeight"
mar 19 01:19:01 ComputerM-K systemsettings5[10768]: qml: The item SubCategoryPage_QMLTYPE_114(0x55910c7c13d0) is already in the PageRow
mar 19 01:19:01 ComputerM-K systemsettings5[10768]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
mar 19 01:19:13 ComputerM-K kcminit[10810]: Initializing  "/usr/lib/qt/plugins/plasma/kcms/systemsettings/kcm_fonts.so"
mar 19 01:20:36 ComputerM-K dbus-daemon[553]: [session uid=1000 pid=553] Activating service name='org.kde.LogoutPrompt' requested by ':1.13' (uid=1000 pid=645 comm="/usr/bin/ksmserver")
mar 19 01:20:36 ComputerM-K dbus-daemon[553]: [session uid=1000 pid=553] Successfully activated service 'org.kde.LogoutPrompt'
mar 19 01:20:36 ComputerM-K ksmserver-logout-greeter[10856]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
mar 19 01:20:36 ComputerM-K ksmserver-logout-greeter[10856]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
mar 19 01:21:52 ComputerM-K NetworkManager[380]: <info>  [1679185312.3986] device (wlp2s0): set-hw-addr: set MAC address to 12:50:19:35:FB:D9 (scanning)
mar 19 01:24:55 ComputerM-K systemd[1]: Started Getty on tty3.
mar 19 01:24:55 ComputerM-K audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=getty@tty3 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
mar 19 01:24:55 ComputerM-K kernel: audit: type=1130 audit(1679185495.976:125): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=getty@tty3 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
mar 19 01:24:55 ComputerM-K kernel: fbcon: Taking over console
mar 19 01:24:56 ComputerM-K kernel: Console: switching to colour frame buffer device 240x67
mar 19 01:24:56 ComputerM-K systemd[1]: Started Getty on tty4.
mar 19 01:24:56 ComputerM-K audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=getty@tty4 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
mar 19 01:24:56 ComputerM-K kernel: audit: type=1130 audit(1679185496.526:126): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=getty@tty4 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
mar 19 01:25:17 ComputerM-K wireplumber[797]: SPA handle 'api.bluez5.enum.dbus' could not be loaded; is it installed?
mar 19 01:25:17 ComputerM-K wireplumber[797]: PipeWire's BlueZ SPA missing or broken. Bluetooth not supported.
mar 19 01:25:17 ComputerM-K rtkit-daemon[603]: Supervising 10 threads of 4 processes of 1 users.
mar 19 01:25:17 ComputerM-K rtkit-daemon[603]: Successfully made thread 11060 of process 970 owned by '1000' RT at priority 5.
mar 19 01:25:17 ComputerM-K rtkit-daemon[603]: Supervising 11 threads of 4 processes of 1 users.
mar 19 01:25:17 ComputerM-K pulseaudio[970]: Failed to find a working profile.
mar 19 01:25:17 ComputerM-K pulseaudio[970]: Failed to load module "module-alsa-card" (argument: "device_id="2" name="pci-0000_04_00.6" card_name="alsa_card.pci-0000_04_00.6" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
mar 19 01:25:45 ComputerM-K systemd-logind[364]: Power key pressed short.
-- Boot 0a95cc72298e48ec827484d354216f2a --
mar 19 01:26:14 ComputerM-K kernel: Linux version 6.3.0-1-MANJARO (builduser@fv-az740-919) (gcc (GCC) 12.2.1 20230201, GNU ld (GNU Binutils) 2.40) #1 SMP PREEMPT_DYNAMIC Sat Mar 18 19:43:45 UTC 2023
Comment 1 Nate Graham 2023-04-04 20:48:38 UTC
Can you describe why you need to use this EDIT emulator hardware? What's broken without it?
Comment 2 Chema 2023-04-04 22:28:25 UTC
The HDMI EDID emulator is used for 2 functions:

1- If you use a remote control application like AnyDesk or similar, the remote computer must be receiving an HDMI signal for it to work correctly. If the computer stops receiving this signal, for example because you unplug the HDMI cable, the remote control of the computer stops working.

If you have both computers plugged into a KVM switch, and from the first computer you want to remote control the second computer using one of these remote control programs, you can't do it without using a hardware emulator like this because when you activate the first computer on the KVM switch computer from which you control the second computer remotely, this remote connection does not work because the second computer stops receiving the HDMI signal (since you are receiving the HDMI signal on the first computer). What the HDMI EDID emulator does is that even if the HDMI cable is unplugged, it emulates the signal as if it continued to reach the computer, so it is believed that it is connected to a monitor and then the remote control works, although the computer does not really is connected to a monitor (or is not receiving the signal from the HDMI cable).

But unlike a normal EDID emulator, this one is bi-directional, which allows the HDMI cable to be connected to it and you can quickly switch on the KVM switch to the remote computer and start receiving the HDMI signal from the monitor, just in case there is some problem that cannot be fixed from the remote control.

2- By emulating HDMI resolutions, switching between devices on the KVM switch is almost instantaneous, it only takes 1 or 2 seconds. Without this kind of emulator, switching the display between computers on the KVM switch takes a long time, about 15-20 seconds, because it has to re-receive the HDMI signal, readjust the resolution, etc. while with the HDMI EDID emulator it never loses the signal or the resolution that the equipment had, it is believed that it is always connected to a monitor, so switching between the equipment screens is almost instantaneous.

In Windows this hardware works perfectly, allowing me to select any resolution that the system detects. In Linux I am having the problem that of all the resolutions that Wayland detects and offers, only Full HD, 2K and 4K resolutions work, intermediate resolutions do not work with this adapter plugged in, but this does not happen only in KDE, it happens to me also in GNOME, so I think it's more of a bug with the Linux kernel graphic driver that for some reason is not able to work correctly with this hardware.

With versions prior to KDE 5.27.3, this hardware worked fine in the resolutions that I have mentioned, with the only problem that when suspending the computer in 4K resolution and turning it on, it did not receive the HDMI signal and you had to change the console by pressing Ctrl + F2, when doing so, it received the HDMI signal again and it was possible to switch to the session with KDE by pressing Ctrl + F1 and everything worked fine (but this problem did not occur in GNOME).

But since KDE version 5.27.3 the 4K resolution has stopped working, when I activate it the screen stays black and does not return to the previous resolution even after 1 minute passes, forcing me to change to another console and restart the computer.

Please, I don't want to sound selfish with what I'm going to say now, but this connector is only $20 on Amazon, is there any chance that I would donate the money to some KDE developer to buy this hardware so he can carry out the relevant tests? I've been having problems with this connector for more than a year and we haven't found a solution, from here the tests I can do are very limited due to my knowledge of Linux and I think that because of this, it would take a long time to find a solution.
Comment 3 Nate Graham 2023-04-05 14:41:36 UTC
Thanks for the exhaustive explanation. Your offer of hardware to test with is generous and may make the difference. I'm 100% sure that no KDE developers who work on multi-monitor stuff have used such a device before. Let me ask around.
Comment 4 David Edmundson 2023-04-06 13:54:10 UTC
Should get fixed with https://invent.kde.org/plasma/libkscreen/-/merge_requests/118
Comment 5 Chema 2023-05-18 17:22:09 UTC
I installed a few days ago the new version KDE 5.27.5, but this problem is still not solved, the same thing happens.

Please, I insist on the idea of making a donation so that a developer can buy this device on Amazon and that he can study why it works correctly on Windows and not on KDE, I think it is the fastest and easiest way to an experienced developer can find the cause of the malfunction in KDE.

I have already given up hope that this can be fixed in the current version 5.27, but at least so that it can be fixed in the new KDE 6.