Ubuntu – How to get 4k @ 60Hz at 4:2:0 working in Ubuntu 16.04

4k-monitornvidia

Got another question,

I've been working on this for a few days now, and I cannot get it to work at all. 🙁

I know it works in Windows, but Linux is hanging me up.

Here are my specs:
nvidia GTX970,
Vizio M43-C1 4k TV

And if it matters:
Asus Z170a
Intel i5 Skylake

What I've tried:

-Setting it through nvidia panel
(Have 2 entries for 60Hz, one reports failed to set metamode and the other gives a black screen with no signal)

-Setting it through xrandr

xrandr --output HDMI-0 --mode 3840x2160 -r 59.94 --verbose (and)
xrandr --output HDMI-0 --mode 3840x2160 -r 60 --verbose

This reports at fail:

screen 0: 3840x2160 945x532 mm 103.13dpi
crtc 0:    3840x2160  59.94 +0+0 "HDMI-0"
xrandr: Configure crtc 0 failed
crtc 0: disable
crtc 1: disable
crtc 2: disable
crtc 3: disable
screen 0: revert
crtc 0: revert
crtc 1: revert
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  21 (RRSetCrtcConfig)
  Value in failed request:  0x0
  Serial number of failed request:  54
  Current serial number in output stream:  54

-Updated the drivers to latest beta (370.xx)

Any insight would be appreciated, thank you. For now I'm off to work!

Edit:
Some research here, I hope it can be helpful.

  1. Threads from nvidia linux dev forums:
    https://devtalk.nvidia.com/default/topic/939971/linux/4k-60hz-works-in-windows-not-in-linux-bounty-offered-for-fix-/1
    **Edit 3: Workaround may have been found for me in this thread.

    https://devtalk.nvidia.com/default/topic/950134/linux/4k-on-hdmi-2-0/
    This guy says resolved but I really cannot gather what he even did.

    https://devtalk.nvidia.com/default/topic/818079/linux/980gtx-no-support-for-4k-60hz-4-2-0-only-30hz-/post/4496595/#4496595
    And apparently this guy got it working with 349.12 drivers from over a year ago? What? This one was a real gut punch.

  2. Some info from my system that makes me want to pull my hair out:
    From /var/log/Xorg.0.log:

    [ 8026.035] (–) NVIDIA(GPU-0): VIZ M43-C1 (DFP-1): connected
    [ 8026.035] (–) NVIDIA(GPU-0): VIZ M43-C1 (DFP-1): Internal TMDS
    [ 8026.035] (–) NVIDIA(GPU-0): VIZ M43-C1 (DFP-1): 600.0 MHz maximum pixel clock

    So 600MHz max? Okay…

    xrandr --verbose
    
    
    3840x2160 (0x1c6) 593.410MHz +HSync +VSync
    h: width  3840 start 4016 end 4104 total 4400 skew    0 clock 134.87KHz
    v: height 2160 start 2168 end 2178 total 2250           clock  59.94Hz
    

    I may be missing something fundamental here, I'm not sure. Seems to check out to me (600MHz vs 593.410MHz,) am I wrong?

  3. As per my TV's specs, HDMI port 5 can support up to 1080p at 120Hz and 4k at 60Hz.

    xrandr --output HDMI-0 --mode 1920x1080 -r 119.88
    

    This works fine, and I achieve 120Hz on 1080p.
    120Hz on 1080p results in horizontal lines flashing across the screen intermittently.

For now I think it's time for bed.

Edit 2:
Still no luck here, but some new luck came my way- My EVGA step-up to 1070 finally started. Will report back on changes (if any) after installing.

Edit 3:
It would appear that I may be incredibly lucky. While others with a similar issue have been waiting for months, I have the timing to step in and only wait a few weeks. I'll have to wait for my new card to come in to test it, but it looks promising. nVidia has acknowledged it as a bug in the drivers and provided a EDID from another TV in the meantime to override with that appears to make 60Hz on 4k work at the cost of losing 120Hz on 1080p. I can't wait to test this!

Best Answer

I was having a similar problem with an LG 4k TV, but it turns out that I had to enable the option "HDMI ULTRA HD Deep Colour" on the tv to make it work.