The beautiful Silent ThunderBolt-3 PC
fabiensanglard.net
fabiensanglard.net
There is something really screwy with the USB controller in that device, the ETH is on the USB hub and corrupts Ethernet frames, under Linux you can force disable hardware offloaded CRC checksumming as a workaround, but still the USB devices that are directly connected can just stop functioning.
It also has the annoying quirk that it enumerates the display ports differently each time, which means your operating system has almost no chance of redrawing your desktop when you plug it back in.
Looks good on the spec sheet though, and will probably be flooding the used market as companies try to offload them. I tried 5 different ones from different batches, they all had the same characteristics.
Didn’t try the WD19 yet, but I hope that’s better.
Despite (in happier times) having to leave my desk frequently for meetings, with my laptop, I'd rather faff about with plugging and unplugging multiple cables than have to deal with the frustration of peripherals randomly losing connection while you're in the middle of working.
Most consumer products just use generic components that some factory negotiators were willing to offload for cheap. The high end products with megabucks contracts are the ones capable of hitting guaranteed reliability targets.
Apple, like for most other components, is the only big consumer brand that consistently uses something better than whatever was cheapest in Shenzhen. Even business oriented brands, like Western Digital, Brother, etc., have been cutting costs in these areas recently for their cheapest lines. Boutique smaller brands like CalDigit, Lacie, etc., who justify their premium pricing with quality, also usually puts effort into doing it correctly.
I have a USB-C Novoo thingy (PD passthrough, HDMI, 3x USB-A, Ethernet) that might do something like that. If I plug Ethernet into my home router it ends up killing all other ethernet links on this router in about two minutes. I unplug it and things come back to life in under a second.
The thing also has a habit to produce EM interference that makes WiFi useless. Would you believe, running a ping and wrapping the device's cord in tin foil back and forth and you can see the packet stop dropping and start again.
Crazy.
had the same EM interference with a MacBookPro, ended up wrapping the cable in an antistatic bag fragment, and good to go..
On 2 identical laptops (fresh builds), 1 of them BSODs, the other works sometimes, but BSODs at random when resuming from sleep or plugging in devices.
They've releases various versions of the firmware, along with various versions of various drivers that need to be installed on the laptop. Only some random variations of these work, and only on some devices, and only some of the time. Total garbage.
So I guess calling that thing a “dock” is generous
Still better than Lenovo telling it's a feature to not setup proprietairy Linux drivers on devices who need them.
What’s “backlight oder hw acceleration” are you referring to refresh rate or something like PSR? I want to know if it’s something I need to check on my 9310...
I own a more recent Dell XPS 13, and the keyboard backlight support is indeed buggy - it needs a configuration patch to prevent it from turning on on logon.
Not sure what's exactly the hw acceleration. If they refer to the Intel integrated GPUs, the configuration is pretty much standard; up to 18.04 the only thing I needed to configure was the VSync (this was the same also for other laptops), but with 20.04, I didn't need anymore.
The TB16 works alright after updating it to the newest firmware, but still has it's quirks. For example, my mouse lags / cuts out briefly, now and then (I plug it in direct).
The TB19 I use when working from home appears to have little to no issues (none that I can think of right now).
My feedback is, almost all of these docks really suck. Spend the money and get a CalDigit. You won't regret it. It's the only one I've found that reliably performs the way a dock should.
my optimal dock would have/support:
3 video out (dp, hdmi, etc)
5+ usb-a (2.0 is fine)
2+ usb-c (3.2 preferred)
gigEth
If you are lucky enough to own a Thunderbolt (note: not displayport) monitor, that can chain to a displayport monitor. But thunderbolt monitors are rare as all get out these days.
I have a CalDigit and a KVM switch to support a desktop and laptop. The setup works just fine with one DP out from the CalDigit, one DP out from the KVM, and an MST hub driving two 1440p monitors. Cabling looks like below. I'm ignoring power and several peripherals.
The only cable I deal with on a regular basis is the thunderbolt from the CalDigit dock to the laptop. When coming or going, that's the only cable I need to care about. I can switch all input and output at the press of a button on the KVM.
Laptop -thunderbolt- CalDigit
CalDigit -DP- KVM
CalDigit -USB- KVM
CalDigit -3.5mm- KVM
Desktop -DP- KVM
Desktop -USB- KVM
Desktop -3.5mm- KVM
KVM -DP- MST Hub
KVM -USB- Mouse
KVM -USB- Keyboard
KVM -3.5mm- Amp
MST Hub -DP- Monitor1
MST Hub -DP- Monitor2
Amp -1/4"- HeadphonesI personally just refuse (out of principle) to plug a hub into a hub, why am I buying two devices when they could and should be one?
The desktop only goes through the KVM and the MST hub. The laptop additionally goes through a dock. I don't consider the devices to have the same purpose at all.
The dock serves several purposes for me:
1. Single cable to manage when taking or bringing the laptop (just one Thunderbolt carries all signals and power).
2. USB hub, as my laptop only has two USB ports.
3. Wired ethernet for the laptop.
4. Cable management - everything else plugging into the dock (audio, DP, ethernet, several other peripherals I use for day job).
The KVM is a switch and serves a different, specific purpose:
5. As it says in the name, switch inputs and outputs across multiple machines.
And the MST hub serves yet another purpose.
6. Allow one DP out to carry signal for multiple monitors.
There are KVMs that can act as an MST hub, but I wouldn't expect any latency difference there. It's still performing the action of presenting two displays to a single DP output. There are also monitors that support MST. Those monitors were much more expensive than mine when I was purchasing. The MST hub was a cheaper option for me than either getting a new monitor or getting a KVM that included such functionality.
Whether MST goes through an embedded hub in a KVM, or through an external hub, or through an embedded hub in a monitor, I'm not sure I see where any configuration would win on latency. They all need to do the same thing.
The thunderbolt dock also serves a different purpose than the KVM.
My laptop has decent connectivity - onboard ethernet, 2xUSB-A, 1xUSB-C/Thunderbolt, power. I would need a USB hub. So I could definitely plug in all of the cables every time I bring my laptop to my desk. I prefer not to. The Thunderbolt dock allows me to tuck away all of those extra cables and just run one to my laptop. Additionally it lets me keep the charging brick packed in my laptop bag. If I didn't have a dock, I'd have bought another charging brick.
My desktop has more connectivity than I can use, but it doesn't have Thunderbolt. It doesn't need thunderbolt. And I don't want to spend money or space for a PCIe Thunderbolt card that I do not need. And I didn't have any need for Thunderbolt or a KVM when I built my desktop.
There may be a thunderbolt KVM, but I didn't come across them. But I'd need to buy other hardware for my desktop. Or I'd have to find a KVM that can switch between a thunderbolt input and a DisplayPort/USB/Audio input. Such a device, if it exists would likely be quite expensive.
I don't know of any KVMs that also provide ethernet, nor do I want to switch ethernet among my computers in the manner that a KVM switches. So I'd still need to run multiple cables to my laptop whenever it comes to the desk.
So, our setups may be different, but I need all of the functionality I described above. I haven't found any single box that will do it all. I am perfectly happy to build a solution as I've described out of multiple components. And I will continue to get value out of each component, even as my setup changes.
The MST hub is great, because I can run one cable to the back of my monitor from any DP device and have a two-monitor setup. This is sticking around regardless of the rest.
The KVM will have use as long as I have multiple computers.
The dock will be valuable as long as I have a laptop with a thunderbolt port.
A hypothetical dual thunderbolt KVM with MST is more limited than the current setup. Its only potential benefit is some desk space, but even this can be managed just fine. The dock is on its way to mounting behind the desk.
As for system latency, my understanding is that the only additional latency from the KVM should be in USB peripherals, as it does serve as a USB hub. The audio and video signals are passed straight through so far as I know.
The CalDigit also has a crapload of USB-A and USB-C ports. Try it out. You'll like it.
They were very aware of the issues, very apologetic and suggested we try some sorta displaylink garbage in the meantime. We did, and then as soon as the WD19 came out we tested that, and it's been night and day.
They still require custom drivers but 99% of issues disappeared. I had one issue with a laptop that likely had a faulty tb module and was failing back to usb 3.1 but no other complaints from anyone.
Well aside from the lack of usb ports on the thing... the Eport had like 8 usbs, the wd16 had 5 and now we're down to 3 on the wd19, that'd be fine if the laptops didn't keep dropping usb-a's also, most of the 7000 line only has 2 now. I refuse to get a usb dock to plug into the wd19 just for usb, that's insane and I'm not a crazy person.
It Just Works with a dock, period. They made an USB-C adapter if you want to try out the buggy Thunderbolt/USB-C ecosystem.
It's workable on PC and Mac, but I don't love it.
The connector is a two inch lever just waiting for something to break it off.
- Vsoc draws very little power, especially with no iGPU.
- The VRM is designed to survive providing 200A to a 16 core 3950X, 50A to a 2600 is very easy by comparison. Maybe 6W of heat split among the 8 phases so <2W of heat on these 2 phases.
- The MOSFETs will happily run all day at up to 125C.
- The MOSFETs are smart power stages which communicate their temperature to the controller, and have many built-in protections, so there's extremely little risk of damage. The controller probably shares load amongst the phases based on temperature but I can't find a datasheet to confirm.
In general cooler is better. At high temps you'll see temperature related aging accelerate (e.g. solder, PCB substrate, electromigration in the parts), but you'd probably be okay. The PC would become obsolete way before the VRM fails. The worst case I can imagine is the MOSFETs and inductors heat up, bringing the local temperature up to a point where the controller IC enters over-temperature shutdown, but it's unlikely.
Personally, if the current heatsink is too big I would just find smaller ones and attach them. I don't really have a good reason, I just like parts running cool :)
I wish I had a book to recommend about motherboards specifically, I would like to read it!
BTW if your using TB3 as your main connection to your laptop I highly recommend a magnetic TB3 adapter. This has been working great in my setup for over a year and makes docking/undocking a snap.
https://www.amazon.com/Magnetic-Thunderbolt3-Connector-Trans...
For what it's worth, I didn't find this to be, well, worth it. I got a razer egpu enclosure and while it was certainly very well engineered, it was comically over-engineered. Weighed something crazy even without my gpu in it, I wanna say 10lbs, maybe even 15. Plus, it was huge, as big as an itx case. Then I had to drop 60$ on a long enough thunderbolt Cable to let me have the case under my desk.
Then there was all the issues with plugging in a laptop. Windows on a lenovo x1 carbon worked fine, with plug in/out capabilities. Ubuntu 18.04 on same machine wasn't plug and play, but I got it working after about an hour of fiddling. Never got plug in/out working. Plug in worked, but unplug without shutting down lead to a crash.
All this and the enclosure was like 300$, and I was bottlenecked by my laptop processor anyway. In the end I think it's just simpler to buy that expensive graphics card you're looking at, then build a simple pc around it, and then make use of some kind of network based workflow for data sharing (git server for your code, networked hard drives for video, photo, music editing etc. Much easier, much more flexible, and imo in the end cheaper.
This is why mostly you get a box to house all that.
With TB — can you literally just unplug from one Laptop/PC and connect to another and everything is back up and running on the 2nd computer?
I kind of wish there were manual/dumb TB3 switches for this sort of thing but I have not seen any.
I have a TB2 dock which I connect to using Apple's TB3 to TB2 adapter. I keep my Time Machine backup drive connected to the dock (along with 4K monitor, keyboard, mouse, and speakers). If I don't eject the drive before disconnecting from the dock, macOS complains about disconnecting the drive without ejecting it first.
It’s still early days so compatibility isn’t super yet, as this discussion shows. Also, being USB, there are many possible subsets and no such thing as a “universal cable”. The silicon is still immature and the analog issues are fiendishly complex.
The cheapo vendors will implement the minimal standard (or less). The higher end devices will be more compliant, but bugs remain (as I said, still early days).
But last year I switched to buying type C devices whenever I had the choice (even electric toothbrush) and so far it’s been fine.
I do something similar to the post's two-cable configuration:
- Mac to Caldigit TB dock to two displays. - PC to one of the displays - Keyboard and mouse to a USB switch, which connects to the PC and the TB dock
It's kind of a pain to manually flip both the USB switch and the monitor's input.
This app can theoretically help by programmatically toggling the display's input when particular USB devices are dis/connected:
https://github.com/haimgel/display-switch
.. but compatibility is spotty, relying on a rarely-used hardware feature in the display that seems to not be reliably implemented ("DDC/CI").
I expect a lot more AMD mobos to support thunderbolt in the next year. Music producers especially really like the interface for it's low latency and bandwidth, and Ryzen would be an awesome pairing for the resource hungry applications they tend to gravitate towards.
Anandtech article announcing Intel's Maple Ridge - a chipset to enable Thunderbolt 4 on future motherboards regardless of the CPU (i.e. Tiger Lake not required.)
https://www.theverge.com/2020/7/27/21339861/apple-thunderbol...
Is it that the Ethernet people have moved the costs into the port and their ports cost more, while the thunderbolt ports cost less and the cables cost more?
One criticism of Thunderbolt is that it already requires a fairly expensive separate controller on the motherboard except for a few Intel chips with built-in TB controllers.
Sending that much data that fast is going to cost more somehow or another.
https://fabiensanglard.net/the_beautiful_machine/index.html
Here's the motherboard mentioned in the current article:
https://www.asrock.com/mb/AMD/X570%20Phantom%20Gaming-ITXTB3...
> 1 Thunderbolt™ 3 Type-C
This sounds like a job for Autohotkey or a similar automation tool. It's worth learning something like this on your platform.
Incidentally, I was asked to uninstall autohotkey from my work PC because some corporate spyware detected it as a threat.
1. a dock that puts the tb3 input on the front would work for me
2. a mechanical female plug / extension cord would work for me (but likely not possible due to noise?)
If he's taking the laptop with him then that's not really an issue and if he wants to use it docked he'd just plug it back into the dock, though.
The case itself is a Quiet PC case. Rock solid cases if you want one case to last you forever, even if you don't want the quietness they are just very stout.
I usually overclock my PC once the parts stop being enough but I love the silence so much that I will probably just buy better parts this time around, rather than require over the top potentially loud cooling.
I'm very interested in a similar setup. So far I don't think I've figured out an elegant solution.
My current solution is to have both devices plugged into the monitor, and use a usb hub to share the peripherals, manually moving the cable to the hub between devices.
Here's the exact model I ended up getting (I'm not affiliated in any way) https://www.amazon.com/UGREEN-Selector-Computers-Peripheral-...
Now I can plug my laptop into my dock, and just press a button to switch all my usb devices between machines.
It's actually a really nice workflow, nice enough that sometimes I'll leave the desktop up on my second monitor playing music or videos when I'm doing heavy processing on my work laptop, and just occasionally switch my mouse/keyboard between them with a button press.
When I want to switch, I just change the input on the monitor and press the button behind it.
It’s not the 1-click solution that I wanted, but it’s close enough and cheap.
Switching USB ports is cheap, switching video signals isn’t.
Finding a cheap switch capable of doing both is not that easy
That was on HN earlier this year. Basically it's software that you run and set up to detect when certain peripherals connect/disconnect and have it switch the input on the monitor automatically. I've been using it and, while not always perfect, it actually works pretty well, especially considering the price.
If you don't always want the monitor to switch inputs (sometimes I just want to quickly switch my keyboard/mouse to my laptop to do something but don't want to switch monitor inputs) you can also just set up shortcuts or scripts (I created an Alfred workflow, for example) and use something like https://github.com/kfix/ddcctl to switch monitor inputs.
If I had a slightly less wacky WD19 that had 2 or 4 input ports it would enormously simplify my current and future setups.
At the moment I have 2 monitors on the dock (which is my main setup) and a 3rd monitor on a separate machine with KVM (which means 2 keyboards and 2 mice) - this supports 4 computers (2 laptops, 2 desktops) - work+home laptops on the dual-monitor dock and Linux+PC desktops on the KVM. It's not a pretty setup.
You can see the major layout here (just listing the connectivity): https://news.ycombinator.com/item?id=25522719
To switch between machines, I just change display and usb hub source. I do this from monitor menu right now, but should be scriptable with dpcc , I recently discovered.
I have tried a number of TB3 docks (pretty much all except the caldigit), and they ALL have the problem (on MBP m1 at least) that the display will not wake when in clamshell mode. Display wakes fine when connected directly as USB-3 monitor.
Appreciate if you can test this and let me know :D
Other than that, overall I've had a really positive experience with the TB3.
Display Stream Compression is completely broken, I've heard reports of it killing speakers...
For reference, DisplayPort 1.2 supports 4k60Hz according to Wikipedia: https://en.wikipedia.org/wiki/DisplayPort#Refresh_frequency_...
But when I look into the User Guide of the ThinkPad USB-C Dock Gen 2, the max resolution for DisplayPort 1.2 is 4k30Hz (Page 7): https://download.lenovo.com/consumer/options/thinkpad_usb-c_...
I don't know if you have every used 30Hz with a mouse, but it sucks. Especially when you are used to 120Hz... Now I am looking for a Dock that actually supports 4k60Hz with DisplayPort 1.2.
4K 120hz seems about as forward compatible as I'll need for a decade at least.
Additionally, the X570 chipset supports a lot of peripherals:
- 16x PCIe 4.0 lanes + 4x lanes to the CPU - 12 SATA 3 ports (some PHYs are shared with PCIe lanes so you can't have all of both) - 8 USB 3.0 10Gbps (I'm not going to google the "official" nomenclature, ugh) - 4 USB 2.0 - Other things like SuperIO and SMBus which don't use much power
Far more peripherals than M1. (Probably, it seems there's still no detailed specs about the thing anywhere).
Then there's the process advantage, 14nm GF to 5nm TSMC is a huge difference for all the logic involved. The advantage is dampened somewhat for IO because a significant portion of the power is used to drive the signals out of the chip, which is not affected by process changes. Apple's PCIe 4.0 PHYs may be more efficient considering X570 is a first generation PCIe 4.0 design.
Also, the power consumption of X570 is not that bad for what it is, 7-10W [0]. AMD must be a stickler about the 15W TDP because the fan seems unnecessary. This article is basically the worst case scenario: small heatsink on a cramped ITX motherboard in a passive case with no airflow. Maybe BCLK overclocking would run the fan? Or a dust clogged no-airflow case in a hot climate running all the peripherals at full bore?
[0]: https://hexus.net/media/uploaded/2019/7/b3affde4-8a75-4475-b...
I think the main fault with X570 is that it doesn't save power at idle (PCIe supports downclocking links to save power, actually hot-swappable), but it appears to run all the lanes at full speed. Going from a Intel 6700K to AMD 3950X double the power draw at idle (50 watts to 90+) and that's with the same components.
On my system the chipset will quickly heat to 57c (when the fan starts) within two minutes regardless of usage. I swear Asus have the cooler upside down (semi-passive heatsink blows air downwards), worse still it ingests warm are from the heatsink. I have been meaning to modify it, right now I have a 140mm fan pointing at it to stop it hitting 1500rpm (where it irritates me).
Chasing silence does have diminishing returns. Manually setting the 3950X to 3.6ghz 0.95 volts does make a massive difference. I could run the PC semi passive (no case fans, just CPU <500rpm) if it wasn't for the damn PCH fan!
AMD also sets the voltage too high for their GPUs, making them actually run slower (the one-click downvolt works well), I think AMD dislikes the planet...
https://images.anandtech.com/doci/14880/ASRock%20X570%20Phan...
...I should probably also read through the entire article, it does not end here :)
I have finally achieved the "dream" of only having a single cable to connect / disconnect when I want to bring my laptop with me.
Full specs here: https://plugable.com/products/tbt3-udz#nav-specifications
The thunderbolt port on that mother board works great. I have an egpu that I'm sharing between my laptop and this computer and it works perfectly on windows. I haven't managed yet to configure VFIO so that it works well on a windows VM in linux though.
Ever since SDDs became available for consumers I wanted a PC without any moving parts or fans. I've had it for over two years now and having a dead silent PC has been just as great as I had imagined.
Realistically you should be more in the 35W range with this setup.
And alas, finding a good 35W Ryzen APU is a challenge.
There simply aren't any of a recent generation for sale anywhere.
EDIT: Ah.. I saw now it was well above 400 CAD from Dell Canada
a display at 3840x2160@60hz will eat up about 19.8gbps. Two of them together will use 39.6gpbs.
Thunderbolt 3 only supports 40gbps. So if you have peripherals that need anything more than basic mouse/keyboard (in my case, a decent webcam and a usb to ethernet adapter) this setup will fail.
According to this [1], that signal would require 12.54Gbps, so with a link budget of 34.56Gbps - 2*12.65Gbps, you'd have about 9.48Gbps left over for USB and ethernet (which is on the PCI bus for this particular hub). I suppose these numbers include coding overhead for the physical link, but I can't say for sure. If you wanted more than 60Hz or more than 24bit/pixel, you'd definitely run out of bandwidth with two monitors and USB/ethernet.
[0] https://en.wikipedia.org/wiki/HDMI#Version_2.0 [1] https://linustechtips.com/topic/729232-guide-to-display-cabl...
The other one was mostly okay, but didn't have many ports and would also have weird issues when my computer was in clamshell mode — the Elgato Thunderbolt 3 Dock. It was mostly okay, but every week or two there would be a weird issue that I just don't see using the CalDigit model.
My solution was to use an LG thunderbolt monitor (which has a usb3 output), and hang a cheap self powered usb3 hub off that for all the lower bandwidth peripherals.
This has worked well between Mac and pc so far, just one cable that does 4k60, 100W power delivery and handles all the other peripherals in the background.
One gotcha: Apparently some monitors deep sleep options mean the monitor powers down the hub and laptop won’t wake up from keyboard/mouse events!
Hopefully via usb4 thunderbolt can be commoditized and we can get cheaper universal hubs rather than a $300+ dock, but at the moment you need to spend a huge amount to do anything with multiple thunderbolt connections.
----
Your setup needs will also depend on whether you plan to run two monitors with 4k@60hz.
I was trying to run a setup that would give me two secondary displays plus peripherals on a single thunderbolt cable, but the unfortunate reality is that it's just not fast enough.
Thunderbolt gets you ~40gb/s. A 4k@60hz monitor needs ~19gb/s, and a usb-3 hub will need another 10gb/s.
Two monitors + a hub means you need ~50gb/s and the connection just doesn't support that.
In windows things will almost always gracefully degrade (one monitor will drop to 4k@30hz). In linux... it's a bit of a grab bag depending on the order the devices are detected - Sometimes one monitor will fail to be discovered at all, sometimes usb devices will never be powered up, in some cases you'll see one (or sometimes both) monitors come up but no longer offer the correct resolutions.
---
Once I realized I was hitting the throughput limits on the cable, I caved and moved to a setup that used two thunderbolt cables plugged into the laptop.
I'm fortunate that my work and personal machines both have two thunderbolt ports (mac work work, xps 13 for personal) and they can both be charged from the same cable.
There were TB2 docks (i.e. 20 gbps total) that were able to handle one 4k@60 display, 1 gbps ethernet and usb3. I'm using such one (Kanex TB2 Express) with 2015 mbp.
-- On PC side, thunderbolt is handled by firmware, operating system has on say on it, it just sees devices pop on pcie bus (on Apple side, it is by Apple-supplied drivers). So the handling should be same for Windows and Linux. One of the few things it can do is configure security policies for TB3+.
https://www.cablematters.com/showproduct_m.aspx?ProductID=89...
I love the website that OP has created though. Does anybody know what stack/platform is it based upon?
- Masters of Doom
- Hagakure: The Book of the Samurai
- Mid Century Modern At Home
- Scandinavian Style at Home
The Magic Track pad has been fully reverse engineered and works on Mac, Windows, and Linux. Also highly recommended.
[1] https://ergodox-ez.com/ [2] https://configure.ergodox-ez.com/ergodox-ez/layouts/mlGrD/la...