Created attachment 171933 [details] system log from the system waking up SUMMARY After reconnecting the dock (Dell Thunderbolt WD22TB4), DisplayPort screens remain off and have to be manually turned on using the Display Configuration KCM. STEPS TO REPRODUCE 1. With both dock-connected DisplayPort screens on and configured properly, disconnected thunderbolt dock. 2. Put computer to sleep by closing the lid, and wait a minute for the suspend process to complete. 3. Open the lid and wait for the computer to wake up, but do not unlock the screen. 4. Connect dock's Thunderbolt cable. OBSERVED RESULT External screens stay off. EXPECTED RESULT External screens should turn on and present the original configuration. SOFTWARE/OS VERSIONS Operating System: KDE neon Testing Edition KDE Plasma Version: 6.1.3 KDE Frameworks Version: 6.5.0 Qt Version: 6.7.0 Kernel Version: 6.5.0-44-generic (64-bit) Graphics Platform: Wayland Processors: 20 × 12th Gen Intel® Core™ i7-12700H Memory: 31.0 GiB of RAM Graphics Processor: Mesa Intel® Graphics ADDITIONAL INFORMATION In the system log I get these errors immediately on wake up: ---8<--- Jul 23 20:08:13 vesho plasmashell[62505]: [311552:311596:0723/200813.343154:ERROR:vulkan_swap_chain.cc(431)] vkAcquireNextImageKHR() hangs. Jul 23 20:08:13 vesho plasmashell[62505]: [311552:311623:0723/200813.343297:ERROR:vulkan_swap_chain.cc(431)] vkAcquireNextImageKHR() hangs. Jul 23 20:08:13 vesho plasmashell[62505]: [311552:311624:0723/200813.349917:ERROR:vulkan_swap_chain.cc(431)] vkAcquireNextImageKHR() hangs. Jul 23 20:08:13 vesho plasmashell[62505]: [311552:311594:0723/200813.346125:ERROR:vulkan_swap_chain.cc(431)] vkAcquireNextImageKHR() hangs. Jul 23 20:08:13 vesho plasmashell[62505]: [311552:311552:0723/200813.352633:ERROR:gpu_service_impl.cc(1125)] Exiting GPU process because some drivers can't recover from errors. GPU process will restart shortly. ---8<--- Then a few messages like this, as the dock connects: ---8<--- Jul 23 20:08:22 vesho kwin_wayland[3688]: kwin_wayland_drm: failed to open drm device at "" ---8<--- but nothing much else. Attached system log from the wake up process.
Created attachment 171974 [details] Another system log of waking up and not connecting The original report here is about a problem disconnecting and reconnecting to the same Thunderbolt dock, after which the external screens do not turn on automatically, but do turn on manually (using the DisplayConfiguration KCM or the kscreen-doctor command line). I have a more problematic behavior - that is maybe related or may be the same thing - that if the laptop is connected to another dock (standard USB-C, non TB) with an external screen, then is slept, then wakes up and connects to the Thunderbolt dock - the external screens stay off and there is **no way** to turn them on other than a system reboot. Attached is the system log from waking up in the case where the screens cannot be turned on. They are still visible in the Display Configuration KCM, where the "enabled" checkbox is unmarked, but trying to enable it fails with no error messages. Here's the output of a kscreen-doctor script I use to set the display configuration for me: --8<--- + kscreen-doctor output.1.enable output.1.position.3200,840 output.2.enable output.2.position.0,0 output.2.mode.3840x2160@60 output.2.scale.1.35 output.2.rotation.left output.3.enable output.3.position.1600,0 output.3.mode.3840x2160@60 output.3.scale.1.35 output.3.rotation.left Enabling output 1 kscreen.doctor: Set output position QPoint(3200,840) Enabling output 2 kscreen.doctor: Set output position QPoint(0,0) kscreen.doctor: Taddaaa! Found mode "0" "3840x2160@60" kscreen.doctor: Output 2 set mode "3840x2160@60" Enabling output 3 kscreen.doctor: Set output position QPoint(1600,0) kscreen.doctor: Taddaaa! Found mode "0" "3840x2160@60" kscreen.doctor: Output 3 set mode "3840x2160@60" kscreen.doctor: setop exec returned KScreen::Config( KScreen::Output(1, "eDP-1", connected enabled priority 1, pos: QPoint(3200,840), res: QSize(1920, 1200), modeId: "0", scale: 1, clone: no, rotation: KScreen::Output::None, followPreferredMode: false) KScreen::Output(2, "DP-5", connected enabled priority 2, pos: QPoint(0,0), res: QSize(3840, 2160), modeId: "0", scale: 1.35, clone: no, rotation: KScreen::Output::Left, followPreferredMode: false) KScreen::Output(3, "DP-6", connected enabled priority 3, pos: QPoint(1600,0), res: QSize(3840, 2160), modeId: "0", scale: 1.35, clone: no, rotation: KScreen::Output::Left, followPreferredMode: false) ) + kscreen-doctor -o Output: 1 eDP-1 enabled connected priority 1 Panel Modes: 0:1920x1200@60*! 1:1920x1200@48 2:1600x1200@60 3:1280x1024@60 4:1024x768@60 5:1280x800@60 6:1920x1080@60 7:1600x900@60 8:1368x768@60 9:1280x720@60 Geometry: 0,0 1920x1200 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: Automatic HDR: incapable Wide Color Gamut: incapable ICC profile: none Color profile source: sRGB Output: 2 DP-5 disabled connected priority 0 DisplayPort Modes: 0:3840x2160@60*! 1:3840x2160@60 2:3840x2160@30 3:2560x1440@60 4:2048x1280@60 5:1920x1200@60 6:2048x1080@24 7:1920x1080@60 8:1920x1080@60 9:1920x1080@60 10:1920x1080@50 11:1920x1080@24 12:1920x1080@24 13:1600x1200@60 14:1600x900@60 15:1280x1024@75 16:1280x1024@60 17:1152x864@75 18:1280x720@60 19:1280x720@60 20:1280x720@50 21:1024x768@75 22:1024x768@60 23:800x600@75 24:800x600@60 25:720x576@50 26:720x576@50 27:720x480@60 28:720x480@60 29:720x480@60 30:720x480@60 31:640x480@75 32:640x480@60 33:640x480@60 34:640x480@60 35:720x400@70 Geometry: 0,0 3840x2160 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: Automatic HDR: incapable Wide Color Gamut: incapable ICC profile: none Color profile source: sRGB Output: 3 DP-6 disabled connected priority 0 DisplayPort Modes: 0:3840x2160@60*! 1:3840x2160@60 2:3840x2160@30 3:2560x1440@60 4:2048x1280@60 5:1920x1200@60 6:2048x1080@24 7:1920x1080@60 8:1920x1080@60 9:1920x1080@60 10:1920x1080@50 11:1920x1080@24 12:1920x1080@24 13:1600x1200@60 14:1600x900@60 15:1280x1024@75 16:1280x1024@60 17:1152x864@75 18:1280x720@60 19:1280x720@60 20:1280x720@50 21:1024x768@75 22:1024x768@60 23:800x600@75 24:800x600@60 25:720x576@50 26:720x576@50 27:720x480@60 28:720x480@60 29:720x480@60 30:720x480@60 31:640x480@75 32:640x480@60 33:640x480@60 34:640x480@60 35:720x400@70 Geometry: 0,0 3840x2160 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: Automatic HDR: incapable Wide Color Gamut: incapable ICC profile: none Color profile source: sRGB ---8<--- As can be seen, after setting Outputs 2 and 3 to enabled, and kscreen-doctor acknowledging that it did that - they stay off and the kscreen-doctor output confirms this.
Could you try setting > KWIN_DRM_PREFER_COLOR_DEPTH=24 and see if you can still reproduce the issue? Docks often have problems with more than 8 bits per color (and the next version of KWin forces that by default for docks). Also, when you say that > after setting Outputs 2 and 3 to enabled, and kscreen-doctor acknowledging that it did that - they stay off and the kscreen-doctor output confirms this. that most likely means that KWin can't apply the config - but there's nothing in the log about it. If setting the bit depth doesn't change anything, could you follow https://invent.kde.org/plasma/kwin/-/wikis/Debugging-DRM-issues to provide a drm debug log for applying the config?
sorry, I didn't want to select resolved
.
Testing... it may take a few days, as we are heading to a weekend and I won't be back with the TB dock before Sunday.
Created attachment 172291 [details] DRM log during resume Sorry it took so long - I have skipped an office week.... Anyway, setting KWIN_DRM_PREFER_COLOR_DEPTH=24 did not help. I've enabled DRM kernel debug and the attached file is the output of `journal -S 10:45 -U 10:49` . The system woke up again at 10:48 and after log in I ran the kscreen-doctor script - that I've discussed previously - to set up my screen configuration. Its quite a bit of noise - I hope you can make some sense of it. Thank you!
(In reply to Oded Arbel from comment #6) > Its quite a bit of noise - I hope you can make some sense of it. Thank you! I just noticed that the logs show a lot of possible connectors, and I have noticed that the port numbering jumping around for the connected screens, between boots or resumes, so I wanted to make it clear - I the above attached logs, I expect the connected screens to be DP-6 and DP-7. Here's the current output of kscreen-doctor -o (before I have to reboot again to reset the screens): Output: 1 eDP-1 enabled connected priority 1 Panel Modes: 0:1920x1200@60*! 1:1920x1200@48 2:1600x1200@60 3:1280x1024@60 4:1024x768@60 5:1280x800@60 6:1920x1080@60 7:1600x900@60 8:1368x768@60 9:1280x720@60 Geometry: 0,0 1920x1200 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: Automatic HDR: incapable Wide Color Gamut: incapable ICC profile: none Color profile source: sRGB Output: 2 DP-6 disabled connected priority 0 DisplayPort Modes: 0:3840x2160@60*! 1:3840x2160@60 2:3840x2160@30 3:2560x1440@60 4:2048x1280@60 5:1920x1200@60 6:2048x1080@24 7:1920x1080@60 8:1920x1080@60 9:1920x1080@60 10:1920x1080@50 11:1920x1080@24 12:1920x1080@24 13:1600x1200@60 14:1600x900@60 15:1280x1024@75 16:1280x1024@60 17:1152x864@75 18:1280x720@60 19:1280x720@60 20:1280x720@50 21:1024x768@75 22:1024x768@60 23:800x600@75 24:800x600@60 25:720x576@50 26:720x576@50 27:720x480@60 28:720x480@60 29:720x480@60 30:720x480@60 31:640x480@75 32:640x480@60 33:640x480@60 34:640x480@60 35:720x400@70 Geometry: 0,0 3840x2160 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: Automatic HDR: incapable Wide Color Gamut: incapable ICC profile: none Color profile source: sRGB Output: 3 DP-7 disabled connected priority 0 DisplayPort Modes: 0:3840x2160@60*! 1:3840x2160@60 2:3840x2160@30 3:2560x1440@60 4:2048x1280@60 5:1920x1200@60 6:2048x1080@24 7:1920x1080@60 8:1920x1080@60 9:1920x1080@60 10:1920x1080@50 11:1920x1080@24 12:1920x1080@24 13:1600x1200@60 14:1600x900@60 15:1280x1024@75 16:1280x1024@60 17:1152x864@75 18:1280x720@60 19:1280x720@60 20:1280x720@50 21:1024x768@75 22:1024x768@60 23:800x600@75 24:800x600@60 25:720x576@50 26:720x576@50 27:720x480@60 28:720x480@60 29:720x480@60 30:720x480@60 31:640x480@75 32:640x480@60 33:640x480@60 34:640x480@60 35:720x400@70 Geometry: 0,0 3840x2160 Scale: 1 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: Automatic HDR: incapable Wide Color Gamut: incapable ICC profile: none Color profile source: sRGB
Okay, I found this in the log: Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:intel_modeset_pipe_config [i915]] [CONNECTOR:292:DP-6] Limiting display bpp to 24 (EDID bpp 30, max requested bpp 24, max platform bpp 36) Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_atomic_get_private_obj_state [drm]] Added new private object 00000000be7e3da5 state 00000000846251fe to 00000000951c8c1b Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:intel_dp_mst_find_vcpi_slots_for_bpp.constprop.0.isra.0 [i915]] Trying bpp 24 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_dp_atomic_find_time_slots [drm_display_helper]] [CONNECTOR:292:DP-6] [MST PORT:00000000e297958f] TU 0 -> 94 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_dp_atomic_find_time_slots [drm_display_helper]] [CONNECTOR:292:DP-6] [MST PORT:00000000e297958f] PBN 0 -> 1870 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_dp_mst_get_port_malloc [drm_display_helper]] port 00000000e297958f (3) Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_dp_mst_atomic_check_payload_alloc_limits [drm_display_helper]] [MST PORT:00000000e297958f] requires 94 time slots Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_dp_mst_atomic_check_payload_alloc_limits [drm_display_helper]] [MST PORT:00000000e297958f] not enough time slots in mst state 00000000846251fe (avail=63) Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:intel_dp_mst_find_vcpi_slots_for_bpp.constprop.0.isra.0 [i915]] Trying bpp 18 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_dp_atomic_find_time_slots [drm_display_helper]] [CONNECTOR:292:DP-6] [MST PORT:00000000e297958f] TU 94 -> 71 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_dp_atomic_find_time_slots [drm_display_helper]] [CONNECTOR:292:DP-6] [MST PORT:00000000e297958f] PBN 1870 -> 1402 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_dp_mst_atomic_check_payload_alloc_limits [drm_display_helper]] [MST PORT:00000000e297958f] requires 71 time slots Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_dp_mst_atomic_check_payload_alloc_limits [drm_display_helper]] [MST PORT:00000000e297958f] not enough time slots in mst state 00000000846251fe (avail=63) Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:intel_dp_mst_find_vcpi_slots_for_bpp.constprop.0.isra.0 [i915]] failed finding vcpi slots:-28 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:intel_dp_mst_compute_config [i915]] Force DSC en = 0 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:intel_dp_mst_compute_config [i915]] Trying to find VCPI slots in DSC mode Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:intel_dp_dsc_mst_compute_link_config [i915]] DSC Source supported min bpp 18 max bpp 24 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:intel_dp_dsc_mst_compute_link_config [i915]] DSC Sink supported min bpp 24 max bpp 24 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:intel_dp_mst_find_vcpi_slots_for_bpp.constprop.0.isra.0 [i915]] Trying bpp 24 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_dp_atomic_find_time_slots [drm_display_helper]] [CONNECTOR:292:DP-6] [MST PORT:00000000e297958f] TU 71 -> 94 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_dp_atomic_find_time_slots [drm_display_helper]] [CONNECTOR:292:DP-6] [MST PORT:00000000e297958f] PBN 1402 -> 1870 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_dp_mst_atomic_check_payload_alloc_limits [drm_display_helper]] [MST PORT:00000000e297958f] requires 94 time slots Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:drm_dp_mst_atomic_check_payload_alloc_limits [drm_display_helper]] [MST PORT:00000000e297958f] not enough time slots in mst state 00000000846251fe (avail=63) Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:intel_dp_mst_find_vcpi_slots_for_bpp.constprop.0.isra.0 [i915]] failed finding vcpi slots:-28 Aug 05 10:48:39 vesho kernel: i915 0000:00:02.0: [drm:intel_modeset_pipe_config [i915]] [ENCODER:266:DP-MST C] config failure: -28 I'm not a driver expert, but I *think* it means that the driver thinks the dock doesn't have enough bandwidth to turn the displays on. I'm relatively confident this is a driver bug. Please report it at https://gitlab.freedesktop.org/drm/i915/kernel/-/issues, and attach that drm debug log and the output of drm_info there
After updating to Neon noble, with kernel 6.8, the problem does not appear to happen anymore. I will disable the 24bpp limit and will check with upstream if I still experience issues.