Only one monitor displays through MST splitter from integrated graphics

I recently got a Dell XPS-8960 desktop, with a Nvidia 4070 and Intel UHD Graphics 770 integrated graphics. I set up a dual boot with Tuxedo OS 2, but I think this is a KDE plasma question (it’s using plasma 5.27.10).

I’m trying to set up the desktop to use the integrated graphics with one displayport 1.4 to output to two displays (4K each @ 60Hz) via an MST splitter so I can use the GPU for other computation.

In Windows, the MST splitter worked automatically, without any explicit configuration. In Plasma, it’s not outputting to both monitor, although it seems to see both (and I’ve had it output to one at a time). I don’t have the Nvidia GPU connected to the monitors at all currently, so no confusion there. In Linux, I used Optimus GPU Switcher to select the integrated intell graphics.

This is what I see in the display settings:

Because I’m new on this forum, it won’t let me upload a second screenshot, but when I select the other monitor, it looks the exact same (other than a slightly different device name in the dropdown to match what is seen above it). One thing to note is that the first view of that display settings that I see only had one monitor showing, and I had to select the other device and check “Enabled” and “Apply” but it did not work afterward, even though it shows two monitors on the settings. It’s also not an input settings issue on the blank monitor (correctly set to display port).

The forum isn’t letting me post links, but the Intel processor can be found by googling
“Intel Core i7 processor 14700 33M Cache, up to 5.40 GHz”

And the Dell can be found by googling:
“XPS 8960 Setup and Specifications” “back panel”

And the MST can be found by googling:
“SIIG DisplayPort 1.4 Multiport MST Hub Video Splitter 4K60Hz - DisplayPort Splitter 2X DP, 1x HDMI, DP Multiple Monitor Adapter”

System info:
Tuxedo OS 2

Software:
KDE Plasma Version: 5.27.10
KDE Frameworks Version: 5.114.0
Qt Versoin: 5.15.12
Kernel Version: 6.5.0-10031-tuxedo (64-bit)
Graphics Platform: X11

Hardware:
Processors: 28 x Intell core i7-14700
Memory: 62.4 GiB of RAM
Graphics Processor: Mesa Intel Graphics
Manufacturer: Dell Inc
Product Name: XPS 8960

Any ideas on how to troubleshoot or settings to change?

Answering my own question:
I need a higher capacity MST hub. Mine works with both monitors at 30Hz, but not 60Hz (although, somehow Windows 11 is able to get 60Hz through it).

Also, MAKE SURE IT IS SUPPORTED ON LINUX!
Sorry for shouting, but it is really important to save you from headaches.

The one you had only supported windows, not even macOS.
It is warned about with nine exclamation marks around the warning on amazon. :slight_smile:

I think I may know why this is: The device has enough bandwidth to do 60hz only when using 8-bit-per-channel color, but when using 10-bit-per-channel color, it doesn’t have enough bandwidth so it goes down to 30hz, preferring higher color depth to a faster refresh rate.

To test this theory, try putting KWIN_DRM_PREFER_COLOR_DEPTH=24 into /etc/environment and rebooting, and see if that fixes it.

If it does fix it, and your monitor doesn’t actually support 10-bit color, then the cause of the issue is a driver bug, because it has told KWin incorrectly that it did support 10-bit color.

If your monitor does support 10-bit color, then at least you can make an informed decision regarding whether to force 8-bit color or buy better hardware.

Thanks.

You are correct about the 8 bits per channel. That’s what Windows is doing, both for the integrated GPU through the MST and from separate ports from Nvidia.

I tried adding
KWIN_DRM_PREFER_COLOR_DEPTH=24 into /etc/environment

but afterward the integrated graphics would not display at all. And then even after I removed that line, it still does not display. In fact, now if I want the iGPU to display at all, I need to have multiple inputs into each monitor (one from each GPU), and flip from the Nvidia to the integrated graphics after startup. And even that isn’t working consistently (sometimes it just recognizes one monitor through the MST).

So, I’m not quite sure what to do now.

Hmm, I’m very sorry if somehow that has damaged your hardware (though I don’t understand how). At this point I need to summon @Zamundaaa or @zzag hop can hopefully help you out of this mess.

I don’t know that we damaged anything. It had been flakey earlier as well. I only had it working for a short time.

Will appreciate any ideas on next steps to troubleshoot.

Trying with different DP cables is always a good first step in troubleshooting. Also make sure that the BIOS is up to date. Strange/unexplained issues can happen due to out-of-date/buggy BIOS.

With Xorg, controlling the outputs is up to whatever hybrid Intel+NVidia driver you’re using, and its Xorg DDX plugin. Plasma doesn’t do anything beyond tellling Xorg to turn the screens on, and we don’t really have any way to debug these things.

I’d recommend you to test on Wayland first, and if that works, make a bug report to NVidia about it. If it still doesn’t work, even with the environment variable Nate mentioned, create one at https://gitlab.freedesktop.org/drm/intel/-/issues instead.

The environment variable doesn’t do anything on Xorg, the change in behavior is a coincidence.

1 Like

So this does seem to work in Wayland, but it’s still kind of odd.

For it to work, I need to run the DisplayPort splitter from the iGPU to both monitors AND input from the Nvidia output. If I try just the DisplayPort splitter, nothing will show.

Even stranger: Even though this set up seems to require that I run the DisplayPort splitter from the iGPU, the inputs on the monitors are set to the other inputs from the Nvidia card (I have the iGPU DisplayPort splitter feeding into the DisplayPort inputs on the monitors, but the monitors are set to use the HDMI inputs; I have an HDMI cable and a DP-to-HDMI cable for my outputs running from the Nvidia output). And yet, I’ve verified that the display is coming from the Intel (the graphics process is named as “Mesa Intel Graphics” and the Nvidia GPU monitor shows 0% usage).

I assume there is some way for the desktop to direct the Intel output through the Nvidia’s outputs (maybe in a similar way to how a laptop can share an output between GPUs), but I’m not sure I understand how or why it makes the decisions.

Also interesting: I can see the other inputs listed in the Display Configuration, but when I switch to them and apply the changes, nothing happens, and when I come back to the settings, they have reverted back to what is shown.

If I boot without the DisplayPort splitter from the iGPU connected, then Wayland will use Nvidia (with the same inputs to the monitors that it uses for the Intel when all inputs are connected).

So, it’s working on Wayland, but I’m not sure why or how.