Mike Kasberg

Husband. Father. Software engineer. Ubuntu Linux user.

Image for Docks and Ubuntu

Docks and Ubuntu

09 Aug 2021

Laptop docks are great! As I wrote about in The Ultimate Developer Laptop and My Home Office Setup, I’ve been using a Dell TB16 thunderbolt dock for about two years now, and I really love it. The dock makes it so much quicker and easier to connect my laptop to all the peripherals on my desk. And that’s important to me because it makes it feel easy to take my work to another part of the house or go work on the deck – I don’t feel tied down to my desk.

But recently, I’ve found myself wishing my dock could do more. In particular, I’ve found myself wanting to be able to connect my dock to a wider variety of computers. For example, I have a Dell Latitude E7450 that doesn’t have a thunderbolt port, and sometimes I want to use that computer at my desk. Doing so requires moving the cables for my keyboard, mouse, monitor, speakers, etc. from my dock to the laptop, completely negating the purpose of the dock! My TB16 dock works great with the laptop I bought it for (my Dell Precision 5510), but leaves something to be desired with other laptops where it’s less compatible (or not compatible at all). I was curious to find out if there were any docks compatible with Ubuntu that would allow me to connect a wider variety of computers. And while researching different docks and testing some out, I think I developed a better understanding of which kinds of docks work best with Ubuntu in different circumstances.

Types of Docks

Fundamentally, there are at least four major categories of docks available today.

As of May 2024, I've updated this list to include Thunderbolt Monitors as a subsection of Thunderbolt Docks!

OEM Docks

Dell OEM Dock

OEM docks are the old-fashioned dock you probably remember from the early 2010s. They are usually specific to a single laptop model or series, and they usually connect to a special port on the bottom of the laptop. These were common on older Dell Latitudes or IBM/Lenovo ThinkPads. You’d set your laptop down on top of the dock and by doing so connect it to the mouse, keyboard, monitor, and other peripherals plugged into the back. The primary problem with these docks, of course, is that they use a custom port that’s only compatible with one model or series of laptop, and they aren’t even really used anymore on modern computers (they’ve basically been superseded by Thunderbolt docks). If you’re curious about an OEM dock’s compatibility with Ubuntu, I think they’re mostly compatible but you’ll need to look up the specific information for the laptop and dock you care about.

A DisplayLink dock

DisplayLink Docks Are USB-2.0 or USB-3.0 docks that use the DisplayLink protocol to provide video over USB. In addition to providing video over USB, they also provide additional USB ports and sometimes other ports like ethernet. Thus, you can connect all your monitors and peripherals at once over a single USB cable! Living the dream! Of course, there are always downsides, and for DisplayLink docks there are two major compromises. First, the dock doesn’t typically provide power, so you’ll still have to connect your laptop’s charger. Second, DisplayLink compresses the video to send it over USB, so it doesn’t do well with high framerates like videos or games. The compression algorithm optimizes for changes, so you don’t actually notice any stutter with mouse movements, typing, or other changes where a small screen area is updating, but you do start to notice some visual artifacts when you try to play a fullscreen video at 1080p, for example. Overall, these are minimal compromises in many use cases – the dock is particularly well suited for an office or developer setting.

If you’re interested in learning more about how DisplayLink docks work with Ubuntu, I wrote a separate blog post about DisplayLink Docks and Ubuntu with more details.

Thunderbolt Docks

A Thunderbolt dock

Thunderbolt Docks use a Thunderbolt port to send video to the dock, and can also connect other peripherals over the same connection – much like a USB-3.0 DisplayLink dock. The difference is that Thunderbolt can support native video, so there’s no need for a DisplayLink driver (nor its compression algorithm). In some cases (i.e. if your dock and computer both support it), you can also charge the computer over the same Thunderbolt cable, so there’s truly only a single cable to plug in! In many cases, this is probably the best kind of dock, but it’s also the most expensive and requires a modern computer and dock. In my experience, they are a little finnicky – my Dell dock won’t charge my Lenovo laptop, though USB and video still work fine.

