HDMI output 4K60fps

Hi everyone,
Now I try to test HEVC 4K60fps on Jetson TX2. My gstreamer pipeline

gst-launch-1.0 filesrc location=test.mp4 ! queue ! qtdemux name=demux demux.video_0 ! queue ! h264parse ! omxh264dec ! nvoverlaysink sync=false -e

On the console, it shows

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
NvMMLiteOpen : Block : BlockType = 279
TVMR: NvMMLiteTVMRDecBlockOpen: 7907: NvMMLiteBlockOpen
NvMMLiteBlockCreate : Block : BlockType = 279
TVMR: cbBeginSequence: 1223: BeginSequence  3840x2160, bVPR = 0
TVMR: LowCorner Frequency = 345000
TVMR: cbBeginSequence: 1622: DecodeBuffers = 6, pnvsi->eCodec = 10, codec = 9
TVMR: cbBeginSequence: 1693: Display Resolution : (3840x2160)
TVMR: cbBeginSequence: 1694: Display Aspect Ratio : (3840x2160)
TVMR: cbBeginSequence: 1762: ColorFormat : 5
TVMR: cbBeginSequence:1776 ColorSpace = NvColorSpace_YCbCr601
TVMR: cbBeginSequence: 1904: SurfaceLayout = 3
TVMR: cbBeginSequence: 2005: NumOfSurfaces = 13, InteraceStream = 0, InterlaceEnabled = 0, bSecure = 0, MVC = 0 Semiplanar = 1, bReinit = 1, BitDepthForSurface = 8 LumaBitDepth = 8, ChromaBitDepth = 8, ChromaFormat = 5
TVMR: cbBeginSequence: 2007: BeginSequence  ColorPrimaries = 2, TransferCharacteristics = 2, MatrixCoefficients = 5
Allocating new output: 3840x2160 (x 13), ThumbnailMode = 0
OPENMAX: HandleNewStreamFormat: 3464: Send OMX_EventPortSettingsChanged : nFrameWidth = 3840, nFrameHeight = 2160
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
TVMR: FrameRate = 60
TVMR: NVDEC LowCorner Freq = (576000 * 1024)
TVMR: FrameRate = 60.000240
TVMR: FrameRate = 60.000240
TVMR: FrameRate = 60.000240
TVMR: FrameRate = 60.000240
TVMR: FrameRate = 60.000240
...

However, the output on display is slow; not 60fps.
How can I change the HDMI ouput to run with 4k@60fps?

Thank so much.

Quang_OpenStack,

Could you dump the value of below node?

sudo -s
cat /sys/class/graphcis/fb0/mode

Dear WayneWWW,
There is error "cat: /sys/class/graphcis/fb0/mode: No such file or directory "when do

sudo -s
cat /sys/class/graphcis/fb0/mode

However, I got this messge when do “sudo cat /sys/class/graphics/fb0/modes”

D:3840x2160p-30
D:1920x1080p-60
U:720x400p-70
V:640x480p-60
U:640x480p-67
V:640x480p-72
V:640x480p-75
V:800x600p-60
V:800x600p-72
V:800x600p-75
U:832x624p-75
V:1024x768p-60
V:1024x768p-70
V:1024x768p-75
V:1280x1024p-75
V:1152x864p-75
S:1280x720p-60
S:1280x800p-60
S:1280x1024p-60
S:1440x900p-60
S:1600x900p-60
S:1680x1050p-60
D:1920x1080i-50
D:1366x768p-59
U:3840x2160p-30
U:1920x1080p-60
U:1920x1080p-50
U:1280x720p-60
U:1280x720p-50
U:1920x1080i-60
U:1920x1080i-50
U:1920x1080p-24
U:1920x1080p-25
U:1920x1080p-30
U:3840x2160p-24
U:3840x2160p-25
U:4096x2160p-24
U:4096x2160p-25
U:4096x2160p-30
U:1440x480i-59
U:1440x576i-50
U:720x480p-59
U:720x576p-50
U:3840x2160p-30
U:3840x2160p-25
U:3840x2160p-24
U:4096x2160p-24
U:3840x2160p-50
U:3840x2160p-60
U:4096x2160p-50
U:4096x2160p-60
U:3840x2160p-30
U:1920x1080p-60
U:1280x720p-60
U:1920x1080p-24
U:1920x1080p-30
U:3840x2160p-24
U:4096x2160p-24
U:4096x2160p-30
U:3840x2160p-30
U:3840x2160p-24
U:4096x2160p-24
U:3840x2160p-60
U:4096x2160p-60

