Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Multi Monitor Setup with NVIDIA
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
kenjKage
n00b
n00b


Joined: 17 Nov 2018
Posts: 2

PostPosted: Sun Nov 18, 2018 5:02 am    Post subject: Multi Monitor Setup with NVIDIA Reply with quote

I was working on getting a triple monitor setup working the with x11-drivers/nvidia-drivers, but it was not detecting the proper resolution for two of the monitors. I was able to get it working with a bit of hackery, so I wanted to post the details here in case some one else runs into a similar situation.

The problem stemmed from the fact that my graphics card (GTX 970) has an HDMI output, DisplayPort, and two DVI ports. The issue is that only two of these can be in use at once. I just got 3 monitors that I use for work with my work laptop, but they only have a single DP port, so no daisy chaining. My solution was to get a DP splitter. One DisplayPort becomes 4 HDMI ports. The problem seemed to be that, despite spending about $100 on it, the splitter did not work entirely properly, in that it was not passing through the information about the displays (more on this later).

The setup that I was working with was the HDMI connected to the middle display, and two display port passed through to HDMI connected to the left and right monitors. Now that X is working properly and the displays are functioning, I plan on switching the middle monitor to the DP passthrough, and moving the HDMI to a fourth monitor above the main one (this will have stats and logs up when the other three are switched to the work laptop). Thankfully, this initial setup helped me troubleshoot the issue and find a solution.

The core of the issue seems to be that the EDID https://en.wikipedia.org/wiki/Extended_Display_Identification_Data (the "display info" I mentioned earlier) for the passed-through monitors was not available, so X was not able to detect the available settings. The middle monitor, coming over HDMI, did have this available, so I was able to query it with

Code:
xranrd -q --verbose
'

This gives, among many other things, the following EDID information
Code:
   EDID:
      00ffffffffffff0010acf44053315630
      1e1c010380331d78eaebf5a656519c26
      105054a54b00714f8180a9c0d1c00101
      010101010101023a801871382d40582c
      4500fd1e1100001e000000ff0033474a
      3231383750305631530a000000fc0044
      454c4c205032333137480a20000000fd
      00384c1e5311000a20202020202001b6
      020317b14c9005040302071601141f12
      1365030c001000023a801871382d4058
      2c4500fd1e1100001e011d8018711c16
      20582c2500fd1e1100009e011d007251
      d01e206e285500fd1e1100001e8c0ad0
      8a20e02d10103e9600fd1e1100001800
      00000000000000000000000000000000
      000000000000000000000000000000ed


This make things a little easier, since now I could decode this information, and recreate it for the other two displays. It would be possible to plug each display into HDMI port, restart the Xorg server, and then grab the EDID, but my computer is in a rack down two flights of stairs, so I didn't really want to keep running back and forth. Plus this was a fun experiment. If you're running into this issue, give that a try, as it may be easier.

Now that I had this EDID, I pulled up the Wikipedia page above to decode the information. All three monitors are the same model, so I expected the only thing in the EDID that needed to change was the serial number. After parsing out that information I saw the following serial

Code:
3GJ2187P0V1S


Looking at the back on my monitor, I saw a similar code

Code:
CN-03GJ21-QDC00-87P-0V1S-A06


So it looks like the EDID serial just strips out some of these characters, so all I needed to do was copy the main EDID to two other files, fire up the trusty hexeditor, and replace the serial number with the converted one from the back of the other two monitors.

After creating the new EDID files, I needed to tell Xorg about them, which is easy enough. Nvidia documents this here https://nvidia.custhelp.com/app/answers/detail/a_id/3571/~/managing-a-display-edid-on-linux.

So after adding the following lines to my xorg.conf, and restarting X I had all 3 monitors up and going as full resolution and their full refresh rate.

Code:

Section "Screen"
...
    Option      "CustomEDID" "GPU-0.DP-0.1:/home/ken/right_edid.bin"
    Option      "CustomEDID" "GPU-0.DP-0.2.1:/home/ken/left_edid.bin"
...
EndSection



Hope this is helpful, or at least interesting, to someone else out there.
Back to top
View user's profile Send private message
Hund
Apprentice
Apprentice


Joined: 18 Jul 2016
Posts: 218
Location: Sweden

PostPosted: Mon Nov 26, 2018 1:20 pm    Post subject: Reply with quote

Quote:
The problem stemmed from the fact that my graphics card (GTX 970) has an HDMI output, DisplayPort, and two DVI ports. The issue is that only two of these can be in use at once.


How come? Did something change i newer cards? I have a GTX780 with 1xHDMI, 2xDVI and 1xDP and I run a triple monitor setup via the HDMI- and DVI-ports and it's just plug and play for me. :)
_________________
Collect memories, not things.
Back to top
View user's profile Send private message
kenjKage
n00b
n00b


Joined: 17 Nov 2018
Posts: 2

PostPosted: Sun Dec 02, 2018 1:09 am    Post subject: Reply with quote

It must have changed. I tried this on a Windows install as well, and only two outputs could be used simultaneously there as well. IIRC the official reference design says the same.
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6095
Location: Dallas area

PostPosted: Sun Dec 02, 2018 11:38 am    Post subject: Reply with quote

Unless I'm mistaken, running 2 dvi monitors still counts as one output because of the way dvi is designed.

you can only have two distinct outputs from HDMI|DVI|DP
_________________
PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland
Back to top
View user's profile Send private message
Hund
Apprentice
Apprentice


Joined: 18 Jul 2016
Posts: 218
Location: Sweden

PostPosted: Sun Dec 02, 2018 11:04 pm    Post subject: Reply with quote

Anon-E-moose wrote:
Unless I'm mistaken, running 2 dvi monitors still counts as one output because of the way dvi is designed.

you can only have two distinct outputs from HDMI|DVI|DP


It works for me though. I have:

* HDMI-0
* DVI-I-1
* DVI-D-0
_________________
Collect memories, not things.
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6095
Location: Dallas area

PostPosted: Mon Dec 03, 2018 12:10 am    Post subject: Reply with quote

Hund wrote:
Anon-E-moose wrote:
Unless I'm mistaken, running 2 dvi monitors still counts as one output because of the way dvi is designed.

you can only have two distinct outputs from HDMI|DVI|DP


It works for me though. I have:

* HDMI-0
* DVI-I-1
* DVI-D-0


Yes, that's what I said. 2 outputs, 1 hdmi 1 dvi (dvi drives 2 monitors, but still counts as 1 output)
_________________
PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum