I’ve ran into this situation multiple times at my current and previous jobs. I really want to avoid Windows and use something better, but I can’t live without two external monitors.
On Windows, it “just works”. I don’t have to do anything.
On Linux (I tried Linux Mint today) it doesn’t work. First, it only connected one of the monitors, the other one did not register. Then I switched to a different cable from the computer to the docking station and it connected both screens - however, they were locked to 30fps. I could not make them work at 60fps (and this is a major dealbreaker, I cannot live with 30fps).
This isn’t really a tech support question, I’m more trying to understand what fundamentally causes this situation. Why is Linux still struggling with pretty basic functionality that Windows does with zero setup? Is it the vendor of the laptop and docking station that aren’t properly supporting Linux? Or is it some other problem?
On Windows, it “just works”. I don’t have to do anything.
It only “just works” if you are using the correct dock and the correct cables. My Surface Pro with Windows 11 refuses to do dual monitors at 4K unless I use the actual Microsoft Adapter cables (USB-C to HDMI) along with the actual Microsoft Dock.
Your problem isn’t that Linux can’t do what you want, it’s that you have to have the correct hardware setup…and so does Windows.
My surface pro just decided one day that all external monitors will only be mirrors of the primary display, and that they will be 800px, not 4k. Nothing I have tried has fixed it. I finally gave up and started using my much older Arch laptop for those purposes.
Dock firmware. If changing the cable did something, chances are the chips on the dock are not working nicely with the OS. It is a hit or a miss for what I’ve researched on it. What you have to know is that a Usb-C cable is only the physical shape of the port, what that port can do depends on ancillary chips implementing the protocols, and the protocol has to be supported on both sides of the connection. So, something on your current driver configuration is not talking with the dock. Maybe try running a newer kernel and see if that helps.
Also, the 30fps lock might be due to X11. I’ve not tried Wayland but this is one of the points the evangelists like to ramble about. Something, something, if both monitors are not equal and connected through the same protocol it doesn’t work, just use Wayland or whatever.
For what is worth, lots of people do complain online about docks not working with Windows and some even stop working after a few months, those things are fickle as hell.
Yeah, if you’re running monitors with two different refresh rates, you’ll have a hard time in X11. I haven’t tried it in Wayland but I’ve heard it’s better.
So much better!
Also, the 30fps lock might be due to X11
You think I would have better luck with a distro that uses Wayland? I’m kind of surprised to learn that Wayland isn’t used on Linux Mint as I have read that Linux Mint is the most “it just works” distro out there, but it has not been my experience so far.
Wayland is developed by the same people who created and still maintain X11. It’s been on the works for a decade, but, and it is a big but, it’s still experimental. Sure, feature wise it’s 90% there, but it also creates a lot of incompatibility issues, as applications have to be made with Wayland in mind. There’s Xwayland that is included in most, but not all, deployments of Wayland that run X apps in Wayland, but that has compatibility issues as well. I get a lot of flak for saying this but, Wayland is not yet ready to be the universal replacement for X11, and that is OK, this is not entirely on the Wayland developer’s hands. Adoption of new technology takes a lot of time and it requires all developers on board.
Mint precisely because of their “just get it working” philosophy only provides experimental support for Wayland. As X11 is the mature implementation and no software will malfunction for using it, as they are all virtually designed to work with X. However, if you have the latest version of Mint, Virginia, you already have Wayland available to you. Just choose it on your display manager before login in. But it is marked as experimental because some software might glitch.
Mint is trying to create the most straight forward and easiest experience to the vast majority of people. We might have normalized it in the tech circles, but the vast majority of people don’t use multi monitor setups. The non-tech people who do, usually do it on an enterprise setting where IT deals with the technical details.
I would not describe Wayland in its current state as experimental. We’re past that point by a fair bit.
It is actively used as the default by multiple major Linux distributions and is the advised default by both GNOME and KDE maintainers.
Like I said, it has feature parity to about roughly over 90%, but not adoption on the software side. The DE developers are correct that they need to start supporting it as the default, because de-facto we are forced to make it so. X11 is on death row after all. But if it glitches on Wayland but not on X, then to me it is still experimental.
EDIT: BTW for me it is experimental, but also, Mint also calls it experimental, because their support from the Cinnamon DE is experimental.
I’m not too familiar with Mint. But I bet you wouldn’t even have to install anything to switch to Wayland. Just select it at the login screen.
I use Linux Mint with 2 4k monitors and have never had a problem. I use an Nvidia card and I think once I installed their drivers it just worked.
I only have integrated graphics, and it may have to do with the docking station as well of course.
You are probably on the right track. Docks have their own limitations on resolution and frequencies, and that might be your chokepoint.
I had a dock for work that only let me do two monitors at 1080 or one at 1440 and the other at 800. They replaced it with a newer dock and now borth are set to 1440.
Well sure yes - but the dock works flawlessly on Windows, so it can’t be some inherent hardware limitation.
Hardware isn’t the only limitation. The firmware could have less compatibility with linux as well.
Updating the firmware might be a possibility.
Not just Windows, but Macs as well; I’ve had three different generations of MacBooks that you could plug a USB-C (thunderbolt) into any dock (Dell, HengeDock, random amazon brand, etc) and they simply worked.
I do feel your pain about multiple monitors; it is even more evident when you try to run some of them rotated and/or flipped.
I’ve not found a solution for it yet, and in some small way, I am glad to hear it’s not just me having these problems.
My MacBook pro wouldn’t work with my ultra wide resolution monitor and it took me hours to figure out how to force it to reveal the proper resolution option. It flat-out won’t work with dual monitors, no M1 CPU MacBook will.
Displaylink software.
Not excusing it, just saying that’s what I use and it works great
Edit ideally your dock/hub has a display link chip in it.
I use this one, and now have a single USB c into my Mac
Dell 452-BCYT D6000 Universal… https://www.amazon.com/dp/B071YTQBXM?ref=ppx_pop_mob_ap_share
That’s not true, M1 Pro and Max MacBooks both support dual external monitors.
The scaling and lack of available resolution problems is very real though. If you have monitors with a slightly non-standard resolution, you basically need third party software like SwitchResX, which is pretty stupid considering Windows has no problems like this at all.
The 13" MacBook Pro with the M1 processor doesn’t support dual external monitors, I think it is a 2019, but I’m not positive. If you have a solution, then I’d love to hear it. I looked, and my coworkers looked, and we all came to the same conclusion that it’s not supported.
I’ve been using 2 4k monitors with my m1 for years now. Are you specifically referring to usb-c connected displays? I tried that (I think) and it didn’t work. I use a dock that has HDMI and a USBC cable for my two monitors and it works fine for me.
Kind of. USB-C to HDMI. I have a dongle for one HDMI port and that worked okay, but wouldn’t give me the proper resolution, so I bought a USB-C to HDMI cable. That, with a lot of tinkering, got me the proper ultra wide resolution, but I still haven’t been able to get a 2nd monitor working. Everything I read said that the M1 doesn’t support dual monitors. I just checked and it’s a 2020, not a 2019. My previous MacBook Pro was the 2019.
So, you’re saying that you got two external monitors working with a USB-C dock?
I just checked. My M1 MacBook Pro is a 2021 model so maybe that’s why, but here’s what I have working:
- 1 4k monitor connected by USBC directly
- 1 4k monitor connected by USBC -> mini displayport cable (I am fairly sure this one used to use HDMI via my USBC dock but apparently I changed that at some point)
Okay thanks for checking. I’m pretty sure the 2020’s just flat out don’t work, but I’ll look into it again. I’ve wanted a second monitor for work many times. Cheers!
I also just double checked. Both displays are running @ 60 hz
Using X? I’m running a dock with triples via USB-C/thunderbolt without issue on Wayland. Maybe I had to briefly configure them but it really wasn’t anything worth remembering.
I was trying Linux Mint so yes, X I believe. I’m considering trying again with latest Debian+KDE plasma which uses Wayland I believe?
You’ll probably have better luck with that. X has always been kind of annoying with displays. Especially if they change like with a dock.
Try kde neon. My use case isn’t exactly like yours but my experience has been excellent with multiple monitors
Your best bet when it comes to USB-C docks is using a computer with a Thunderbolt 4 port. While I’m not 100 % sure, I think one of the few spec changes comparing Thunderbolt 4 to 3 is that TB4 certification requires two independent DisplayPort streams. If you can then find a Thunderbolt 4 certified Dock with either two independent DisplayPort outputs or even two Thunderbolt outputs (physically USB-C), you can connect your monitors via DP to DP or USB-C to DP. This configuration should work on pretty much any OS as long as Thunderbolt is working properly.
USB 4 or Thunderbolt 3 can support multiple DisplayPort streams, but it’s often hard to find exact specifications on what’s supported with which computer and dock. Many docks have multiple DisplayPort ports, but they are linked via MST (essentially daisy-chaining) so they share a single DisplayPort stream. This tends to work fine under Windows as long as you don’t run into bandwidth limitations, and I think Linux supports it as well, but this might vary by distro. I know macOS does not support MST at all.
Even worse than that, a lot of the cheaper (but also more expensive) multi-display USB-C docks use DisplayLink, a proprietary technology that essentially uses software rendering to output to multiple displays. This requires a proprietary driver to get working, so I’m not sure how well it works under Linux if at all.
Your best bet for Linux is to run Wayland and an up-to-date kernel (we’re currently at 6.9.x) with a well-supported DE like KDE or GNOME.
I’m forced to use Displaylink for one of my 4k monitor’s. The second one is directly connected with a Displayport.
You can see a noticeable lag on the Displaylink Version.
Sounds like it’s using display link through your docking station instead of the more traditional connections
Actually I think one of the monitors was connected via HDMI to the dock and the other was via display port. And the dock is connected to the pc via USB-C. But again, all this works flawlessly on Windows, it doesn’t seem to matter there.
He’s talking about displaylink, not displayport.
https://en.wikipedia.org/wiki/DisplayLink
If your dock depends on this I would consider a different dock cuz imo it’s janky cuz it’s a proprietary virtual graphics card.
https://www.synaptics.com/products/displaylink-graphics
Theres some linux (ubuntu) drivers on that site… you could try.
Any virtual graphics on any dock is going to suck for any OS. They don’t play well when you ask them to do “graphics stuff,” and some don’t even play well just doing regular old web browsing, word processing. Laggy, choppy, imprecise, etc. With a laptop (only reason I can think you’d be using a dock in the first place), you’re better off using an external enclosure with a dedicated real GPU of your choosing.
Any virtual graphics on any dock is going to suck for any OS.
Agreed. Which is why I recommended a different dock.
For the most they work fine for productivity applications and video - but even on windows you get frequent disconnects from the monitors.
The external enclosure is unnecessary with modern laptops as they should support multiple display’s over usb-c. So instead of using a dock with a virtual card you want a usb-c display capable laptop with a dock that is also capable.
Oh sure, if you’ve got something that will pass through the onboard video, you should be good, though you would still be limited to your onboard GPU capability.
I’ve been real happy with my enclosure and RX580 8GB (it was cheap as a “used, not used” takeoff). Keep in mind that if you decide to go with an external enclosure over USB-C, the GPU you use is going to operate at about 80% of what it would do installed directly in a desktop case. It’s still head and shoulders above the onboard performance.
It was perfectly fine on my M1 Mac + Thunderbolt 3 / DisplayLink dock for 2x1080p@60. You could feel slight input lag and a hint of judder in video games but for video and office work you wouldn’t be able to tell it wasn’t native.
I had a similar experience with a couple of Dell USB-C docks. The “good” one was as you describe, although I was running higher resolution displays, so games were off the table, and the slight input lag you saw while gaming, I could see while doing office work. Way too annoying. The “bad” one was just unusable. That’s what drove me to the external enclosure with Thunderbolt, which I am now using with three displays, two at 1920@60, one at 2560@144.
Yeah, it was Dell D6000. I switched to a single big monitor while my gf is using my old setup for remote work and she’s never noticed anything off. We’re also using some Lenovo DisplayLink docks in the office and those are ever so slightly laggier but still OK for that type work. Obviously it’s a bit of a niche case and last resort for personal use but I wouldn’t write them off wholesale.
Dummy, you’re talking about 2 displays in 4k while using a “type-c to HDMI+DP” whatever docking. There are no laptops out there that have two connection standards simultaneously wired to one type-c port. I don’t know your laptop model or the docking station model, and yet I can guarantee that you’re using a DisplayLink or a similar trash technology. While you, the owner, are utterly clueless, yet throw around 4k60fps.
Your hardware setup excludes any possibility of good graphics or smooth rendering. On any platform. It works on windows so that excel monkeys could connect two monitors to their outdated laptops. And nobody who used their screens for more than text editing should be using this tech.
Now, please, go write to the customer support line of DisplayLink asking them why are they a greedy corpo, and wouldn’t they be so kind to finally fuckin submit a working driver to the linux kernel. They’re like 5 years late on that.
Here, they would love your “Unsolicited Idea Submission”: https://support.displaylink.com/
If the cable made a difference, then that may still be the limiting factor. It’s not totally unheard of for Windows drivers to be a little more fault tolerant or better tuned for suboptimal cable connections. If you aren’t already doing that, try using a certified cable that supports the bandwidth and features you require for your setup. Besides that I guess you could only try the newest kernel version you can reasonably install.
The cable only made a difference on Linux, not that it worked completely even with the other cable. On Windows, it worked with either cable.
I know, I did read your entire post. As I said, it’s not unheard of for Windows drivers to be more fault tolerant in suboptimal conditions. For example: Windows GPU drivers in the early days of HDMI 2.1 needed a lot of tuning for tiny oltage adjustments to ensure signal integrity if your cable wasn’t exactly up to spec, basically compensating for a “bad” cable, whereas the Linux drivers at the time didn’t really try to do that. This doesn’t have to be the case for you, but it should be relatively easy to test.
Try something with Plasma Wayland like Nobara. IDK if Cinnamon is really up to the task, least of all on X11.
It sounds like your GFX card driver isn’t correct. Are you just using whatever installed automatically? If you’re using Nvidia then go install X Server and the proper driver for your card. If you’re using AMD then idk, you’ll have to figure that one out.
Integrated intel graphics.
Removed by mod
You must be an Arch user, because not only were you humorous, you also did it in a way that was confusing, rude and correct at the same time.
I’m very confused about your deduction skills. But I confirm, even the arch wiki cannot help with making a docking station work on a random consumer laptop powered by shintel thunderbolt non-standard. It’s an unbelievable rare occasion, but we must admit, the arch wiki has failed their followers here. It cannot be blamed, yet we still mourn.
I’m lying ofc. I’m running 3k displays out of an old Thinkpad. They only need to display terminals and vim, so I don’t care too much about tearing or whatever. I have easily set it up by following this guide: https://wiki.archlinux.org/title/DisplayLink
Look out we got an arch user over here