USB-C/Thunderbolt Dock Megathread

I don’t have an Apple Silicon macbook, so I don’t know about the M series, but my intel macbook pro works fine with MST when running Linux, where on macos it will show only duplicate screens.

As displayport is packet based idk how much hardware there is to leave out but it is very possible. Then again the asahi crew will probably make it work anyway if they fell like it XD.

USB4 allows pretty much anything while also allowing leaving out pretty much anything.

Turns out mst really was out before tb, then it makes even less sense they didn’t just put that into tb.

We did? I though it was only reporting a second one but not actually working.

I got a 7840U and a windows 11 2 go install so if you can test that without a device that actually uses 2 dp streams let me know.

Yeah the adaptive sync blocking is kind of an implementation issue which does suck. I do hope the changes to mst with DP2+ will fix that (and the bandwidth thing) long term.

1 Like

I initially though, due my own short tests with Rembrandt that it would not have a 2nd DP Tunnel at all. But there are some users here that reported 2 displays with for example a CalDigit TS4 on an AMD FW13. Sadly, I have never gotten any of them to give me a Windows diagnostics dump that would allow me to double and triple check if there is no miscommunication and those people use weird hardware with DisplayLink or are hiding facts from me. A few Redditors also reported it just working as expected with docks that have no MST.

The full USB4 panel should do. To exclude most weird stuff in 3 situations:

Here my ADL-P TB4 as example. The DP In Adapters shows 2 for this controller (which for Intel has 2 ports. Both on the same side with FW). “Tunneled DP IN Adapters” counts exactly what it says, active DP connections through USB4/TB3. And “Unavailable DP IN Adapters” counts if they are made unavailable by for example native output which does bypass the USB4 router, and still makes it unavailable for the 2nd tunnel / port. This should indicate if some outputs are shared somehow. And multiple ports in the same controller should always share their DP In adapters.

And if you really want to go hard, you can enable the the “Device Portal” in Windows Developer Settings. (Should require installation and a reboot to actually start the webserver whenever the system booted with the option disabled). That shows the full graphic that would also be perfect to 100% confirm the use of the 2nd tunnel if a device is connected that does. Here is an example of that (with a topology of 3 TB3/USB4 devices connected: Caldigit Element Hub - Goshen Ridge, Dell WD19TB -Titan Ridge, Anker 556 - Via VL830)

It shows nicely how the tunnels are routed and which In/Out adapters are used and which are still free. Native output will bypass the USB4 router, so will never be visible in this graphic. And it will not use a “USB4 DP In Adapter” either, even though with Intel, the incoming DP connection will be unavailable if its used that way.

As much as I dislike windows 11, the usb4 settings page and that device portal thing is really nice.

It definitely looks like it reports two, if they work I can’t test as I don’t have the devices for it.

Nothing connected

Usb-c display connected directly (as far as I can tell that makes no difference)

Lenovo tb3 gen2 dock (40AN) connected (to the dasychain port, the host port falls back to usb-c mode for some reason)

I did not connect any displays to it because I did not feel like messing with the wiring on my desk but I had 3 displays working on it before.

Hope this helps.

It mostly helped me confirm the usb-c fallback thing on the host port isn’t a linux issue.

Only thing missing is the bandwidth distribution in a readable way. For when the 2nd DP connection will be throttled etc. Or how much PCIe bandwidth can be used at max. given USB3 and DP connections etc. Because the Windows USB4 connection manager is calculating and deciding all of that.

Also found somebody on reddit using a new Qualcomm XPS 13. Those also have the same layout with 2 USB4 routers, each with 2 DPs. And they even confirmed both working with a dock. So looks like those 2 DP connections are pretty much standard in practice. And AMD and Qualcomm do not even have ways in which the board designer can deprive them of the ports (with Intel, if they were to replace one USB4 out with a native DP/HDMI port, it would permanently consume the 2nd DP away from the other USB4 out).

Huh. I thought this was only a feature on old Alpine Ridge controllers and that Titan Ridge removed that. Apparently not (my Titan Ridge in my Dell WD19TB does not allow that).

Does not have what?