It seems that I need to add 3840x2160@60fps to the HDMI output?
Because when I do “DISPLAY=:0 xrandr” it shows that HDMI output does not support 3840x2160@60fps yet.

Screen 0: minimum 8 x 8, current 3840 x 2160, maximum 32767 x 32767
HDMI-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 1210mm x 680mm
   4096x2160     30.00 +  29.97    25.00    24.00    23.98
   3840x2160     30.00*   29.97    25.00    24.00    23.98
   1920x1080     60.00    59.95    50.00    30.00    29.97    25.00    24.00    23.98
   1680x1050     59.96
   1600x900      60.00
   1440x900      59.89
   1366x768      59.79
   1280x1024     75.03    60.00
   1280x800      59.81
   1280x720      60.00    59.94    50.00
   1152x864      75.00
   1024x768      75.03    70.07    60.01
   832x624       75.05
   800x600       75.00    72.19    60.32
   720x576       50.00
   720x480       59.94
   720x400       70.04
   640x480       75.00    72.81    67.06    59.94

Do you have any suggestion for me because I try to use xrandr to modify output rate but it does not work with nvidia driver?

Quang_OpenStack,

If xrandr does not show 4k@60 mode in list, it means tegra dc driver does not support it and filter it out. Or just your display does not support 4k@60 at all.

Dear WayneWWW,
I am sure that my display support 4K@60fps, it can run well with other 4K@60fps source.
Is there anyway to make TX2 dekit’s HDMI output change to 4K@60fps?
I try to add 4K@60fps mode with xrandr as following but it does not work

http://ubuntuhandbook.org/index.php/2017/04/custom-screen-resolution-ubuntu-desktop/

Thank

Tegra x11 driver does not accept user to add arbitrary mode. It only accepts valid mode from edid.

Please share your display EDID. Some debug method is in this wiki: https://elinux.org/Jetson_TX2/r28_Display_debug

Dear WayneWWW,
My EDID come out when do “cat /sys/kernel/debug/tegradc.0/edid”

00 ff ff ff ff ff ff 00 1e 6d 01 00 01 01 01 01
 01 1b 01 03 80 a0 5a 78 0a ee 91 a3 54 4c 99 26
 0f 50 54 a1 08 00 31 40 45 40 61 40 71 40 81 80
 01 01 01 01 01 01 08 e8 00 30 f2 70 5a 80 b0 58
 8a 00 40 84 63 00 00 1e 02 3a 80 18 71 38 2d 40
 58 2c 45 00 40 84 63 00 00 1e 00 00 00 fd 00 3a
 79 1e 88 3c 00 0a 20 20 20 20 20 20 00 00 00 fc
 00 4c 47 20 54 56 0a 20 20 20 20 20 20 20 01 63
 02 03 57 f1 56 5d 10 1f 04 13 05 14 03 02 12 20
 21 22 15 01 5e 5f 62 63 64 3f 40 2c 09 57 07 15
 07 50 55 07 01 3d 06 c0 6e 03 0c 00 10 00 b8 3c
 20 00 80 01 02 03 04 e2 00 cf e3 05 c0 00 e3 06
 0d 01 e5 0e 60 61 65 66 ee 01 46 d0 00 26 0a 09
 00 ad 52 40 ad 23 0d 66 21 50 b0 51 00 1b 30 40
 70 36 00 40 84 63 00 00 1e 00 00 00 00 00 00 00
 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ab

