Can't enable 60hz with display (Dell UP2414Q)

I just bought a 4K monitor, Dell’s UP2414Q. The 182ppi screen covering 99% of AdobeRGB looks absolutely stunning. But I’m having some trouble getting it to work at its peak and consistently.

First of all, how do I enable 60hz? The monitor can reach that with DisplayPort 1.2.

The monitor/GPU defaults to 30hz via DisplayPort in both SST, and MST when enabling DP 1.2 from screen OSD menu. HDMI can’t do 60hz at 4K, so haven’t tried. nVidia control panel doesn’t have any place to change refresh rate, and neither does Display under Settings.

I checked xrandr output, and it gives the following with DP 1.2 disabled (I didn’t paste lower resolutions):

DP-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
   3840x2160      30.0*+   30.3

This shows the correct 4K resolution, but “30.0*+” as the available refresh rate. This is as expected, since the display shouldn’t be able to do 60hz without 1.2 enabled.

When I enable DP 1.2 from the monitor’s OSD, I get the following output:

DP-1 disconnected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
  3840x2160 (0x284)  262.8MHz
        h: width  3840 start 3888 end 3920 total 4000 skew    0 clock   65.7KHz
        v: height 2160 start 2163 end 2168 total 2191           clock   30.0Hz

This is quite different output, and I’m not sure how to read it. But it also says 30Hz, not 60Hz - and the monitor should be able to do 60Hz at this setup.

When I try to force 60Hz with xrandr --output DP-1 --rate 60.0, I get:

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  21 (RRSetCrtcConfig)
  Serial number of failed request:  40
  Current serial number in output stream:  40

Secondly, when I turn on my projector fed by HDMI port, both screens go blank if the monitor is set to MST/DP1.2. If the monitor is in SST mode (i.e. DisplayPort 1.2 is disabled), both the monitor and projector work fine in Twinview. Any idea how to tackle this?

Running Linux Mint Petra with Nemo, nVidia GTX 760. Tried with two drivers: nvidia-139 Version 319.32-0ubuntu7 “recommended”, and nvidia-319-updates Version 319.60-0ubuntu1.

A bit more digging around, below extract from my xorg.conf file. This shows the VertRefresh is set to 29-75 Hz, so that file shouldn’t be the source of the issue.

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL UP2414Q"
    HorizSync       31.0 - 140.0
    VertRefresh     29.0 - 75.0
    Option         "DPMS"
EndSection

You have to drive the monitor in MST mode to get 60 Hz. The problem you described in your second code block happens when you unplug an SST monitor and plug in an MST monitor: the port can’t transition from SST mode to MST mode until you explicitly turn it off first. So when you change the monitor’s OSD menu to turn on MST mode, you (or some X client like gnome-settings-daemon) needs to explicitly turn off DP-1. E.g., run “xrandr --output DP-1 --off”. The 4k @ 30 Hz mode xrandr spits out there is the old SST mode.

Once the port has transitioned to MST mode, you should see two new outputs named DP-1.1 and DP-1.8 appear, representing the left and right tiles of the monitor. You should be able to drive each of them at 1920x2160 @ 60 Hz to get a combined 3840x2160 @ 60 Hz.

I switched DP 1.2 on in OSD, and entered xrandr --output DP-1 --off. Monitor turned off as expected, and went right back on with two screens in one - as I guess is expected with MST.

This is the new output with xrandr -q (relevant section only):

DP-1.8 connected primary 1920x2160+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
   1920x2160      60.0*+
DP-1.9 connected 1920x2160+1920+0 (normal left inverted right x axis y axis) 527mm x 296mm
   1920x2160      60.0*+

Showing 60Hz!

Now the issue is that I have two screen next to each other, and not one screen. For example, the program bar at the bottom is only on one screen, background image is duplicated, and youtube fullscreen view and video overlay maximizes to only on one half of the screen. Application windows span “both” screens and mouse works around the entire screen just fine, though.

