Display port over USB-C with docking station - only one display works even two displays are recognized

@fhortner not only you. In this forum there are plenty of threads concerning resume after sleep (going from ACPI S3 state back to online). They all have in common that the display is “off” (even thought the signal is on). I hope that they @amrits will figure this one out.

The worst part is that under Windows all works well (but who uses Windows nowadays apart from gamers? ;)) )

I saw these threads, but there is one difference:
1.) I am using a Thunderbolt Dock, like you
2.) The external monitor is not even recognized - so no signal at all

Recently I´ve updated my OS from Ubuntu Budgie 20.04 to 21.04, but since the NVidia driver 440 I have problems with my external 4K displays that I use through a Thunderbolt Workstation by Dell (WD19) connected to my notebook through a RTX2060.
My problems during the last year was distortion in image from external displays, like the 2nd photo in the begining of this thread, I have installed 450 and 460 driver version, with this problem, but now with 470 my both external displays are not working, the xrand recognize the displays but there is no image on those.
So I´ve returned to 450 drive version then the displays back to show image.

Displays Dell 4K 27¨
Workstation Dell WD19 Thunderbolt 3
GraphicCard RTX 2060 Thunderbolt Output

Looks like I am able to duplicate issue on below configuration setup -

Dell Precision 7560 + Ubuntu 20.04.2 LTS + T1200 Laptop GPU + Driver 470.74 + dock model Dell K17A + 2 displays connected via dock

I chose discrete graphics option from BIOS setup and powered on the notebook.
When I connected 2 external displays, all 3 displays are getting detected with xrandr -q but display appears on only one of the external monitor and notebook respectively.
Other remaining external monitor remains blank.

Ok, that’s great. Let the debug game begin :)

Cheers,

hey @amrits

I know it’s almost X-mas, many other bugs and stuff, but have you had any chance to tackle the issue?

Best,

USB-C docks such as the i-tec typically employ DP MST (DisplayPort Multi-Stream Transport) in order to drive multiple displays using a single link. Unlike a normal display setup where each display has its own connection to the GPU, the available bandwidth must be shared between all of the connected displays and other devices attached to the dock. When a display is connected, the NVIDIA driver performs validation to ensure that each mode (resolution / refresh rate) on the display fits into the available bandwidth, but this is on an individual basis. It’s possible that two displays could each have native modes that fit within the available bandwidth, but in combination would exceed it. In this case, since each display’s native mode was successfully validated, they will each be available to configure, but they won’t work together; setting the native mode on the first will succeed, but the second will fail due to lack of bandwidth. If you specify Option “ModeDebug” “true” in the NVIDIA section in xorg.conf, this bandwidth check failure will be visible in /var/log/Xorg.*.log. The amount of bandwidth available is variable, dependent on which version of DP is being used, whether DSC (Display Stream Compression) is available, the quality of the link, and the particular dock and displays. The NVIDIA driver currently doesn’t log the amount of available bandwidth, so there is some guesswork involved in finding a valid configuration on your particular setup. The second page of the i-tec datasheet gives some possible configurations under ideal conditions: https://i-tec.pro/wp-content/uploads/datasheety/C31TRIPLEDOCKPD_us.pdf .

Unfortunately, due to the way display configuration is implemented by Linux desktop environments, this is currently expected behavior. An issue is already filed against GNOME/mutter here: Configuring displays in regards to color depth, and bandwidth constraints (#1391) · Issues · GNOME / mutter · GitLab . Ideally it would fall back to a configuration across all of the displays that allows them all to light up (as Windows does), but currently it will give as much bandwidth as is available to each monitor on a first-come-first-serve basis, leaving the later ones unable to be configured. This is just for automatic configuration – if you manually set a display configuration that fits within the available bandwidth, it should succeed.

On Ubuntu 22.04, Tuxedo OS 2 KDE Plasma and Pop OS this is was resolved using the solution given here:

where a download is provided for synaptics-repository-keyring.deb

And these commands are prescribed:

sudo apt install ./Downloads/synaptics-repository-keyring.deb
sudo apt update
sudo apt install displaylink-driver

On Linux Mint 5.15.0-70-generic the solution does not work and instead causes cinnamon to crash and the screen areas to drift upwards and being rather unresponsive.