In the past few years I have used five brand new MacBooks (all different models and years, work and personal), four monitors, three Thunderbolt docks - everything new and name brand, including $80 name brand cables - and every single combination has crashed and/or required reboots daily, constant power cycling of monitors, etc etc.
When it all works, it's awesome.
But it's unbelievably flaky and annoying, and I can't understand why the bugs haven't been ironed out yet. However, even with a daily reboot it's still more convenient than plugging five cables into my laptop every time I want to dock it.
Edit: I should note that Big Sur is very stable, requiring only weekly-ish reboots.
AFAIK Thunderbolt could be less-marketingly-termed External PCIe --- and from that perspective, it is amazing that multiple-gigabits-per-second can be transferred on a thin cable between a computer and external devices, with "acceptably small" (but clearly not zero) error rates. I believe the spec is unfortunately still proprietary and confidential, which certainly reduces the number of people who can even try to fix any bugs in implementations.
I should note that Big Sur is very stable, requiring only weekly-ish reboots.
Wow. That's not what I would call "very stable" at all --- unless you mean in the context of using Thunderbolt devices.
The data rates are impressive but that doesn't really excuse anything. The data rate is more or less isolated from everything else in PCIe. The protocols that are glitching out don't care if it's 40Gbps or 480Mbps.
The faster the speed, the more critical signal integrity becomes; and I suspect at least some of the flakiness is due to how tight the tolerances are at Gbps speeds.
It's packet-based, and you can delay a packet by a lot of time and it won't cause any problems. So at higher levels there shouldn't be any tight tolerances.
Signal integrity and timings are really important at the physical layer, but I don't think that's what's breaking.
PCIe is packet-based and will retry, but typically the drivers for PCIe devices are not written to expect that e.g. accesses to its MMIO space take arbitrarily long times to complete, and the software above and around the driver (including the OS) can also be affected by such delays. Likewise, a device that's processing a continuous stream of data is going to overrun or underrun if its requests for interrupts or DMA get delayed due to retries caused by physical layer errors.
But as far as I know an x1 link works fine with real devices, and very much should work fine with real devices. And at the same time, to slow down a normal connection to less than an x1 link you'd need something like a very broken cable that just barely doesn't lose everything, and also doesn't get rejected by the system. So I still doubt physical level errors are the cause of weird flakiness except in very rare cases.
Expresscard also exists as a hotswappable version of PCIe for laptops. It's only one lane, so even the modern laptops with PCIe v3 have dismal bandwidth compared to USB3 or Displayport.
Surprise unplugs aren't great. On windows you can safely eject a GPU from your laptop with the taskbar icon.
Compared to thunderbolt it's an order of magnitude cheaper.
There might be some implementation details, in particular for thunderbolt 3.
Some 9 years ago, I worked at a place where we had macbooks and Apple Thunderbolt displays. I don't remember ever having issues. And I personally had two displays daisy-chained, with random USB and FireWire peripherals hanging off them. One of the screens or the computer itself developed a contact issue many years later, which of course isn't great, but the connection itself has always been rock-solid.
I remember at one point, after the High Sierra upgrade I think, but I'm not 100% sure on the date, I had some issues with the same thunderbolt screen and the same MBP. But by that time, they had already changed the font rendering, so I didn't use that display as often. Also, the GPU drivers at the time were terribly broken and the MBP would lag like crazy when using it. A few upgrades later, it was solved.
However, in PC land, I have an HP desktop with an HP thunderbolt / usb-c card, and it's hit-and-miss. My understanding is it has something to do with waking up the controller or something, but I've never managed to get it working 100% reliably. DisplayPort alternate mode is broken on Windows, too. I have a friend with a Dell XPS with integrated Thunderbolt, and he gets the exact same behaviour. At least his DP output works...
I only had issues with Apple and Thunderbolt, e.g. display resolution restricted to 1440p instead of 2160p when the same cable on a Windows NUC delivered 5k2k HDR10 resolution without any issues.
Are you plugging into a different port? I was having a similar issue with waking from sleep after being disconnected and reconnected. Then I realized I was plugging into a different port each time, and once I set the position for the displays for each port I never had that issue again.
Might be partly due to plugging into different ports as somebody mentioned, but it does seem to happen randomly for me too. But I found this tool yesterday that makes it a lot simpler to solve https://github.com/jakehilborn/displayplacer - annoying that it doesn't work properly out of the box, of course
I also have a TS3 and my experience has been similar. Quite solid. At one point I was having issues with a monitor being recognized and thought it was the TS3, but with some tinkering it turned out to be a quirk of the monitor (sometimes it just needs a full power cycle, even when no dock is being used).
I have a TS3+ with an XPS 15 9500, it's a nightmare. With only 2 monitors plugged it works well, but when you plug keyboard mouse and webcam it starts randomly dropping the whole usb stack.
I guess that thing works only on macs (for one you can upgrade the firmware only on macos).
I can vouch for Caldigit for both Mac and Windows. Been using them since the start of covid.
One of the worst docks I've used was the Dell ones. With those I've had. 50/50 chance the Ethernet will work. And if you do connect expect to drop out.
We have tested all the thunderbolt dock we could find. The only ones when we managed to have 2 screens working on Mac, Windows and Linux were Lenovo's (non Mac computers are Lenovo too, not sure if that matters)
And sometimes they are. One person’s anecdotes aren’t indicative of everybody’s experience. I rarely reboot my Big Sur machines; one has been running for about 4 weeks, since just before the beginning of the lockdown here in New Zealand.
I’m sure it would’ve been running longer had I not needed to reboot to finish installing an app.
I was ranting about this with a colleague the other day.
I remember having a gaming machine in ~2009 running Windows 7, and outside of me screwing with it (overclocking, etc) it's been rock-solid despite being heavily used; I can't actually recall a bluescreen or crash that I couldn't blame on my own doing.
In contrast, 11 years later, my M1 Macbook despite getting nowhere near the abuse that gaming machine got (it only really runs a web browser and I definitely don't mess with hardware or low-level settings - I don't even have System Integrity Protection disabled) will randomly crash or sometimes fail to wake up and will require a forced shutdown every couple weeks.
I only have issues when connecting, once it starts working, it's rock stable.
When I tried to power the JEYI Thunderdock Mini (this is an almost unknown gem but I love it to pieces because of the price, the size, the M.2 slot, the USB C power input) with the Baseus Galio 120W then it kept connecting and disconnecting without stop, it made the laptop into a chiming instrument :) Once I plugged the Aukey Omnia 100W (PA-B5) it has become rock solid.
I have a Monoprice Thunderbolt 3 Dual DisplayPort Mini Dock (search ebay for thunderbolt 3 dual mini dock you will find it for 30-ish, by far the cheapest TB3 dock) and I have two powered USB hubs chained off it. I need to plug it 2-3 times before the hubs are working but once they do, I never have a problem.
There might be problems with Thunderbolt docks and monitors, I have no experience with those.
On the other hand, I have used continuously during the last 5 years Thunderbolt SSDs from several brands as my boot and working drives (i.e. without using any internal storage), with many computers, mainly Dell laptops and Intel NUCs.
Besides obviously being faster, the Thunderbolt 3 SSDs have been far more reliable than the external SSDs using USB.
So there is at least something that works properly, but I do not know if that is also true on MacBooks, because I have always used Thunderbolt only in Linux.
When my X1 Carbon running Windows sleeps with a a USB-C (or is it Thunderbolt?) monitor plugged in, sometimes it wont wake up. The power light just slowly throbs.
I agree that there's something magical about getting USB, display, and power over a standard cable.
My problem is more with the ecosystem than reliability; granted, I don’t need too much from it, just some screens, networking and USB. But that’s just a giant pain to figure out in general. Adapters and cables that require painstaking research to get right (and even then a lot of YMMV on the user’s end) are insanely frustrating. I live in a small Eastern European country so for me the idea of using two 4K screens I already had at 60 on a brand new MacBook Pro involved a day’s research and ordering stuff from abroad and waiting more than a week to find out if it would even work or not. And I think of myself as tech literate…
While I understand the ‘elegance’ factor of the nice and compact USB C ports and the expandability of Thunderbolt, I’m glad that I don’t have changing needs because it would frustrate me to constantly have to look into everything and potentially keep having to buy stuff from other countries just to be able to make use of these ports.
But tldr; my TB3 to DisplayPort adapters work well enough that I only reboot the computer for updates.
I added a Thunderbolt 3 port to a laptop with this method, this is a nice summary of things. I also needed to prod some registers to make the card visible, so I have a UEFI script that does this on boot. https://rsend.wordpress.com/x210-coreboot/adding-a-thunderbo...
I have plugged so many dongles and cables into my laptop to find the one combination that gives me two 4K monitors at 60hz.
It was infuriating how many things plug in properly but don’t actually convey the capabilities I wanted. Even picking the wrong DisplayPort cable will limit it at 30hz.
I understand there are explanations that are perfectly cromulent to engineers. But they aren’t any good to the other 99% of users.
It's also bizarre to me that pretty much every affordable USB C dongle that has both USB and video out have the video out be HDMI (okay there is a few with VGA but good luck if you want DVI or DP) despite USB C typically using DP alt mode. Why not skip the conversion to HDMI and give me DP with its extra bandwidth?
Its probably because they're not actually doing USB-C alternate DP mode but probably using a DisplayLink chipset. Its a system of doing graphics over USB and IIRC supports HDMI by default.
FWIW I’ve been using 2 thunderbolt to display port cables to drive 2 4K60 monitors since 2016. The cables cost me roughly $10 CAD each. I guess I was just lucky?
Thunderbolt to DisplayPort cables aren't a thing. Thunderbolt 2 was already a Mini DisplayPort connector that used normal cables for that; Thunderbolt 3 uses USB Type C and you can get USB C DisplayPort cables (using DP alt mode). No Thunderbolt features involved there either.
Converting Thunderbolt to DisplayPort is technically possible, but completely pointless because both TB2 and TB3 are natively DisplayPort compatible, at both protocol and connector level.
> Converting Thunderbolt to DisplayPort is technically possible, but completely pointless because both TB2 and TB3 are natively DisplayPort compatible, at both protocol and connector level.
One exception: it's useful for a Thunderbolt Dock to have a Thunderbolt connection to the host system, while offering another Thunderbolt port that can emit a standard, un-encapsulated DisplayPort signal. But for an adapter with none of the other ports offered by a dock, it is generally pointless.
I was sincerely frustrated as to how flaky it all seems too.
I have a monitor that's 4K/60 if I directly cable to it, but often only comes up at 30Hz (or 4:2:2 colour mode 60Hz) if I use a KVM. Yes, the KVMs were sold as "4k/60 support" and I've tried two different ones (one HDMI, one DP). One machine works fine, because it's a sucky pre-Cambrian laptop dock that isn't even TRYING for 4K, and the failing one is a desktop with a GTX1080.
What's interesting is that it seems like it only happens in Windows. I experimented with a FreeBSD install, and the drivers there reliably hit 4K/60 even with the DisplayPort KVM in the way.
I suspect the drivers must have different strategies to probe the capabilities of the device and cables, and the Windows drivers interpret them more conservatively.
So I ended up using the KVM as a $100+ USB switch and just toggling the inputs with the monitor's own buttons. (I gather there's software that could do automatic input switching via DCC configuration channels, but one machine is corporate-managed so I can't just stuff random software on it)
What a massive pain the docking accessory market is. Every dongle is advertised as either 4K or 60Hz, sometimes both, but the crucial detail you’ll learn after having bought one that barely any of them support 4K@60Hz, because that requires some extra version of HDMI chip.
Most of them, while otherwise being perfect, also tend to lack some essential feature.
There are perfectly fine explanations to most people, actually, and anyone who disagrees greatly underestimates the ability of the common person to understand analogies. People in tech-focused communities tend to treat every common person like they're caricatures of the absentminded father or clueless wife in a 1980s cartoon.
"See, it's like you made a pizza with cake flour. It won't taste good, it won't cook quite right, and you'll be disappointed even though it kind of works. There's nothing bad about cake flour, and it works really well for what it's intended for, but it can't be used for everything."
"Imagine you were using bad steel when you were forging a blade. It'll crack, roll or worse, but it'll still look vaguely knife-like."
"It's like you're wanting to play electric rock music but you're missing a few strings and you don't have a pickup so it's really pretty much just a weirdly-shaped banjo."
That's not the problem the average person is trying to solve though, they want to know how they're supposed to tell the different kinds of flour apart.
"Just like with flour, keep them in their own containers, and keep track of which container is which. If you lose track, bake something small as a test or test the cable by plugging it in."
Only if you're doing thin crust and don't mind a crunch; cake flour in pizza leaves the crust unchewy, which is a big downside if you wanted pizza like most people want pizza. Except people who live in Detroit, who are very happy with their hard cake pizza dough.
Now, you can use both types of flour and get a cool result but cake flour on its own will leave you with a rock with tomato sauce and cheese, most of the time.
I wish that article was posted some months ago. I literally burned my eyes for a whole day trying to figure out why this Apple Thunderbolt Display refused to work with a HP 800 G4 SFF plus the Thunderbolt PCIe card and, when it finally showed some image, the brightness was at its maximum - after a while the thing was really hot.
Until finally I noticed the 'security' thing and set it to none, and could set its brightness to a lower setting and my eyes said thank you.
I have almost the same setup (using an 800 G4 mini), and a thunderbolt display.
This mostly works, but it's pretty terrible. If the display goes to sleep (say after a period of inactivity) it's impossible to wake up. Also, if I plug it in while the computer is running, the image won't come on.
Do you have any of these issues, and if no, did you do anything specific to address them?
As someone who has wrestled with the Gigabyte Titan Ridge card on a hackintosh, including flashing different firmwares many times with a raspberry pi as an SPI tool, this article is so so interesting.
So much of getting this stuff to work feels like random luck and incantation. I really appreciate the author’s research and effort in writing this up.
While Thunderbolt on AMD systems isn't a widespread phenomenon, there are a couple current-gen motherboards with TB3 ports, and one with TB4. (They are however, somewhat pricey.)
From what I can see, eGPU configurations are specifically called out as unsupported, and people trying have a few hurdles to jump as well.
Reminds me of how excited I was to get a USB Ethernet port for my Packard Bell 1st gen pentium 60mhz that was discounted because it had the floating point bug. But yeah it just didn't work due to failing drivers and that is when I realized that the future promised by these plug and play protocols was going to be fraught by the same hardware compatibility challenges that make building systems hard. I also have a motherboard currently where the usb-c port only works at USB 2.0 speeds in both Linux and Windows. I get the feeling that it is probably just broken for everyone who had this model and support didn't have much to say either. This stuff is hard and one can hope that it eventually gets figured out but I suspect not.
What was a 60 mhz Pentium system doing with a USB port? It certainly didn't come with one, as by the time USB was released in mid 1996 the FDIV pentiums had been recalled for a year and a half (December 1994). USB support on Windows didn't really get acceptable until windows 98 and even then it wasn't good, so I'm not surprised the USB Ethernet device didn't work out.
I could be wrong considering it was over 2 decades ago and I never verified the floating point bug. There were no expansion ports on the computer and so I was using one of the built-in USB ports as that was the only expansion possible. This seems like the motherboard it would have used https://pb.retropc.se/770.html
But yeah windows 95 did have very limited USB support based upon the 2nd service pack if I remember correctly but it did not really work very well.
Yeah, USB + Ethernet [+ Firewire] all-in-one cards used to be reasonably common, because many motherboards in the PII-PIII time didn't have USB or only had two USB ports, and a lot also did not have an on-board Ethernet port.
I guess this happens because people want an AMD CPU and Thunderbolt? It seems like a hell of a lot of trouble to go through just to keep from having to buy a properly integrated machine like a NUC, pretty much every Intel laptop, or a Mac.
One you compile a monstrous C++ project with -j32 on a Ryzen 5950X you'll understand why people find it worth the trouble to stick with AMD for things like this.
It’s not unreasonable for someone to have a one cable system these days with thunderbolt.
Personally I have a 18 Intel core workstation with a single thunderbolt 3 cable running to a Caldigit TS3+ dock. During work hours I unplug the dock, and plug my work laptop into the dock instead, and make use of the same keyboard, mouse, monitors, microphone, DAC/AMP, network switch port. Minimal fuss and inconvenience switching between work and private life.
I don’t think it’s unreasonable to desire the same results on an AMD solution.
In the past few years I have used five brand new MacBooks (all different models and years, work and personal), four monitors, three Thunderbolt docks - everything new and name brand, including $80 name brand cables - and every single combination has crashed and/or required reboots daily, constant power cycling of monitors, etc etc.
When it all works, it's awesome.
But it's unbelievably flaky and annoying, and I can't understand why the bugs haven't been ironed out yet. However, even with a daily reboot it's still more convenient than plugging five cables into my laptop every time I want to dock it.
Edit: I should note that Big Sur is very stable, requiring only weekly-ish reboots.