USB-C/Thunderbolt Dock Megathread

@Daniel_Power I ended up realising I didn’t have the bolt package installed, which provides Thunderbolt support. Since I installed that, the dock has been working flawlessly with Arch Linux on my 13" AMD.

Has anyone tested the Tuxedo Triple Dock with a Linux system (ideally on a Framework 16)? Since it is especially made for Linux systems, i was hoping that this would work better than my Dell WD19TB, which is very inconsistent on my FW16 running Fedora 40 with KDE Plasma 6.1.

From the kernel logs posted in the Gitlab issue, it actually looks like it is doing DP BW Allocation with USB4. That would be fascinating. Has anybody looked deeply enough to confirm this?
Or can anybody check if AMD supports this under Windows as well?

The USB-USB4DeviceRouter-EventLogs DP Tunnel creation events in Windows EventLog show in their details
fid_DPBwAllocationModeSupported/Enabled.
For Intel iGPU drivers this is still false. Even though I have started seeing a registry key with a matching name being installed by some recent version of the Intel driver (although it does not actually do anything still).

Fyi, this would be down to the GPU & GPU driver. The Windows USB4 driver should support this perfectly, just as the Linux USB4 driver should. It is just a question of the GPU participating and asking for / communicating via DP with the USB4 parts.

Edit: I rechecked with my Intel FW under linux. I also see the DPRX reads as well. Either that is not even the BW mode registers or the GPU driver never responds to it setting BW allocation mode to enabled or setting actually allocated bandwidth. And it looks the same for the dumps from AMD systems. So probably what we see is only the USB4 driver being ready for BW alloc. mode.

ugh hopefully i won’t have lot of problems with my TS4+external monitor with the amd fw13. That would be a pretty much deal killer.

Given that (at least from my testing) it seems to be monitor dependent. There’s no way for you to know other than to test it.

If docking compatibility is a priority for you, I’d recommend going Intel at this point. It’s sad that you have to choose between performance+battery life (AMD), and functionality/compatibility (Intel) if you’re a Linux user.

I’m not sure if this has been lost in the megathread, but my Plugable dock works perfectly when plugged into a USB3.2 port instead of a USB4 port. Granted, I’m not pushing it to its limits that would require more bandwidth, but you don’t have to give up the AMD flavor of your favorite laptop just to use a dock… you just have to understand what sort of limits will exist until this USB4 issue has been solved.

Using the USB3.2 port limits you to a single monitor at 1080p. Which is not sufficient for my needs.

It does not for me, I’m typing this while looking at a 4K monitor connected via the Plugable dock and USB3.2 right now.

It does not for me. When connecting via my Caldigit TS4 dock, or a direct USB-C to Displayport cable to the USB 3.2 port, my 2560x1440 monitor has a max output of 1920x1080.

I need to output to two external monitors, both of which are 2560x1440.

My point about Intel vs AMD on Linux is that Intel just works.

If you get the AMD laptop like I did, you suddenly have inconsistent monitor support. Some will work, some won’t. You need to be aware of which ports you can and cannot use. And there is no indication of when if ever the 7 month old bug report will be resolved. You can’t tell if a monitor will work until you try it, so suddenly you have to worried about rolling the dice on every hardware purchase.

On Intel, these things just work. I had never had a dock or external monitor issue in the years I had an 11th gen Intel Framework. But as soon as I upgraded to the 7000 series AMD, my dock worflow fell apart.

Edit: @Kevin_Fleming I do appreciate your suggestion about the USB 3.2 ports. In my case it doesn’t seem to work out. I struggle with tone over text at times, so I just want to clarify that I’m not trying to be argumentative with you. I’m simply giving my current experience and opinion as someone who upgraded from 11th gen Intel to AMD 7000.

1 Like

Your solutions are lacking a DSC-capable MST hub, so you are limited to the features and speeds you monitor supports natively. So that you can only get 1080p via USB-C with USB3, is a limitation of your monitor, not even of the TS4.

If you can use HBR3 DP speeds and DSC, you can get 4K120 out of 2xHBR3 (+ USB3 via one cable, without USB4). A dock like the TS4 is only designed for TB4 levels of support and basically will not do much without it. The more mainstream and less Appley docks work differently.

Sadly I need to disappoint you there. With Linux that is not always the case. My Dell WD19TB works perfectly with my Intel FW under Windows. With DSC and all. But under Linux there is no DSC (seems to apply to a lot of Synaptics MST hubs) and the systems gets very erratic (some screens remain black even though enabled). I think it is rather a Linux problem + complex docking station setups. And AMD is better at the GPU part, but Intel is better at the USB4/TB4 part under Linux.

1 Like

Your solutions are lacking a DSC-capable MST hub, so you are limited to the features and speeds you monitor supports natively.

My monitor is natively 2560x1440@60Hz. If I connect it to the Framework’s USB 3.2 port via a Displayport to USB-C cable, it’s limited to 1920x1080@60Hz. If I connect it with the same cable to a Macbook or Windows system it uses the full 2560x1440@60Hz. I don’t understand how this is a monitor limitation?

A dock like the TS4 is only designed for TB4 levels of support and basically will not do much without it. The more mainstream and less Appley docks work differently.

I have two TB4/USB4 docks. A Caldigit TS4, and a Pluggable TBT4-UDZ. Both work perfectly with my 11th Gen Intel Framework on Linux. The reason I bought the Caldigit in the first place is because the Pluggable didn’t work with the AMD Framework. I have a separate bug report open for that, because the Pluggable Dock can’t produce a display out at all on an AMD Linux system. Whereas the Caldigit TS4 just fails to read EDID data on some monitors.

