Hello everyone,
I was inspired to write this post because I see a lot of confusion about USB-C and Thunderbolt in general, in particular about limitations, such as “Why can I get 4K @ 60 Hz out of a USB-C to HDMI/DP adapter but not out of a USB-C dock that has those same outputs?”, so I figured I’d explain how USB-C and Thunderbolt work in the hopes that it would help make sense of it all.
The USB-C connector is a very interesting and capable design. The focus for our purposes here is that it has 4 pairs of pins that can be used for various types of traffic in various combinations. I’m going to call each of these 4 pairs a “lane” from here on. And since one of the possible uses for these lanes is DisplayPort traffic, another key bit of information to clarify upfront is that DisplayPort is also divided into lanes; it has been from the beginning. A full-bandwidth DisplayPort connection has always been defined as 4 lanes (all carried on a single cable), so when people refer to DisplayPort 1.2 being capable of 4K @ 60 Hz, for example, what they technically mean is 4 lanes of DP 1.2 being capable of that type of output.
So, each of these multi-purpose “lanes” in a USB-C connector is capable of carrying any of these types of traffic:
- USB 3.1 Gen 2 transmit (abbreviated Tx from here on)
- USB 3.1 Gen 2 receive (abbreviated Rx from here on)
- DisplayPort 1.2 lane (if wired to the GPU – and again, each lane is 25% of a full-bandwidth output)
- Thunderbolt 3 (if equipped)
Different lanes can be dynamically assigned to different traffic, but those assignments are fixed for the duration of a given device’s connection. Note that USB 2.0 traffic flows over a completely separate set of pins dedicated solely to that purpose, never over these flexible lanes. Where all of this comes together is in understanding the possible combinations of these lane assignments, their respective use cases, and in some cases their tradeoffs, all described below:
#1: 1 lane of USB 3.1 Tx, 1 lane of USB 3.1 Rx, other 2 lanes unused (until USB 3.2….)
This is what would be used if you connected a garden variety USB device to your USB-C port, possibly using a USB-A to USB-C adapter dongle. Since only 2 of these lanes are required to achieve USB 3.1 Gen 2’s 10 Gbps full-duplex throughput, the other pins remain unused in this scenario. However, if you’ve read about the upcoming USB 3.2, which will increase while using the same USB-C connector and existing cables, that will be achieved by allowing 2 lanes each for Transmit and Receive. It’s not yet determined whether that will result in doubling the total bandwidth since factors such as interference may make that impractical, but that’s how it will be achieved. However, don’t expect to see that on USB-C docking stations anytime soon, for reasons that will become clear shortly.
#2: All 4 lanes each carrying a DisplayPort 1.2 lane
This is what USB-C to HDMI or USB-C to DisplayPort dongles/cables would use. Since USB-C has 4 multi-purpose lanes, and a full-bandwidth DisplayPort output is also 4 lanes, this gets you a full DisplayPort 1.2 output, with the necessary bandwidth to drive a 4K @ 60 Hz display. And if you’re using USB-C to DisplayPort (as opposed to HDMI), you can of course take advantage of DisplayPort MST to split that bandwidth across multiple displays, e.g. 2x 2560x1600 displays, 4x 1080p @ 60 Hz displays, etc.
#3: 1 lane of USB 3.1 Tx, 1 lane of USB 3.1 Rx, 2 lanes for DisplayPort 1.2
This is the configuration almost all USB-C docking stations with video outputs use, because they want to support both USB 3.1 and video output simultaneously. They can do this without any penalty to USB (since remember back in #1, that only uses 2 lanes to begin with), but carrying USB 3.1 cuts the available DisplayPort bandwidth in half. This is why USB-C docks can only do 4K @ 30 Hz, or 2x 1080p @ 60 Hz. Note that a small number of USB-C docking stations allow flashing alternate firmware onto them. By default, they operate in the manner I’ve just described, but the alternate firmware causes them to use all 4 available lanes for DisplayPort, thereby gaining support for the display configurations listed in #2 -- with the tradeoff that any USB 3.1 ports on the docking station now only run at USB 2.0 speeds. Remember, USB 2.0 always flows over a separate, dedicated set of pins. Finally, note that this is why you should NOT expect to see USB 3.2 supported on USB-C docking stations that include video output, at least until the standard evolves, since USB 3.2 will require all 4 lanes to be used for USB traffic – unless of course the docking station offers firmware to disable video output in favor of maximizing USB bandwidth. You may however eventually see higher-bandwidth display configurations supported if systems capable of carrying the faster DisplayPort 1.3 standard over USB-C are introduced, since that allows more display bandwidth to be carried over the same number of USB-C lanes.
#4: All 4 lanes carrying Thunderbolt 3 (if equipped)
Thunderbolt can carry USB 3.1 Gen 2, up to 8 lanes of DisplayPort 1.2 lanes (i.e. two full-bandwidth outputs), and up to 4 PCIe Gen 3 lanes. Note that the capabilities of a given system’s Thunderbolt 3 interface will depend on how many GPU outputs and how many PCIe lanes are wired to its Thunderbolt 3 controller, although every system should have at least 1 full DisplayPort 1.2 output (4 lanes) and 2 PCIe Gen 3 lanes. The way all of those can be carried simultaneously over just 4 USB-C lanes is that the Thunderbolt controller multiplexes all of those signal types into just a “Thunderbolt signal” before sending it out of the USB-C connector, then the device on the other end de-multiplexes it as needed. Those of you doing some quick math here may have realized that Thunderbolt 3’s maximum 40 Gbps rate is not high enough to handle all of the aforementioned traffic types running their respective max bandwidth simultaneously. Dual 4K @ 60 Hz displays would consume ~32 Gbps all on its own, for example, before adding any USB 3.1 Gen 2 traffic (up to 10 Gbps) or PCIe Gen 3 x4 traffic (32 Gbps). Note however that Thunderbolt can carry 40 Gbps in each direction simultaneously– so for example you could theoretically use dual 4K displays (consuming 32 Gbps of only transmit bandwidth) while also receiving data from a PCIe-based capture device at its full 32 Gbps. When there simply isn’t enough bandwidth to meet demand, Thunderbolt 3 gives priority to display traffic, then PCIe, then USB.
Phew! Well for those of you who read this far, I hope you found this illuminating or at least interesting. If you have any questions, please don’t hesitate to ask and I will do my best to answer. Enjoy!