It’s worth noting that there are some weird sub-categories of USB-C docks that might be confused with Thunderbolt docks. (Although Thunderbolt 3 and USB-C use the same connector, they support different things. Technically, Thunderbolt 3 is a superset of USB-C, a faster connection over the same kind of port.) There are some docks that support DisplayPort over USB-C but aren’t Thunderbolt docks. I’m sure you can also find a USB-C dock that’s neither DisplayPort nor Thunderbolt. For example, there are some docks that use the DisplayLink protocol over a USB-C connection. A post on the Dell community forums about Demystifying USB-C and Thunderbolt recently made it to the front page of Hacker News and is worth the read if you want more detailed technical information. The post goes into detail about how USB-C, DisplayPort, and Thunderbolt allocate lanes of data over a USB-C connector and how docks can use those lanes differently, resulting in better or worse video quality. It also looks at how video quality over a USB-C connection might vary across different hardware due to other factors, like whether you laptop has a GPU wired to the USB-C port. In general, your display quality will downgrade to the worst component in the system between your computer, monitor, dock, and cables. Suffice it to say, looking at the connector alone won’t confirm what kind of connection you actually have with the dock and monitor, which can make the Thunderbolt docking experience a little confusing.

But the good news is that in general, I think Thunderbolt docks tend to work well with Ubuntu. In my personal experience, the Dell TB16 Thunderbolt dock works flawlessly with Ubuntu on my Dell Precision 5510 laptop. Of course, since these are both Dell products, they were designed to work well together, so your experience might vary and you should research the compatibility of the dock and the laptop with Ubuntu. With that being said, I think most Thunderbolt docks use the same underlying technology and don’t typically require any additional drivers (at least on the latest version of Ubuntu), so it would be reasonable to expect that they work well with Linux. My general recommendation would be to get a laptop with documented Linux support and then look for docks that are specifically compatible with that Laptop. Even better if the dock has documented support for Linux.

I do think a Thunderbolt dock provides the smoothest experience as long as you plan to only use one laptop with the dock (or if all the laptops you’ll use support that Thunderbolt dock). Thunderbolt docks will probably continue to grow in popularity well into the future.

Thunderbolt Monitors

I originally omitted Thunderbolt monitors from this blog post, but updated it in May, 2024 to include them. I think they’re popular enough to warrant a mention here, and are worth considering as an option if you’re searching for a single-cable solution that’s compatible with Linux.

A Thunderbolt monitor connects directly to your computer using a DisplayPort signal over Thunderbolt. A Thunderbolt monitor is functionally similar to a Thunderbolt dock in that both transmit a DisplayPort signal over Thunderbolt, and allow you to connect a monitor in addition to other (USB) accessories. The biggest difference, of course, is that a Thunderbolt monitor eliminates the dock entirely (and creates more free space on your desk). Some monitors can even supply 65W power over the Thunderbolt connection to the computer, allowing you to achieve the same single-cable experience as a Thunderbolt dock without the dock itself! In my experience, Thunderbolt monitors are broadly compatible with Linux (since Linux is compatible with the underlying DisplayPort, USB, and Thunderbolt technologies), but the caveats of Thunderbolt docks I discussed above still apply. In particular, you might run into problems when pushing devices to their limits (i.e. max supported resolution or number of monitors), like DHH did in this thread on X. But as these monitors become more popular and the hardware continues to improve, I’d expect the linux experience to get better soon.

Overall, I think a Thunderbolt monitor may be the best choice for a single-cable solution that connects your monitor, keyboard, mouse, speakers, power, and other accessories to your computer if you have a modern computer and are willing to pay for an expensive monitor. But you need to do research to make sure the products you use (laptop graphics card, display, and cables) are compatible and support the required technologies (like the DisplayPort version). (Or buy a monitor with a great return policy in case it doesn’t work.) As with Thunderbolt docks, reading Demystifying USB-C and Thunderbolt, and then understanding the data lanes your setup will use and what resolutions and speed are supported by that setup will help you ensure everything is compatible.

USB Hubs

A USB hub

