You are not logged in.

#1 2017-06-21 01:18:32

osmac
Member
Registered: 2017-06-21
Posts: 3

DisplayPort Multi-Stream Transport (MST) and DCC/CI Control

I just got 2 Dell U2515H that I've connected in a daisy-chain configuration.  When I use ddccontrol or ddcutil to send commands, only the first screen reacts to them.  The same kind of behavior is seen from xset, which only controls the first monitor.  Is this a limitation of MST, or is there a way to send commands each screen individually?

The NVidia driver creates a single /dev/i2c-X for the DisplayPort port so I assume both screens are connected to this i2c bus.  Looking at the source of both ddccontrol and ddcutil, the base DDC address on the i2c bus is 0x37.  I've tried other i2c addresses (tried all from 0 to 127) to see if the second monitor would be accessible elsewhere on the bus, but I haven't found any.

Some System Information: (let me know if anything else is pertinent and I'll add)
uname -srvmo: Linux 4.11.5-1-ARCH #1 SMP PREEMPT Wed Jun 14 16:19:27 CEST 2017 x86_64 GNU/Linux
GPU: NVIDIA Corporation GK110B [GeForce GTX TITAN Black] (rev a1)

Thanks

Offline

#2 2017-07-06 19:48:44

jeremejevs
Member
Registered: 2017-07-06
Posts: 4

Re: DisplayPort Multi-Stream Transport (MST) and DCC/CI Control

Hey, have you found a way to talk to the second monitor? Any info about your further research would be much appreciated.

Offline

#3 2017-07-06 20:10:53

osmac
Member
Registered: 2017-06-21
Posts: 3

Re: DisplayPort Multi-Stream Transport (MST) and DCC/CI Control

According to nvidia, it's not possible.  Unless you're limited by the number of ports on your graphics card, plugging each screen separately seems to be the way to go to get proper DCC/CI and dpms to work.

Another thing to note about these monitors that annoyed me is that when you change the input with the OSD menu on the monitor (ie, from displayport 1 to hdmi),  the computer detects the screen as disconnected.  So all windows move around to the other screens and you need to to reactivate (reconfigure position, etc) the monitor when you switch the input back and then move your programs back to where they were.  I've invested in a bunch of DP->hdmi and DVI->hdmi converters so that each screen has only a single hdmi input used and I can use external hdmi switches to control which sources go to what monitor without the computer marking screens are disconnected.  Such a mess of cables... but at least everything works as expected.

Hopefully the ddc/ci issue will be fixed at some point in the drivers (if it's possible), but the input switching issues for these specific monitors would still be a deal-breaker for me, so I think I'll stick with individual hdmi cables for the time being and try to find good cable management solutions wink

Here are the messages I've exchange with nvidia:


First reply from nvidia support after chat:

Hi osmac,
Your issue was just referred to me.
According to the man pages for ddccontrol and ddcutil, there are not any options to change settings on each screen individually and we are not aware of any undocumented options.
Best regards,
Mike, NVIDIA Customer Care

my reply:

Regardless of the program used to send the commands, is there any way to expose the i2c bus that goes to the second/third/... monitor?

In my case, The driver creates a /dev/i2c-7 for the displayport on which the screen is connected, but it seems to only be communicating with the first monitor in the chain.

I guess one of three things should happen:
1- the second monitor is also connected to the same i2c bus, but at a different address (what address? would this depend on the monitor itself?)
2- a second (virtual?) i2c bus device should be created (maybe /dev/i2c-8 or /dev/i2c-7-2) to send commands to the second/third/... screen
3- there is no way to communicate with the other screens, which would be kinda stupid as it would render MST pretty much useless (no DPMS)

Currently, it looks like #3 is what's happening...
Is there any specific configuration I would need for the driver to allow
communication with the second/third/... screen?

Thanks

Nvidia reply

I asked our developers and we don't know a way to expose the i2c bus that goes to secondary and additional monitors.
It may be worthwhile to try NVIDIA Developer Forums to see if others have ideas.
You can register as an NVIDIA developer here: https://developer.nvidia.com/user
I'll close this case since unfortunately I can't help further.

Last edited by osmac (2017-07-06 20:11:40)

Offline

#4 2017-11-17 18:01:34

jeremejevs
Member
Registered: 2017-07-06
Posts: 4

Re: DisplayPort Multi-Stream Transport (MST) and DCC/CI Control

Didn't get a notification, thanks for the info!

Offline

Board footer

Powered by FluxBB