I’m sure there is an easy way to fix this, but I’m not that familiar with xrandr or Linux nVidia control panel’s X Server settings, so any help would be welcome.

We’re almost there!

Tiled displays are a problem for RandR. I started a thread with the X.Org community about how we want to deal with them. Due to how the RandR protocol is designed, it’s impossible to cleanly represent these things in a way that won’t confuse at least some applications.

[url]'How do we want to deal with 4k tiled displays?' - MARC

Ok, thanks for the follow-up, Aaron! I’m just a Linux newbie, so unfortunately can’t help here. I posted the thread on Ubuntu and Mint forums, hopefully someone who’s more familiar with randr can pitch in!

You must joking. Aaron is a leading NVIDIA Unix drivers developer, he surely knows XRandr and X.org better than anyone on the aforementioned forums :-D unless of course Keith Packard or someone from the X.org team is present there (which I highly doubt since open source developers tend to avoid user forums).

It is painfully obvious from my post I was referring to myself with the quip about lack of knowledge in randr…

I’m running the same monitor(up2414q) on the integrated gpu of my Intel i5 4670 with a very similar issue. In both MST and SST modes I’m only able to get up to 30hz. When I disable the screen in MST mode via xrandr it never comes back as you guys mentioned it would. In the screen’s off state if I type xrandr --auto it comes back but it’s still under its 30hz limitation. Apparently Intel doesn’t have a driver for MST yet, which I think is the issue I’m having. Here’s a (very brief)thread on their linux gpu drivers forum in regards to support:
https://01.org/linuxgraphics/node/160

If I were to pick up an nVidia card would I be able to get up to 60hz? I don’t think I’ll be bothered by tiling discrepancies with X, as I’m already using a tiling WM. I’d just like to be sure that if I do pick up a dedicated video card that I will be able to drive 60hz 3840x2160 on linux.

Thanks!

Yes, you most likely would, but with severe limitations as outlined in this thread - these are enough to render 60Hz unusable for me on nVidia cards with current drivers, and I would imagine almost everyone. I have only experience with Linux Mint.

Going to need to set the display in MST mode before you start X but here is me using the 30 inch model which works with various scaling modes GPU, monitor (MST), Monitor (sst) without issues.

I was using an older X windows without xrandr 1.2 support. Unfortunately you will need to enable xinerama to disable xrandr completely to get around programs that use xrandr and still see it as two monitors which is an issue until nvidia works around this (and just sends single display info via xrandr:

This change is needed under device and DFP-4.9 and 4.8 are what my two halves happen to be on my video card. Yours may be different.

Option     "TwinView"
   Option     "NoTwinViewXineramaInfo" "1"
  Option        "metamodes" "DFP-4.9: 1920x2160 { ViewPortIn=1920x2160 },   DFP-4.8: 1920x2160 { ViewPortIn=1920x2160 }; DFP-4.9: 1920x2160 { ViewPortIn=1280x1440 },   DFP-4.8: 1920x2160 { ViewPortIn=1280x1440 }; DFP-4.9: 1920x2160 { ViewPortIn=960x1080 },    DFP-4.8: 1920x2160 { ViewPortIn=960x1080}; DFP-4.9: 1280x1440 { ViewPortIn=1280x1440 },   DFP-4.8: 1280x1440 { ViewPortIn=1280x1440 }; DFP-4.9: 960x1080 { ViewPortIn=960x1080 },     DFP-4.8: 960x1080 { ViewPortIn=960x1080}; DFP-4.9: 2560x1440 { ViewPortIn=2560x1440 },   NULL; DFP-4.9: 1920x1080 { ViewPortIn=1920x1080 },   NULL; DFP-4.9: 1920x1080_120 { ViewPortIn=1920x1080 }, NULL"
Option      "ConnectedMonitor" "DFP-4.9, DFP-4.8"
Option     "TwinViewOrientation"      "LeftOf"

These metamodes contain modes for 4k@60Hz, 2560x1440 @60Hz (via GPU, MST and SST monitor scaling) and 1920x1080@60Hz (via GPU, MST, and SST scaling).

If multiple monitors are being used instead of no twinview xinerama info you should instead use xineramainfooverride. Here is an example with a dual DVI (like MST) 4k display, a HDMI 4k display and a dell 30 inch 2560x1600 display:

Option     "metamodes" "DFP-3: 1920x2400 +0+0, DFP-2: 1920x2400 +1920+0, DFP-1: 3840x2160_30 +3840+0,  DFP-0: 2560x1600 +7680+280; DFP-3: 1920x2400 +0+0, DFP-2: 1920x2400 +1920+0, DFP-1: 1920x1080 +3840+0,  DFP-0: 2560x1600 +7680+280"
Option     "TwinViewXineramaInfoOverride" "3840x2400+0+0, 3840x2160+3840+0, 2560x1600+7680+280"

If you are using multiple monitors you will need to use

Under “ServerLayout” to work around xrandr 1.2 issue. Again my X is pre xrandr 1.2 so I did not have these issues:

Option "Xinerama" "1"

So, I’m running into this problem as well.

I followed houkouonchi’s advice and added the entries he mentions to my Xorg config files. Here’s the thing: when I run X with startx, I get a single 4K workspace at 60hz. But when I actually start my computer, GDM continues to split my desktop in half even though XRANDR recognizes the single 4K@60hz workspace as being a valid resolution.

Any thoughts on what might be happening?

Just wanted to update everyone on how I got this to work. The solution above is mostly correct, it was just a little hard to understand. Since this is the top post when searching for how to get MST 4K monitors to work under linux, I’ll write a beginner’s friendly version.

In your Xorg config file (either /etc/x11/xorg.conf or wherever your distro wants you to place x11 conf files):

  1. Enable TwinView with the two halves of the monitor (i.e. the two monitors that show up as part of the displayport adapter). Literally just pretend they’re two separate monitors and follow the instructions you find online for doing that. Make sure one monitor is positioned left of the other one. Restart.

It might seem like it hasn’t worked. This is because programs are still receiving info about the two screens. Gnome will still use half the screen and windows will maximize to only half. But running X11 by running ‘startx’ will show the monitor as if it’s working correctly. Clearly, we just have to stop the system from revealing that we really have two monitors.
The logical option might seem like setting:

Option     "NoTwinViewXineramaInfo" "1"

in your xorg.conf.

Problem is, this doesn’t work if you actually have an up to date system. Mainly, because xrandr still knows you have two monitors. So you actually have to spoof this to get xrandr to shut up.

Option     "TwinViewXineramaInfoOverride" "3840x2400+0+0

With this, you’ll actually get a single coherent 4K image on your MST monitor at 60hz over displayport.

Used houkouonchi’s suggestions, here is a working xorg.conf for PN-K321 4K monitor and GTX 780 Ti on Ubuntu 14.10 with nvidia-340 driver using DisplayPort and the MST setting:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "1"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Sharp PN-K321"
    HorizSync       24.0 - 140.0
    VertRefresh     20.0 - 77.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 780 Ti"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "metamodes" "DFP-4.8: 1920x2160 { ViewPortIn=1920x2160 },   DFP-4.1.8: 1920x2160 { ViewPortIn=1920x2160 }; DFP-4.8: 1920x2160 { ViewPortIn=1280x1440 },   DFP-4.1.8: 1920x2160 { ViewPortIn=1280x1440 }; DFP-4.8: 1920x2160 { ViewPortIn=960x1080 },    DFP-4.1.8: 1920x2160 { ViewPortIn=960x1080}; DFP-4.8: 1280x1440 { ViewPortIn=1280x1440 },   DFP-4.1.8: 1280x1440 { ViewPortIn=1280x1440 }; DFP-4.8: 960x1080 { ViewPortIn=960x1080 },     DFP-4.1.8: 960x1080 { ViewPortIn=960x1080}; DFP-4.8: 2560x1440 { ViewPortIn=2560x1440 },   NULL; DFP-4.8: 1920x1080 { ViewPortIn=1920x1080 },   NULL; DFP-4.8: 1920x1080_120 { ViewPortIn=1920x1080 }, NULL"
    Option         "MultiGPU" "Off"
    Option         "SLI" "off"
    Option         "BaseMosaic" "on"
    Option     "TwinView"
    Option     "NoTwinViewXineramaInfo" "1"
    Option     "ConnectedMonitor" "DFP-4.8, DFP-4.1.8"
    Option     "TwinViewOrientation"      "RightOf"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Hey guys.
I didn’t manage Xinerama to work for me (I’ve got integrated Intel card), so for those like me I made a dirty hack:

What it does is it simply hooks one single call to the RandR library and fools clients into thinking they have a single CRTC with 4k width.
Yeah, it’s dirty and we need a genric solution but it works.
If you encounter any issues - feel free to contact me.

kislotniq, you may be interested in some of the work Keith Packard and Dave Airlie have been doing on this. They’ve added a new Monitor object to RandR which it uses to decide how to lay out the Xinerama info. This won’t fix existing applications that look at RandR Output objects, but hopefully the important ones (i.e. desktop environments) can be updated to look at Monitors instead soon.

I’ll need to do some work in the NVIDIA driver for it to support this stuff once it’s solidified a bit more at X.Org, but I’m keeping an eye on it.
MST-monitors

Thanks for the update and keeping on it, Aaron. I recently upgraded to Mint 17.1, which has a much-improved support for UHD screen resolutions. But I still can’t get 60Hz to work properly, and am really hoping this gets sorted out!

I’m using an UP2414Q and a GTX660.

After an upgrade of several packages in my Debian Jessie, the two 1920x2160 parts of my desktop image are reversed at a certain point in loading KDE. That is, at the KDM login screen the two panels are in correct order, but while loading KDE they are inverted, before the loading ends. Here’s the Screen Section of my xorg.conf:

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "on"
    Option         "NoTwinViewXineramaInfo" "1"
    Option         "TwinViewXineramaInfoOverride" "3840x2160+0+0"
    Option         "TwinViewXineramaInfoOrder" "DFP-4.8"
    Option         "metamodes" "DFP-4.9: 1920x2160 { ViewPortIn=1920x2160 },   DFP-4.8: 1920x2160 { ViewPortIn=1920x2160 }; DFP-4.9: 1920x2160 { ViewPortIn=1280x1440 },   DFP-4.8: 1920x2160 { ViewPortIn=1280x1440 }; DFP-4.9: 1920x2160 { ViewPortIn=960x1080 },    DFP-4.8: 1920x2160 { ViewPortIn=960x1080}; DFP-4.9: 1920x1080 { ViewPortIn=1920x1080 },   NULL"
    Option         "MultiGPU" "Off"
    Option         "SLI" "Off"
    Option         "BaseMosaic" "on"
    Option         "ConnectedMonitor" "DFP-4.8, DFP-4.9"
    Option         "TwinViewOrientation" "LeftOf"
    Subsection "Display"
       Depth 24
    EndSubsection
EndSection

Is it a problem with the KDE upgrade or am I doing something wrong?
EDIT: for some unknown reason this configuration is now working, after nvidia-settings has written an alternative working configuration, which differs slightly from this one. I don’t have the time to analyze what happened. Please ignore this post and accept my apologies.
P.S. there was also an immaterial typo in the code above.

Hi kislotniq,

FYI, I’ve continued working on the hackbrary you wrote :)

Here is my project:

Thanks for the information in this thread, I’ve successfully set up my Dell UP2414Q (DP1.2, 3840x2160) with Linux Mint18. However, when I try to configure a dual head setup with the second monitor, I experience difficulty. My graphic card is Nvidia GTX 770. Basically, I would like the Dell UP2414Q to be on the left, and another LG monitor (1920x1080native, 60Hz, HDMI) on the right. The LG monitor always black. Could someone post the full xorg.conf with two monitor setup? Thanks in advance!