Created attachment 146012 [details] Screenshot of display settings on Wayland STEPS TO REPRODUCE 1. Have a NVIDIA GPU & latest driver 495.46 & Use wayland plasma session. 2. Go to System settings -> Display and Monitor -> Display configuration. OBSERVED RESULT Observer that the device's name gives "unknown" and not able to select primary(related?) EXPECTED RESULT Observer that the device's name have the correct monitor name and able to select a primary monitor. SOFTWARE/OS VERSIONS Linux: 5.16.2-arch1-1 (available in About System) KDE Plasma Version: 5.23.5 KDE Frameworks Version: 5.90.0 Qt Version: 5.15.2 ADDITIONAL INFORMATION This works correctly when using X11
Created attachment 146013 [details] Screenshot of display settings on X11
Please attach the output of drm_info
Created attachment 146015 [details] Output of drm_info Attached output of drm_info
The driver does expose EDID blobs but they either contain invalid information or KWin fails to parse them. As KWins parsing code works with other GPUs I assume it's a driver bug
I got some more information about this from people on Reddit having the same issue - it seems to work fine on other compositors. Making matters weirder, one of them sent me their edid (retrieved via the /sys interface) and KWin's code does parse it correctly. Can you attach your edid as well, to check whether or not it's the same for you? To get the edid you first search for paths with "find /sys | grep -i edid" (ignore the "permission denied" bits). Some of these paths should be of the format of "[...]/drm/card0/card0-[...]/edid". Then you can copy the path that should be relevant for your monitor and do "cat path > edid.bin" to extract the file
Created attachment 146934 [details] Samsung monitor ebin edid bin of the Samsung monitor(see X11 screenshot), connected via `card0-DP-3`
Created attachment 146935 [details] Lenovo monitor ebin The ebin of the Lenovo monitor(See X11 screenshot). If needed I can upload the ebin's when using X11
Created attachment 147811 [details] edid for Dell U2715H It alsos happens for me on one of my (identical) Dell monitors (always the same one, DP-4). Attached the `edid` file for it. According to `parse-edid`, the file itself is correct.
I think this is caused by a subtle but important part of how the drm interface works with data blobs, which KWin did not handle correctly. https://invent.kde.org/plasma/kwin/-/merge_requests/2203 should fix it, can someone test?
Git commit 34616520c2ef09382d1bb74ed4876a97b372875e by Xaver Hugl. Committed on 07/04/2022 at 12:53. Pushed by zamundaaa into branch 'master'. backends/drm: fetch immutable blobs in DrmProperty If the blob is fetched while there is no kernel-visible reference to it, the driver may re-use the blob ID. When DrmProperty is created or updated, KWin holds a reference on the blob via drmModeObjectProperties, so this should prevent any possible issues. M +4 -9 src/backends/drm/drm_object_connector.cpp M +18 -21 src/backends/drm/drm_object_plane.cpp M +26 -1 src/backends/drm/drm_property.cpp M +6 -1 src/backends/drm/drm_property.h https://invent.kde.org/plasma/kwin/commit/34616520c2ef09382d1bb74ed4876a97b372875e
Git commit 82c2324b5675ea2d5e3b962f270bda1d186e7326 by Xaver Hugl. Committed on 07/04/2022 at 13:33. Pushed by zamundaaa into branch 'Plasma/5.24'. backends/drm: fetch immutable blobs in DrmProperty If the blob is fetched while there is no kernel-visible reference to it, the driver may re-use the blob ID. When DrmProperty is created or updated, KWin holds a reference on the blob via drmModeObjectProperties, so this should prevent any possible issues. M +4 -9 src/backends/drm/drm_object_connector.cpp M +18 -21 src/backends/drm/drm_object_plane.cpp M +26 -1 src/backends/drm/drm_property.cpp M +6 -1 src/backends/drm/drm_property.h https://invent.kde.org/plasma/kwin/commit/82c2324b5675ea2d5e3b962f270bda1d186e7326
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/2203
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/2777
Git commit 97939ceae864aef2f50e117496f548555877b4ea by Xaver Hugl. Committed on 04/08/2022 at 15:48. Pushed by zamundaaa into branch 'master'. backends/drm: fix blob updating Two things about the code were wrong: 1. m_current is used in updateBlob() but was only updated afterwards 2. the assumption that the property having the same ID means it has the same blob contents is not always true M +2 -4 src/backends/drm/drm_property.cpp https://invent.kde.org/plasma/kwin/commit/97939ceae864aef2f50e117496f548555877b4ea
Git commit 9a81567777f94e2e6c1a121f1d86dd2bdea83adf by Xaver Hugl. Committed on 04/08/2022 at 18:38. Pushed by zamundaaa into branch 'Plasma/5.25'. backends/drm: fix blob updating Two things about the code were wrong: 1. m_current is used in updateBlob() but was only updated afterwards 2. the assumption that the property having the same ID means it has the same blob contents is not always true (cherry picked from commit 97939ceae864aef2f50e117496f548555877b4ea) M +2 -4 src/backends/drm/drm_property.cpp https://invent.kde.org/plasma/kwin/commit/9a81567777f94e2e6c1a121f1d86dd2bdea83adf
Git commit 3af37c8a29af36eb773b0684237d61b2bd6b81f9 by Xaver Hugl. Committed on 04/08/2022 at 18:39. Pushed by zamundaaa into branch 'Plasma/5.24'. backends/drm: fix blob updating Two things about the code were wrong: 1. m_current is used in updateBlob() but was only updated afterwards 2. the assumption that the property having the same ID means it has the same blob contents is not always true (cherry picked from commit 97939ceae864aef2f50e117496f548555877b4ea) M +2 -4 src/backends/drm/drm_property.cpp https://invent.kde.org/plasma/kwin/commit/3af37c8a29af36eb773b0684237d61b2bd6b81f9
*** Bug 453597 has been marked as a duplicate of this bug. ***