That both TB ports can be used arbitrarily as upstream or downstream ports. I thought only Alpine Ridge did this, because the initial controllers where shared between Host and Device. While Titan Ridge started to split the device controllers from the host controllers. Because only the device controller (Titan Ridge DD, what is in your dock) had the USB-C backwards compatibility with USB3 passthrough. I thought, starting with Titan Ridge the upstream and downstream ports were fixed and your dock would remain dark if you plugged the host into the TB-out port, just like mine (also with Titan Ridge DD).

It also works on my TH3P4G3 which is apparently titan ridge too.

I am pretty sure a ton of that is a matter of configuration and firmware.

Good morning,

I’ve been testing the ONEXGPU against my 7840U Framework 13 and I’ve been having a lot of success with it.

It has a 7600M XT GPU and works well with the Steam games that I’ve tested. I confirmed this through dGPU-detect.AppImage and by using DRI_PRIME=1 per the instructions provided by Framework.

The only issue I’ve had with it so far is on bootup as it appears to not load Ubuntu 24.04 LTS very well, though I am not very good at Linux troubleshooting at this time.

I can provide benchmark information if needed.

[EDIT] Oh, I almost forgot to fill this out…

  • Wattage: At least 60W is needed to charge the laptop. If the dock provides greater than or equal to 60W, then it passes this criteria.
    Supports up to 100W of power delivery
  • Port Compatibility: Please test all ports on your dock to ensure they work as expected. If a port does not work, please make note of this in the notes section. This note may be removed by future reviewers if it is found the issue has been rectified by the manufacturer.
    All ports appear to work, but boot up issues occur with the M.2 (PCIE 3.0 SSD) regardless if populated or not.
  • OS Compatibility: Most will list Windows and MacOS out of the box, but please make a note if you find that a particular OS is not compatible.
    Works on Windows 11 after some tweaks, mainly the order in which the drivers are installed.
    Works well in Ubuntu 24.04 LTS
  • Driver Requirements: Some docks require proprietary drivers. If this is the case, please make note of this and provide a link to download the driver.
    GPU drivers are necessary for good performance in Windows.

I was at one point looking at hosting this information on an external website, but I had some trouble with figuring out exactly how to present this. There are a few factors I was considering:

  1. Legibility. Currently, this thread is constrained to an honestly very narrow column, courtesy of the forum software. I’ve never been much of a fan of Discourse due to how resistant their developers are to change.
  2. Awareness. Currently, these forums are highly accessible, but whatever site we need would need a lot of awareness surrounding it.
  3. Accessibility. Whatever information system is chosen needs to be easy to read, easy to edit, and hard to vandalize. I doubt vandalism will be a huge concern to start with, but if this grows bigger (especially with the growth of Framework), this may start to be more relevant.

So in my mind, we have a few options:

  1. Flat website hosted on GitHub. This would require that the change process be very well documented in a contribution guide so it’s easy to understand for new users. Optionally, we can allow changes to be made via another system, such as through a threaded channel in Discord. Responses to this thread could work, but they run the risk of being lost in discussion. Comes with free security against vandalism by requiring changes be approved.
  2. Some sort of content management system. This comes with a price tag, but working with a system like MediaWiki (the software behind Wikipedia) or some sort of dedicated CMS like WordPress/Woltlab/Invision/Xenforo could improve accessibility by allowing more familiar editing tools (i.e. a WYSIWYG editor). One potential downside is this now it places the burden on community moderators to manage a community, and a lot of these products also include a forum suite. I am personally not interested in running a forum that competes with this one, and I believe that to be outside of the scope of what we’re looking for.
  3. We look at some sort of bespoke development, something that allows for a “best of both worlds” approach. This is the most expensive option of the three and potentially requires a more expensive hosting option, such as a VPS.

For the immediate, if we can split the post, I think that would be a good solution. For the long term, I’m thinking of moving the first post to its own wiki or website of some sort. I can self-host a lot of the options for the community (especially if it ends up as a flat site on github), but if anyone at Framework has any thoughts as to what they would like to do here I’m open to suggestions.

It’s your post and your decision, please DM me if you need any help for splitting and what kind of changes you need and I’m ready to help :wink:

I wonder if the Framewiki would be a good spot?