On a Lenovo T14 on Fedora 37 with an USB C dock connected to two monitors with display port.
After updating to kernel 6.1 an issue with monitors occur when locking screen.
When I try to unlock the session the monitors don’t display anything, only the built-in monitor of the laptop is working.
If I boot on kernel 6.0 everything is OK and the monitors display the login page when I try to unlock the session.
My hardware is:
Lenovo Thinkpad X1 Carbon 9th gen with Thunderbolt 3 dock (not officially supported by Lenovo but it worked until kernel 6.0.18-300.fc37, and it so far behaved similar to my ThinkPad Thunderbolt 4 Workstation Dock - I prefer the former because its power supply has much less size and weight).
The symptoms are as follows:
The two external screens connected to the Thunderbolt dock remain black after the laptop is back from energy saving mode (not sure if it’s the laptop or the external screen energy saving, or both), but only after I updated from 6.0.18-300 to 6.1.5-200. An update to kernel 6.1.6-200 (I noticed that also several KDE packages were updated at this time) did not change the behavior. After booting with kernel 6.0.18-300 again, the problem did not happen again. (For the time being, I modified the installonly_limit from 3 to 6 in /etc/dnf/dnf.conf to be able to test another kernel without removing the 6.0 kernel).
I tried to find any output in /var/log/messages at the time of the problem but so far was unsuccessful. I noticed just the following differences:
The “good” kernel 6.0.18-300 had the following “kernel: ACPI: Added _OSI” lines during boot:
Jan 16 08:43:16 kernel: ACPI: Added _OSI(Module Device)
Jan 16 08:43:16 kernel: ACPI: Added _OSI(Processor Device)
Jan 16 08:43:16 kernel: ACPI: Added _OSI(3.0 _SCP Extensions)
Jan 16 08:43:16 kernel: ACPI: Added _OSI(Processor Aggregator Device)
Jan 16 08:43:16 kernel: ACPI: Added _OSI(Linux-Dell-Video)
Jan 16 08:43:16 kernel: ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
Jan 16 08:43:16 kernel: ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
Kernels 6.1.5-200 and 6.1.6-200 only had the following lines during boot:
Jan 17 10:11:47 kernel: ACPI: Added _OSI(Module Device)
Jan 17 10:11:47 kernel: ACPI: Added _OSI(Processor Device)
Jan 17 10:11:47 kernel: ACPI: Added _OSI(3.0 _SCP Extensions)
Jan 17 10:11:47 kernel: ACPI: Added _OSI(Processor Aggregator Device)
The three missing lines did not show up anywhere when running with this kernel.
The following lines appeared twice during each boot with the kernels 6.1.5-200 and 6.1.6-200 but never when booting with the kernel kernel 6.0.18-300:
Jan 17 15:34:56 kernel: pci 0000:00:07.0: Overriding RP PIO Log Size to 4
More config info:
The kwin_x11 configuration is shown in /var/log/messages as:
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) Xe Graphics (TGL GT2)
OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.3.3
OpenGL shading language version string: 4.60
Driver: Intel
GPU class: Tiger Lake
OpenGL version: 4.6
GLSL version: 4.60
Mesa version: 22.3.3
X server version: 1.20.14
Linux kernel version: 6.0.18
Requires strict binding: yes
GLSL shaders: yes
Texture NPOT support: yes
Virtual Machine: no
The only difference in the 6.1 kernels is in the Linux kernel version. The rest remains the same in all cases.
Apparently, my previous reply disappeared after I edited it. Here it is again:
Same for me apparently, also on Fedora 37.
My hardware is:
Lenovo Thinkpad X1 Carbon 9th gen with Thunderbolt 3 dock (not officially supported by Lenovo but it worked until kernel 6.0.18-300.fc37, and it so far behaved similar to my ThinkPad Thunderbolt 4 Workstation Dock - I prefer the former because its power supply has much less size and weight).
The symptoms are as follows:
The two external screens connected to the Thunderbolt dock remain black after the laptop is back from energy saving mode (not sure if it’s the laptop or the external screen energy saving, or both), but only after I updated from 6.0.18-300 to 6.1.5-200. An update to kernel 6.1.6-200 (I noticed that also several KDE packages were updated at this time) did not change the behavior. After booting with kernel 6.0.18-300 again, the problem did not happen again. (For the time being, I modified the installonly_limit from 3 to 6 in /etc/dnf/dnf.conf to be able to test another kernel without removing the 6.0 kernel).
I tried to find any output in /var/log/messages at the time of the problem but so far was unsuccessful. I noticed just the following differences:
The “good” kernel 6.0.18-300 had the following “kernel: ACPI: Added _OSI” lines during boot:
Jan 16 08:43:16 kernel: ACPI: Added _OSI(Module Device)
Jan 16 08:43:16 kernel: ACPI: Added _OSI(Processor Device)
Jan 16 08:43:16 kernel: ACPI: Added _OSI(3.0 _SCP Extensions)
Jan 16 08:43:16 kernel: ACPI: Added _OSI(Processor Aggregator Device)
Jan 16 08:43:16 kernel: ACPI: Added _OSI(Linux-Dell-Video)
Jan 16 08:43:16 kernel: ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
Jan 16 08:43:16 kernel: ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
Kernels 6.1.5-200 and 6.1.6-200 only had the following lines during boot:
Jan 17 10:11:47 kernel: ACPI: Added _OSI(Module Device)
Jan 17 10:11:47 kernel: ACPI: Added _OSI(Processor Device)
Jan 17 10:11:47 kernel: ACPI: Added _OSI(3.0 _SCP Extensions)
Jan 17 10:11:47 kernel: ACPI: Added _OSI(Processor Aggregator Device)
The three missing lines did not show up anywhere when running with this kernel.
The following lines appeared twice during each boot with the kernels 6.1.5-200 and 6.1.6-200 but never when booting with the kernel kernel 6.0.18-300:
Jan 17 15:34:56 kernel: pci 0000:00:07.0: Overriding RP PIO Log Size to 4
More config info:
The kwin_x11 configuration is shown in /var/log/messages as:
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) Xe Graphics (TGL GT2)
OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.3.3
OpenGL shading language version string: 4.60
Driver: Intel
GPU class: Tiger Lake
OpenGL version: 4.6
GLSL version: 4.60
Mesa version: 22.3.3
X server version: 1.20.14
Linux kernel version: 6.0.18
Requires strict binding: yes
GLSL shaders: yes
Texture NPOT support: yes
Virtual Machine: no
The only difference in the 6.1 kernels is in the Linux kernel version. The rest remains the same in all cases.
I’ve checked the type of my USB C Lenovo dock, it’s written TYPE: 40AY.
For the GPU I have an AMD also.
I don’t see anything interesting in the log when I unlock my session maybe I’m missing something…
Mine is a 40AC. According to Display and Video Output Configurations - Docking Stations - Lenovo Support DE, 40AY is a “ThinkPad Universal USB-C Dock” whereas 40AC is a “ThinkPad Thunderbolt 3 Dock”.
Do you also have some differences in /var/log/messages when booting kernel 6.1 vs. 6.0 (e.g. a different number of kernel: ACPI: Added _OSI entries?
I’m seeing similar behaviour with different hardware. I’m hoping that by weighing I can help narrow the commonalities of the root cause.
Under a 6.0.x kernel
Displayport out on the Dock is detected and displayed normally. This is through multiple re-connections of the dock to the Thunderbolt port on the laptop.
Under a 6.1.6 kernel
DisplayPort out on the Dock is detected and displayed normally only the first Connection.
Subsequent connections, the display is detected (EDID, software is aware it’s there and configures it). Display is blank, reporting no Signal.
Attaching a USB-C to DisplayPort Cable between the Thunderbolt port and the Display multiple times works as expected. It’s something about the interaction with the Dock specifically.
Host: HP EliteBook 745 G6
CPU: AMD Ryzen 7 PRO 3700U
GPU: AMD ATI Radeon Vega Series
DE: Plasma 5.26.5
WM: KWin (x11)
HP® Thunderbolt Dock 120W G2 (2UK37UT#ABA)
I have a similar issue after upgrading today with the Lenovo YOGA Slim 7 Pro. I am currently running the Linux 6.1.6-200.fc37.x86_64 x86_64 Kernel version and Fedora Linux 37 (Workstation Edition). I didn’t have them in the morning before the upgrade.
Jan 18 08:32:46 kernel: i915 0000:00:02.0: [drm] *ERROR* Step 2 of creating MST payload for 00000000e179ad29 failed: -5
Jan 19 17:31:19 kernel: i915 0000:00:02.0: [drm] Failed to create MST payload for port 00000000f6eacae7: -110
Jan 19 17:31:19 kernel: i915 0000:00:02.0: [drm] *ERROR* Failed to create MST payload for DP-6: -110
Lines of the first type (“Step 2 of creating MST payload…”) appeared most often (total 15 times), whereas each of the other two lines appeared only once.
I installed 6.1.7-200.fc37.x86_64 this morning: reboot system boot 6.1.7-200.fc37.x Mon Jan 23 09:47 still running
, and so far have had no problems with the external monitors connected to the Thunderbolt dock. I still had some MST lines in /var/log/messages though:
Jan 23 09:48:46 kernel: i915 0000:00:02.0: [drm] Failed to create MST payload for port 00000000835ea903: -110
Jan 23 09:48:46 kernel: i915 0000:00:02.0: [drm] *ERROR* Failed to create MST payload for DP-6: -110
Jan 23 15:05:45 kernel: i915 0000:00:02.0: [drm] Failed to create MST payload for port 00000000f0045e1e: -110
Jan 23 15:05:45 kernel: i915 0000:00:02.0: [drm] *ERROR* Failed to create MST payload for DP-8: -110
Regarding the ACPI: Added _OSI lines: With kernel 6.0.18-300.fc37, there were:
Jan 23 09:32:15 kernel: ACPI: Added _OSI(Module Device)
Jan 23 09:32:15 kernel: ACPI: Added _OSI(Processor Device)
Jan 23 09:32:15 kernel: ACPI: Added _OSI(3.0 _SCP Extensions)
Jan 23 09:32:15 kernel: ACPI: Added _OSI(Processor Aggregator Device)
Jan 23 09:32:15 kernel: ACPI: Added _OSI(Linux-Dell-Video)
Jan 23 09:32:15 kernel: ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
Jan 23 09:32:15 kernel: ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
But with kernel 6.1.7-200.fc37, there are fewer:
Jan 23 09:46:48 kernel: ACPI: Added _OSI(Module Device)
Jan 23 09:46:48 kernel: ACPI: Added _OSI(Processor Device)
Jan 23 09:46:48 kernel: ACPI: Added _OSI(3.0 _SCP Extensions)
Jan 23 09:46:48 kernel: ACPI: Added _OSI(Processor Aggregator Device)
. So these lines are similar to those with kernel versions 6.1.5 and 6.1.6.
disconnect the dock from the laptop and wait some seconds
connect the dock again
Result: The monitors went to sleep and even when disconnecting the monitor cables from the dock and connecting again, they did not come back from sleep.
So what is working with this kernel?
lock screen with l
switch off the two monitors
wait some minutes (e.g. for example after returning from a break)
log in again
turn on the monitors
This will move all windows to their previous locations on all three screens.
Saw this Thead after postimg my own, it looks like I have the same issue. But it’s not limited to Lenovo’s dock as i have the same issues with an i-tec dock, too.
The fix will come from upstream, and likely the kernel. To install a newer kernel, you have a few options, in order from most likely to be supported vs least:
Join us in testing out new kernels and letting us know if the new kernel fixes your problem or not. This is the best way to give feedback about kernels and if users had reported this with the 6.1 kernel initially, we might have potentially caught it before pushing it. https://docs.fedoraproject.org/en-US/quick-docs/kernel/howto-kernel-testday/
This all comes with the caveat that none of these methods are guaranteed to fix your problem and you might be more likely to introduce new problems by installing kernels that haven’t gone through full community testing, and you might have limited community support running a custom kernel if you go down the compiling your own route. I’m not discouraging you from doing this, as I’ve definitely done this all myself when waiting for some fix or patch to land for my hardware, but it’s good to have a sort of “this hiking trail doesn’t have guard rails” sign up front.
Does someone maybe have a proposal for which diagnostics information we can/should collect for solving problems with external monitors connected to docking stations, and where to report such data?
BTW - Even with the 6.0.18-300 kernel, the two external monitors sometimes do not display content after the system comes back from energy saving (can be solved by disconnecting the docking station and connecting it again. Unfortunately, I don’t remember and don’t have any data about which kernel was the last one without such problems. I believe these problems started at some time in the second half 2022.
I’d be happy to spend some time on analyzing these types of problems and work on proposals for kernel regression tests - as it seems that such tests are not yet part of KernelRegressionTests - Fedora Project Wiki .