Jetson TX2/r28 Display debug
Get prepared
This section focuses on debug display driver issue on rel-28.x BSP.
Drivers of tegra display controller are under kernel source: https://developer.nvidia.com/embedded/downloads
For T210(TX1)
kernel/display/drivers/video/tegra/dc/
For T186(TX2). Note that TX2 still uses part of driver codes of T210.
kernel/t18x/drivers/video/tegra/dc
Tips
- Print out display kernel related message
dmesg |grep tegradc
- Print current mode in dc
sudo cat /sys/kernel/debug/tegradc.X/mode #X=0,1,2.
- Print current mode in fbcon
sudo cat /sys/class/graphics/fb0/mode #if more than one fb, just change the fbX to whatever you want.
- Capture edid
sudo cat /sys/kernel/debug/tegradc.X/edid #X=0,1,2.
- Forcing edid (This is most likely when your monitor failed to be up due to problematic default EDID)
1. Prepare a known 256byte EDID. 2. set use_fallback = true; in tegra_edid_get_monspecs() under edid.c. 3. fill in the known EDID to default_720p_edid[256].
- Do I hit underflow? (red screen or blank line flicker)
sudo cat /sys/kernel/debug/tegradc.0/stats underflows: 35 underflows_a: 143 underflows_b: 0 underflows_c: 0
- Blank/Unblank window/display
sudo echo 4 > /sys/class/graphics/fb0/blank #blank display and power down sudo echo 1 > /sys/class/graphics/fb0/blank #blank display and show the background color sudo echo 0 > /sys/class/graphics/fb0/blank #unblank display
- Error log from X11
#Add below option in /etc/X11/xorg.conf, 'Section "Device"'. Verbose mode logging will be shown in /var/log/Xorg.0.log Section "Device" ... Option "ModeDebug" ... EndSection
Please be aware that tegra only supports to read modes from either device tree or edid. Thus, for those methods which put a mode in xorg.conf, it would be rejected by L4T graphic drivers.
Issues
- HDMI
- Display is not be able to up. Moreover, system is not able to up.(Fixed after rel-28.2)
- X11 returns below error and cause failure (TX2)
- https://devtalk.nvidia.com/default/topic/1027467
- https://devtalk.nvidia.com/default/topic/1031399/
- This is due to uart1_tx pin causing memory bandwidth issue. Please review the OEM design guide for your carrier board
- Full range RGB (0-255) support on TX2, HOW to?
- Dual HDMI on TX2 (r32) #similar steps on r28
- Weston supports on r32