* Thunderbolt display chaining
@ 2025-04-21 16:35 Peter Zijlstra
2025-04-22 5:05 ` Mika Westerberg
0 siblings, 1 reply; 3+ messages in thread
From: Peter Zijlstra @ 2025-04-21 16:35 UTC (permalink / raw)
To: andreas.noever, michael.jamet, westeri, YehezkelShB; +Cc: linux-usb
Hi guys,
I got two Dell U2725QE screens, that can do 4k@120Hz. I'm trying to
daisy chain them on thunderbolt 4.
Using a windows laptop (Thinkpad X1) it all 'just' works, and both
screens are running 4k@60Hz, all good.
Using a Linux laptop (Thinkpad X13 Gen2i -- tigerlake) it sorta works.
It drives the first at 4k@120Hz and the second at 4k@30Hz, which is
kinda terrible. Trying to manually set the first screen to 60Hz works,
but doesn't appear to enable me to then manually set the second screen
to 60, it's stuck at 30 :-(
Using some Tigerlake NUC, I only get a single screen at 4k120Hz and
nothing at all on the second screen.
I tried having a quick look at tb.c, and it has this bandwidth
calculation in tb_available_bandwidth(), but I'm not quite sure where to
start poking.
Help?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Thunderbolt display chaining
2025-04-21 16:35 Thunderbolt display chaining Peter Zijlstra
@ 2025-04-22 5:05 ` Mika Westerberg
2025-04-22 9:12 ` Peter Zijlstra
0 siblings, 1 reply; 3+ messages in thread
From: Mika Westerberg @ 2025-04-22 5:05 UTC (permalink / raw)
To: Peter Zijlstra
Cc: andreas.noever, michael.jamet, westeri, YehezkelShB, linux-usb
Hi,
On Mon, Apr 21, 2025 at 06:35:49PM +0200, Peter Zijlstra wrote:
> Hi guys,
>
> I got two Dell U2725QE screens, that can do 4k@120Hz. I'm trying to
> daisy chain them on thunderbolt 4.
>
> Using a windows laptop (Thinkpad X1) it all 'just' works, and both
> screens are running 4k@60Hz, all good.
>
> Using a Linux laptop (Thinkpad X13 Gen2i -- tigerlake) it sorta works.
> It drives the first at 4k@120Hz and the second at 4k@30Hz, which is
> kinda terrible. Trying to manually set the first screen to 60Hz works,
> but doesn't appear to enable me to then manually set the second screen
> to 60, it's stuck at 30 :-(
>
> Using some Tigerlake NUC, I only get a single screen at 4k120Hz and
> nothing at all on the second screen.
>
> I tried having a quick look at tb.c, and it has this bandwidth
> calculation in tb_available_bandwidth(), but I'm not quite sure where to
> start poking.
If this is Tigerlake then that file is never used - DP tunneling is all
firmware. So what you have is:
TGL <-> M <-> M
The USB4/TB link is 40G with 10% reserved so you get 36G for DP for the
first link (since both go through that one). 4k @ 120Hz takes 25.82G which
leaves 36 - 28.82 = ~7G for the second monitor that's exactly the 4k at
30Hz you see.
Bandwidth allocation mode can help here but it is not supported until MTL
and I suspect this is what the Windows laptop is using.
You can remedy this by not daisy chaining if you have multiple ports:
TGL <-> M
^
|
v
M
Let me know if you need more information.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Thunderbolt display chaining
2025-04-22 5:05 ` Mika Westerberg
@ 2025-04-22 9:12 ` Peter Zijlstra
0 siblings, 0 replies; 3+ messages in thread
From: Peter Zijlstra @ 2025-04-22 9:12 UTC (permalink / raw)
To: Mika Westerberg
Cc: andreas.noever, michael.jamet, westeri, YehezkelShB, linux-usb
On Tue, Apr 22, 2025 at 08:05:01AM +0300, Mika Westerberg wrote:
> You can remedy this by not daisy chaining if you have multiple ports:
>
> TGL <-> M
> ^
> |
> v
> M
>
> Let me know if you need more information.
Ah, thanks. I tried googling things but stuff like this just wasn't easy
to find.
Yes, this seems to work. I can even drive both panels at 120Hz this way.
Now I've got to go order a second long TB cable :-)
Thanks!
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-04-22 9:12 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-21 16:35 Thunderbolt display chaining Peter Zijlstra
2025-04-22 5:05 ` Mika Westerberg
2025-04-22 9:12 ` Peter Zijlstra
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox