Red noise during HDMI/DP video output

We are using Custom Board with JetsonXavier Production CPU Module.
Jetpack version is 4.4.1 [L4T 32.4.4].
We have not changed from the evaluation board about HDMI/DP related driver.

With the following command, when simultaneously outputting video to HDMI/DP via nvoverlaysink, a red noise error occurs on the entire DP screen.

# gst-launch-1.0 videotestsrc ! video/x-raw,width=1280,height=720 ! queue ! nvoverlaysink display-id=0

# gst-launch-1.0 videotestsrc ! video/x-raw,width=1280,height=720 ! queue ! nvoverlaysink display-id=1


Is there any workaround ?

Or is there an alternative video play command that can be executed from the CUI, regardless of the GUI state?

Could you check below node before and after you see the red screen?

sudo cat /sys/kernel/debug/tegradc.0/stats
sudo cat /sys/kernel/debug/tegradc.1/stats

WayneWWW, Thank you for your reply.

[before]

# cat /sys/kernel/debug/tegradc.0/stats
underflows: 0
underflow_frames: 0
# cat /sys/kernel/debug/tegradc.1/stats
underflows: 0
underflow_frames: 0

[after]

# cat /sys/kernel/debug/tegradc.0/stats
underflows: 0
underflow_frames: 0
# cat /sys/kernel/debug/tegradc.1/stats
underflows: 223
underflow_frames: 408

What is the resolution running on your DP monitor?

Also, do you disable the desktop before you run the overlay sink?

What is the resolution running on your DP monitor?

2560x1440, both HDMI and DP.

# fbset
mode "2560x1440-60"
    # D: 241.546 MHz, H: 88.804 kHz, V: 59.962 Hz
    geometry 2560 1440 2560 1440 32
    timings 4140 80 48 33 3 32 5
    hsync high
    nonstd 1
    accel true
    rgba 8/16,8/8,8/0,8/24
endmode

Also, do you disable the desktop before you run the overlay sink?

Disabling desktop by following command and play after that, red problem was dissapeared.
Thank you for your suggestion.

# systemctl stop gdm
# loginctl terminate-seat seat0
# pkill -9 X
# echo 0 > /sys/class/graphics/fb0/blank
# echo 0 > /sys/class/graphics/fb1/blank

BTW, In JetsonNano environment, there was no problem even if enabling the desktop.
Is there any difference between JetsonNano and XavierNX about overlay?
Is there any workaround in XavierNX without disable the desktop?

It is not a problem between nano and nx overlay. Please just take these two as different product because SoC are different. The kernel side display drivers are different.

Actually, I haven’t seen underflow issue for quite long time. Thus, have some questions to ask

  1. Why do you mention “fbset”, will it be any difference if you use xrandr to change mode?

  2. Will you see such issue if it is single DP or single HDMI case?

  3. Will you see such issue if you use other display modes?

Why do you mention “fbset”, will it be any difference if you use xrandr to change mode?

Because xrandr cannot execute from tty/ssh console.

# export DISPLAY=:0
# xrandr
No protocol specified
Can't open display :0

Executing from GUI,
It seems no difference with fbset.

$ xrandr
Screen 0: minimum 8 x 8, current 5120 x 1440, maximum 32767 x 32767
HDMI-0 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 600mm x 340mm
   2560x1440     59.96*+
   2560x1080     60.01    59.95    50.00    30.00    29.97    25.00    24.00    23.98
   2048x1152     60.01
   1920x1440     60.01
   1920x1200     59.89
   1920x1080     60.00    59.95    50.00    30.00    29.97    25.00    24.00    23.98
   1680x1050     59.96
   1440x900      59.89
   1440x576      50.00
   1440x480      59.94
   1280x1024     75.03    60.00
   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    56.25
   720x576       50.00
   720x480       59.94
   720x400       70.04
   640x480       75.00    72.81    67.06    59.94    59.94
DP-0 connected 2560x1440+2560+0 (normal left inverted right x axis y axis) 600mm x 340mm
   2560x1440     59.96*+
   2560x1080     60.01    59.95    50.00    30.00    29.97    25.00    24.00    23.98
   2048x1152     60.01
   1920x1440     60.01
   1920x1200     59.89
   1920x1080     60.00    59.95    50.00    30.00    29.97    25.00    24.00    23.98
   1680x1050     59.96
   1440x900      59.89
   1440x576      50.00
   1440x480      59.94
   1280x1024     75.03    60.00
   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    56.25
   720x576       50.00
   720x480       59.94
   720x400       70.04
   640x480       75.00    72.81    67.06    59.94    59.94

Will you see such issue if it is single DP or single HDMI case?

No, the red noise happens only play HDMI and DP simurately.

Will you see such issue if you use other display modes?

I changed display modes from Ubuntu GUI[All Settings/Displays].
Desktop environment was enable.

1920x1080 could see same red noise like 2560x1440.
1280x720 was no problem.

Ok, we will check this issue.

export DISPLAY=:0
xrandr
No protocol specified
Can’t open display :0

BTW, you can check :1.

I could run xrandr from tty by normal user.

$ export DISPLAY=:0
$ xrandr
Screen 0: minimum 8 x 8, current 5120 x 1440, maximum 32767 x 32767
HDMI-0 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 
600mm x 340mm
...

But, it couldn’t by root user.

$ sudo su -
[sudo] password for user:
No protocol specified
No protocol specified
No protocol specified
No protocol specified
XCB failed to connect to the X server due to error:1.

# export DISPLAY=:0
# xrandr
No protocol specified
Can't open display :0

This is actually not a jetson specific problem. X cannot run for root user even on other ubuntu platform too.

I was definitely wrong about how to run xrandr.

By the way, the main topic of this page should be Red noise.

Is there any way to out video to HDMI/DP simultaneously without disabling GUI?

You can add this in xorg.conf

Section “Device”
Identifier “Tegra0”
Driver “nvidia”
Option “AllowEmptyInitialConfiguration” “true”
Option “TegraReserveDisplayBandwidth” "false"
EndSection

Thank you for your suggestion.

After adding TerraReserveDisplayBandwidth “false” to /etc/X11/xorg.conf,
I output video to HDMI/DP simultaneously and confirmed that there is no red noise.

There was also no underflow.

# cat /sys/kernel/debug/tegradc.0/stats
underflows: 0
underflow_frames: 0
# cat /sys/kernel/debug/tegradc.1/stats
underflows: 0
underflow_frames: 0

Had the same issue, and the xorg.conf fix works,
some caveats ( maybe obvious to some, but just in case):

1.- Be very careful with the format, if you copy/paste from this page, it will use this type of colons: “” which is a different character that the required “” ( straight vertical lines WHICH ARE NOT SHOWN PROPERLY HERE EITHER! ) - just type the “” with your keyboard
in that case, the boot process will fail at a text screen, the GUI will not show up.

2.- in my /etc/x11 folder , there are 2 xorg.cong files: xorg.conf.t186_ref and xorg.conf.t194_ref
( xorg.cong is just a link that points to /etc/X11/xorg.conf.t194_ref
I had to modify both of them, Am I correct???

I agree that the quote conversion makes copying from here just a pain.

t186_ref is the default config for TX2, while t194 stands for Xavier.