Both docks advertise themselves as supporting USB4. And both docks work perfectly except on Linux with AMD. So I don’t think this is an issue with the docks only supporting Thunderbolt 4.

I’m nearly $1000 invested into docks at this point just trying to handle two displays on the AMD Framework.

Bug report for Pluggable TBT4-UDZ not producing display out on AMD 7000 series: Radeon 780M Failure to output displayport through Pluggable TBT4-UDZ (#3161) · Issues · drm / amd · GitLab

Ok, there might also be some other issue involved, independent from the EDID issues with the docks.
If your monitor is only WQHD@60, for normal DP inputs it only needs to support HBR1 speeds to reach that. And if you reduce the DP bandwidth, by for example putting the TS4 in between, you will not get a full DP connection (4 lanes) but a half (2 lanes) one and USB3. So the bandwidth to the monitor gets halved, which is no longer enough. And a MST hub in between could convert. It could for example hold a much faster HBR3 connection to the host and convert 2xHBR3 to 4xHBR1 like the monitor wants.

But you are right, a simple USB-C DP cable without any USB functionality should not limit the DP lanes and just give you a full connection. But it is also weird why that behavior should change with other hosts. Are they just silently enabling chroma subsampling to save bandwidth to still reach WQHD? And your Linux desktop env. just does not expose that option for you and the drivers do not make this choice automatically?

The only other reason I could come up with, is the GPU driver failing to negotiate the correct DP connection, which would be an entirely different bug with the driver.

Yes. From the logs it does not establish a successful USB4 connection at all, which sure is a USB4 issue with Linux if it works under Windows. It would have MST Hubs to compensate a little for limited bandwidth when using it on a non-USB4/TB host. But due to its unconventional design (using 2 separate DP tunnels like the TS4, plus maybe throttled MST hubs behind each of them) it just gives you much less ports than other USB4+MST docks do.

1 Like

I just re-tested and realized I was misremembering about the Displayport to USB-C cable.

When connecting the monitor directly to the USB 3.2 port using a Displayport to USB-C cable, I do get the full 2560x1440. It’s the Caldigit TS4’s Displayport which is limited to 1920x1080 when using USB 3.2. This seems to match up with what you said about the dock splitting the bandwidth.

I really appreciate your input on this, it sounds like you have a pretty good understanding of the Thunderbolt/USB4 display stack. My understanding of it is pretty limited, which makes troubleshooting and differentiating the issues difficult.

Do you have any theories about the monitor dependent issue with some USB4 docks on AMD? Namely that some monitors work fine, but some monitors’ EDID cannot be read if connected through a USB4 dock. Specifically I have a 3440x1440@165 Alienmonitor that works fine, and a 2560x1440@60 BenQ monitor that has an unreadable EDID only when used with the Caldigit dock.

My best theory is that it might be some edge case in the EDID of some monitors that AMD’s driver is failing to parse or handle. And if so, determining which field is problematic could lead to a solution. I don’t have a deep enough understanding of the display stack to know how realistic that theory is, but it’s the best one I’ve got for now. The problem is, I only have one known good EDID. Presumably because people with working monitors aren’t searching for the issue and submitting logs :sweat_smile:

Sadly no. I only found the gitlab issue with logs from your post here. And then worked out how to enable TB debugging on my device so I could look at the logs (because you are right, I tried to really understand how TB/USB4 works and am interested in those things).
I had not compared the EDID data you guys dumped. I think a kernel developer should be able to find sth. 100x quicker than I could. Especially when remote-debugging. And I am no Kernel Dev. and on this only have abstract guesses.

But since as far as I understand, the EDID issue only occurs with USB4 docks and mostly with 2 DP tunnels, I would have guessed that the USB4 tunnels are not setup right or the miscommunication happens between the GPU and the USB4 parts, not purely in the GPU driver. And since you are not getting any EDID info I would guess that the problem is not found in the EDID info itself. I’d imagine if it was receiving all the EDID data but discarding it due to inconsistencies, that would be quickly found by the kernel devs.

The EDID data is transmitted through DPCD, a protocol of DP. And USB4 is peripherally involved in that. So I would want to compare what is going through DPCD when it works and when it does not. I have tried to log DPCD accesses before semisuccessfully. There are options to enable that dynamically.

And if the difference between the monitors is rooted in there, you will not be able to see that from the EDID data, which is just a small part of the DPCD data (like negotiating connection speed, DSC support, error rates etc). And the negotiation to establish the DP connections could also be complicated (GPU → USB4 input → virtual DP tunnel → USB4 output → display) and also mixes the GPU driver and the USB4 stuff again, especially with USB4 vs. TB3.

1 Like

yeah seems its more dependent on the monitor than the dock. Atleast it looks that the dock should work fine (lot of reports that “everything works”).

And there is of course always possibility to plug it to 3.2 port but then I lose the ethernet port.

I had two docks plugged into my fw16 and a monitor on the rear port of the 7700 just for good measure. I had to scrounge up a bunch of 4:3 screens, but it worked fine under linux.

Monitor 2 is hooked to a KVM, so I have an edid generator on it.

1 Like

Hi @Foxite , thanks for your initial feedback and updates. Any further update after the firmware upgrade to the G4 dock?

Hi @Chuck_McAndrew, thanks for your feedback. Which FW laptop did you try these on? Does the Lenovo TB4 Dock give you 2.5Gbps ethernet bandwidth?

Hi @Edman545, fantastic work and testing out so many different configuraitons, thanks.

I’m interested in the Lenovo TB4 Dock due to its 2.5Gbps ethernet interface. Which FW laptop did you try this dock with? Were you able to get 2.5Gbps?