Could you also add below option in /etc/X11/xorg.conf? more log will be shown in /var/log/Xorg.0.log
Option “ModeDebug”

Please also share this log.

I add Option “ModeDebug” into /etc/X11/xorg.conf as your recommendation.
The attached files is log.
Xorg.0.log (162 KB)

It is weird. I see your monitor has 3 3840x2160_60. 2 modes are YUV mode and thus rejected by tegra. However, the remaining one should be listed in xrandr. Could you share what LG tv you are using?

[    16.920] (II) NVIDIA(GPU-0):   Validating Mode "3840x2160_60":
[    16.920] (II) NVIDIA(GPU-0):     Mode Sources: NVIDIA Predefined, EDID, CEA, Detailed
[    16.920] (II) NVIDIA(GPU-0):     3840 x 2160 @ 60 Hz
[    16.920] (II) NVIDIA(GPU-0):       Pixel Clock      : 594.18 MHz
[    16.920] (II) NVIDIA(GPU-0):       HRes, HSyncStart : 3840, 4016
[    16.920] (II) NVIDIA(GPU-0):       HSyncEnd, HTotal : 4104, 4400
[    16.920] (II) NVIDIA(GPU-0):       VRes, VSyncStart : 2160, 2168
[    16.920] (II) NVIDIA(GPU-0):       VSyncEnd, VTotal : 2178, 2250
[    16.920] (II) NVIDIA(GPU-0):       H/V Polarity     : +/+
[    16.920] (II) NVIDIA(GPU-0):     Mode "3840x2160_60" is valid.

Dear WayneWWW,
I test with [LG] webOS TV OLED 355B7K and [Samsung] QN55Q7FAM. The same problem happens.
When you check more on log file I find that

[    18.720] (WW) NVIDIA(GPU-0):   Validating Mode "3840x2160_60":
[    18.720] (WW) NVIDIA(GPU-0):     Mode Sources: NVIDIA Predefined, EDID, CEA
[    18.720] (WW) NVIDIA(GPU-0):     3840 x 2160 @ 60 Hz
[    18.720] (WW) NVIDIA(GPU-0):       Pixel Clock      : 593.82 MHz
[    18.720] (WW) NVIDIA(GPU-0):       HRes, HSyncStart : 3840, 4016
[    18.720] (WW) NVIDIA(GPU-0):       HSyncEnd, HTotal : 4104, 4400
[    18.720] (WW) NVIDIA(GPU-0):       VRes, VSyncStart : 2160, 2168
[    18.720] (WW) NVIDIA(GPU-0):       VSyncEnd, VTotal : 2178, 2250
[    18.720] (WW) NVIDIA(GPU-0):       H/V Polarity     : +/+
[    18.720] (WW) NVIDIA(GPU-0):     Mode is rejected: YUV mode is unsupported. Unable to
[    18.720] (WW) NVIDIA(GPU-0):     construct hardware-specific mode timings
[    18.720] (WW) NVIDIA(GPU-0):     Mode "3840x2160_60" is invalid.

It is weird.
Also, I only can connect HDMI cable with LG TV after finish booting; if not TX2 cannot finish booting.
Thank

Quang_OpenStack,

According to your statement, it is more like an old issue we hit in previous release(rel-28.1). Please follow L4T document in below link. (If you are using rel-28.1)

https://developer.nvidia.com/embedded/dlc/l4t-documentation-28-2-ga

Kernel Customization -> Display Configuration and Bringup -> Hard-coding Kernel Display Boot Mode for HDMI

Dear WayneWWW,
I make new thread related to HDMI output

https://devtalk.nvidia.com/default/topic/1035291/jetson-tx2/hdmi-output/

Thank