USB Hubs hardly count as docks because they don’t typically handle display output. (Though some can pass a DisplayPort connection through them.) Still, they’re worth a brief mention because you can use a USB hub as a cheap and effective dock. You can connect your keyboard, mouse, other peripherals, and sometimes even ethernet to a USB hub. Then, you’d probably only have 3 cables to plug in to your computer – the USB hub, power, and video. Another benefit of USB hubs is they don’t typically require any drivers. They should just work with Ubuntu, or with anything else for that matter, because it’s really just a standard USB connection.

Which dock should you use?

If your laptop has a Thunderbolt 3 port and you can afford to buy a thunderbolt 3 dock or monitor, that’s probably your best option. And if you’re shopping for a new laptop and want a dock to go with it, Thunderbolt 3 is what you should look for. Thunderbolt docks are the most expensive docking option (and also the newest), and they obviously won’t work with laptops that don’t have a Thunderbolt 3 port, but they provide the best experience as long as everything’s compatible.

If a Thunderbolt dock doesn’t work for you, or if you want to connect a display over a regular USB connection, a DisplayLink dock might be the next best option. I’d go for a USB-A 3.0 dock since most computers that don’t have a Thunderbolt port also don’t have a USB-C port. Games and fullscreen videos won’t work well with DisplayLink, but you won’t notice any issues with most other types of day-to-day computing.

Finally, if you don’t want to use DisplayLink (perhaps because you need higher framerates for videos or gaming), consider using a USB hub (for your keyboard, mouse, ethernet, speakers, etc) and connecting your monitor directly to the laptop. Although it’s one extra cable to plug into the laptop compared to a DisplayLink dock, a USB hub can still provide a good experience and help with cable organization. And a USB hub is great if you’re on a budget – you should be able to find a cheap one for about $20.

What am I doing?

I’m currently using a DisplayLink dock as a USB hub. (The DisplayLink is irrelevant in this setup – it might as well be a cheap hub.) I’m connecting an HDMI cable from my monitor directly to my laptop to avoid the DisplayLink lag with videos, but I’m connecting my keyboard, mouse, and audio through the USB dock. I use 3 different laptops at my desk right now, and one of them doesn’t have a Thunderbolt port, so this solution is a bit of a compromise but it’s working very well for me. I did try using video through the DisplayLink dock for several days but ultimately found that I do want a fast display connection for videos and games, and the HDMI port is the best way for me to get that across 3 different laptops with different ports. So I have 3 cables to plug in when I change laptops. This isn’t completely ideal, but it’s still better than a tangled mess of 6+ cables on my desk. Next time I upgrade the whole setup (and stop using my oldest computers), I’ll probably opt for a Thunderbolt dock or monitor.

A desktop-mounted power outlet

I’ve also made one other big improvement for using multiple computers at my desk – I added a desktop-mounted outlet, and I’m finding it even more useful than I thought I would. I can use this outlet on top of my desk to plug in my laptop charger, which means it’s very easy to change the charger I’m using when I swap the laptop at my desk. This is also great for my work laptop – I need to take both the laptop and charger to work with me when I go to the office, and I don’t want to climb behind my desk each time to unplug the charger. There isn’t anything special about this particular outlet – you can find something similar on Amazon for about $25.

I hope you learned something useful from reading this or that I at least gave you some ideas or inspiration for making your own setup nicer! I’ve found that using a dock makes my life smoother and more convenient, so it’s great that many docking solutions work well with Ubuntu, and I hope we’ll see even better Linux docking support in the future!

About the Author

Mike Kasberg

👋 Hi, I'm Mike! I'm a husband, I'm a father, and I'm a senior software engineer at Strava. I use Ubuntu Linux daily at work and at home. And I enjoy writing about Linux, open source, programming, 3D printing, tech, and other random topics.


Sharing my blog posts is a great way to support me and help my blog grow!

I run this blog in my spare time, without any ads. There's no need to pay to access any of the content on this site, but if you find my content useful and would like to show your support, this is a small gesture to let me know what you like and encourage me to write more great content!