How do I get a 4k monitor on DisplayPort 1.2 to show as one screen?

I'm working on the same issue with a Panasonic TC-L65WT600, and while I haven't found a perfect solution, I came across this workaround that did somewhat work for me.

Add the line

Option "Xinerama" "1"

to your xorg.conf Section "ServerLayout".

This is counterintuitive, because in effect this breaks both Xinerama and RandR. The NVIDIA driver has its own implementation of Xinerama and RandR, and by enabling the regular Xinerama extension, it conflicts with NVIDIA's implementation, the effect being both are disabled.

I haven't tested this thoroughly to see if it breaks anything else, but it's worth a try as a temporary workaround...


  • So I guess you followed the user guide of the monitor on how to allow the 4K resolution. link Page 45-46:

    Setting Up the DP1.2 Display

    The default out of factory setting in the UP2414Q is DP1.1a. To enable 3840 x 2160 at 60 Hz, ensure the graphics card of the DP source is DP1.2 certified with MST feature, capable of supporting resolution up to 3840 x 2160 at 60 Hz, and its driver supports DisplayID v1.3, then change the DP setting to DP1.2 by performing the below steps: ...

    Read the rest in the manual

  • I looked up your GPU here. It says it supports DP1.2 MST. (If I got it right) So that shouldn't be either a problem.

  • I had no clue how this 4K works, so I looked for some more info for this topic. So it looks like it is the normal way for the monitor to show up as two displays, and you only have to enable horizontal spanning for the nvidia card. (To make the two displays a big virtual display.)

  • I looked up the nvidia driver's readme, chapter 12. Based on the info given there, and these lines in your Xorg.log:

    [   259.448] (II) NVIDIA(0): Virtual screen size determined to be 3840 x 2160
    [   263.248] (II) NVIDIA(0): Setting mode "DP-1.8:nvidia-auto-select+1920+0,DP-1.9:nvidia-auto-select+0+0" 
    

    I think that your driver is properly set up to mimic a joint virtual screen to the X-server.

  • Later in the log come these lines:

    [   264.017] (II) NVIDIA(0): Setting mode "DP-1.8: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}, DP-1.9: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}"
    [   264.055] (II) NVIDIA(0): Setting mode "DP-1.8: nvidia-auto-select @1920x2160 +0+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}, DP-1.9: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}"
    [   272.635] (II) XKB: reuse xkmfile /var/lib/xkb/server-75DD9E258FEFC19A572284D7C4A5BC6BFE771BAD.xkm
    [   336.272] (II) NVIDIA(0): Setting mode "DPY-6:nvidia-auto-select+1920+0,DPY-7:nvidia-auto-select+0+0"
    

    The first line sets a mode which is not the mode you want, because that will mirror the two screens because of the +1920+0 offset for both. (If I got these things right) But the next line immediately resets the mode to a correct one. And the last line of these, which comes a minute later than the others, I don't know what is that, from where the DPY-x screens got here.

    My only guess is that when the nvidia driver reports the correct virtual screen size it says:

    [   259.448] (II) NVIDIA(0):     "DP-1.8:nvidia-auto-select+1920+0,DP-1.9:nvidia-auto-select+0+0"
    

    whereas it the end (or at almost the end) the line reads:

    [   264.055] (II) NVIDIA(0): Setting mode "DP-1.8: nvidia-auto-select @1920x2160 +0+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}, DP-1.9: nvidia-auto-select @1920x2160 +1920+0 {ViewPortIn=1920x2160, ViewPortOut=1920x2160+0+0}"
    

    And that means that the offset is the opposite in these two lines. So in the former the DP-1.9 display is the first and the DP-1.8 is the second, but in the latter the order changes. Because you didn't provide a picture of the screen I can't know that your problem is that if you go out with the cursor on the right it comes back on the left. But I may try to set the metamode to the former one. So change this line:

       Option         "metamodes" "DP-1.8: nvidia-auto-select +1920+0, DP-1.9: nvidia-auto-select +0+0"
    

    to this one

       Option         "metamodes" "DP-1.8: nvidia-auto-select +0+0, DP-1.9: nvidia-auto-select +1920+0"
    

    Or try the MetaModeOrientation option with something like:

       Option "MetaModeOrientation" "DP-1.8 RightOf DP-1.9"
    

So this was my 2 cents into this problem. I hope it is not totally useless in your case.


I had the same issue, and almost found a fix.

Assume you are starting with SST, ie. DisplayPort 1.2 off in the monitor's OSD menu. xrandr -q shows you are in 30Hz mode, and you can't force it to 60Hz since SST does not support it.

Switch DP 1.2 to on in OSD. The screen is now in MST, but randr isn't - and you still can't force 60Hz. In terminal write xrandr --output DP-1 --off (replace DP-1 with the appropriate id). Screen will turn off briefly, and come back on. Now you are in MST, and checking xrandr -q will confirm you have 60Hz!

The issue is that you have a duplicate background, menu bar on only on half the screen instead of spanning the whole screen, Youtube and video overlay only maximize to half the screen.

This is apparently a shortcoming of randr. The above tips are from Aaron Plattner from nVidia, in response to my query on how to enable MST at 60Hz for 4K monitors in Linux.

The issue is not resolved, and he has contacted the randr community to find a solution. So if anyone in the know is reading this, please check the thread above for further information so we can get the ball rolling!