Difference between revisions of "Jetson TX2/r28 Display debug"

From eLinux.org
Jump to: navigation, search
m (Tips)
 
(2 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
'''For T210(TX1)''' <br>
 
'''For T210(TX1)''' <br>
 
kernel/display/drivers/video/tegra/dc/ <br>
 
kernel/display/drivers/video/tegra/dc/ <br>
'''For T186(TX2).''' Note that TX2 still uses driver code of T210. <br>
+
'''For T186(TX2).''' Note that TX2 still uses part of driver codes of T210. <br>
 
kernel/t18x/drivers/video/tegra/dc <br>
 
kernel/t18x/drivers/video/tegra/dc <br>
  
Line 39: Line 39:
 
  ...
 
  ...
 
  EndSection
 
  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==
 
==Issues==
Line 50: Line 51:
 
**Full range RGB (0-255) support on TX2, HOW to?
 
**Full range RGB (0-255) support on TX2, HOW to?
 
***https://devtalk.nvidia.com/default/topic/1028918/jetson-tx2/rgb-full-range-0-255-on-hdmi/post/5233830/#5233830
 
***https://devtalk.nvidia.com/default/topic/1028918/jetson-tx2/rgb-full-range-0-255-on-hdmi/post/5233830/#5233830
 +
** Dual HDMI on TX2 (r32) #similar steps on r28
 +
***https://devtalk.nvidia.com/default/topic/1058350/
 +
** Weston supports on r32
 +
*** https://devtalk.nvidia.com/default/topic/1068803/

Latest revision as of 23:22, 22 December 2019

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