Thunderbolt / MST Docks, DSC-HBR3 on Framework / Ubuntu

Running a 13th Gen Framework DIY with a Dell WD22TB4 Dock, connected to 3 monitors (4K+1440p+1440p). The 3 monitors pull enough bandwidth that DSC HBR3 is needed (and I understand is supported by Intel Graphics on 12th Gen Upwards.

Two issues seem to be at play here - The device or OS doesn’t seem to be supporting HBR3. When I plug the TB4 in, a random selection (or just no additional) displays will work. All show up in the displays manager but I have to disable one to have any externals display most of the time. I saw this on a Dell laptop where the OEM roll of the IGPU driver had DSC disabled - I presume this wouldn’t be the case here (unless its just not supported will in intel iGPU drivers for linux)?

The other issue I’m having is display / TB4 at boot. Other laptops i’ve used have various security settings for TB4/docking in the bios for boot time. Am I overlooking these or is it all preset? Has anyone else had any luck with dock video out at boot?

Thanks in advance for any advice!

I did not encounter any problems with HBR3 even on linux (12th gen). My monitors have diagnostics for this, so I can see this easily, even on Linux. If I were to guess, I’d bet the problem is more one of less stable DSC & MST support in Linux rather than an HBR3 problem.

You might want to check with Windows for comparison, because I have seen many such problems where I could not enable all the screens the same way I did on Windows with my Dell WD19TB (same MST-Hub). Also for Windows the VmmDpTool64 from Synaptics is available in the store (do not know of a Linux alternative) that can give you all kinds of diagnostics info from the MST-Hub inside the Dell Docks , about what kind of connection it has to the host, compression ratios and output speeds towards the monitors. Maybe there is just some problem there, that you can find with this.

Or it is just less mature graphics drivers & multi-screen support on Linux, especially with the newest chip…

2 Likes

Thanks for your notes - I’ve updated to Kernel 6.3.7 (as I noted a lot of i915 patches around DSC behaviour) and it seems to work a lot better when booted.

Unfortunately there still seems to be no display on boot - is this expected?

I think so, but I have never seen output to external displays from FW during boot, but it is not sth. that is important to me, my notebook is open, even when docked, used as supplemental screen and I keep my device sleeping most of the time so I would not necessarily know.

Does i9i5 have a modesetting kernel parameter? That would fix display on boot. NVIDIA has nvidia-drm.modeset=1 for example.

FWIW I’m running a 11gen, occasionally docked on a Kensington SD5780T TB4 with the internal display active plus one 4K external display connected to the dock via HDMI.

Once past POST, for the (short) time the system is booting up, the output is cloned on both displays. Once I log in display config takes over and the displays are “joined” (external is in portrait mode to the left of the main one).

Fedora 38, GNOME, Wayland.

Unfortunately I have to keep the lid shut as with 3 externals it can’t drive all (and lid shut is the best way to guarantee it’s the right ones, and not take masses of horizontal desk space!).

That’s interesting that your boot output is working in Fedora. I will dig into the mode setting.

Reading around I understand TB4 (which I’m running on the dell dock) is meant to be better for USB wake etc, but unfortunately it seems to power down everything USB and not allow wake, needing a lift of the lid (and then madly trying to not make it sleep when shutting it again).

Watching the boot, the dock/keyboard lights don’t wake until it’s done POST, so I suspect there’s no support for it during POST currently (unless I’m missing a setting).

This may cause issues for people using TB monitors, especially on the bare board / CM case.