I just got my TX1, and tried to boot only to find no video like many other people. I won’t have a serial console setup for about a week, but was able to configure DHCP and log in to the TX1 via ssh. From here I discovered that the TX1 is up and running just fine in text mode (probably not even intended to go to GUI until the NVIDIA-INSTALLER/installer.sh is run). What I’m finding about failure of the monitor is getting interesting.
Specifically, I see a kernel command line option “video=tegrafb”. This did not exist in TK1, and I’m thinking perhaps this is about local console settings prior to going into graphical mode. This may possibly change what monitor scan rate and resolution is while showing text-login via direct monitor attachment prior to reaching graphical mode. Is there some control over this local monitor text mode via tegrafb?
As it turns out, the reason why the console won’t work in this text-only stage which should work is because TX1 is attempting to set video modes out of range of the monitor. This monitor works great on TK1 and previous x86 computers I’ve used it with before, so something about this framebuffer is failing to stay within range of the monitor’s capabilities.
I installed various EDID query packages, and discovered the TX1 is completely unable to read any EDID information:
root@tegra-ubuntu:~# get-edid
This is read-edid version 3.0.1. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0
No EDID on bus 1
No EDID on bus 3
No EDID on bus 4
No EDID on bus 5
No EDID on bus 6
1 potential busses found: 2
Bus 2 doesn't really have an EDID...
Couldn't find an accessible EDID on this computer.
I'm sorry nothing was successful. Maybe try some other arguments
if you played with them, or send an email to Matthew Kern <pyrophobicman@gmail.com>.
On the TK1 this information is available, although there is a claim that some of it isn’t understood. Still, the EDID is there and attached and responding…TX1 thinks EDID is not there at all. Here is what this ViewSonic monitor shows up as when connected to any other computer (this sample from TK1 R21.4 via “get-edid | edid-decode”):
Extracted contents:
header: 00 ff ff ff ff ff ff 00
serial number: 5a 63 1e 59 01 01 01 01 1c 11
version: 01 03
basic params: 80 2f 1e 78 2e
chroma info: d0 05 a3 55 49 9a 27 13 50 54
established: bf ef 80
standard: b3 00 a9 40 95 00 90 40 81 80 81 40 71 4f 31 0a
descriptor 1: 21 39 90 30 62 1a 27 40 68 b0 36 00 da 28 11 00 00 1c
descriptor 2: 00 00 00 ff 00 51 41 35 30 37 32 38 35 32 39 30 34 0a
descriptor 3: 00 00 00 fd 00 32 4b 1e 52 0f 00 0a 20 20 20 20 20 20
descriptor 4: 00 00 00 fc 00 56 58 32 32 33 35 77 6d 0a 20 20 20 20
extensions: 00
checksum: ea
Manufacturer: VSC Model 591e Serial Number 16843009
Made week 28 of 2007
EDID version: 1.3
Digital display
Maximum image size: 47 cm x 30 cm
Gamma: 2.20
DPMS levels: Off
Supported color formats: RGB 4:4:4, YCrCb 4:2:2
Default (sRGB) color space is primary color space
First detailed timing is preferred timing
Established timings supported:
720x400@70Hz
640x480@60Hz
640x480@67Hz
640x480@72Hz
640x480@75Hz
800x600@56Hz
800x600@60Hz
800x600@72Hz
800x600@75Hz
832x624@75Hz
1024x768@60Hz
1024x768@70Hz
1024x768@75Hz
1280x1024@75Hz
1152x870@75Hz
Standard timings supported:
1680x1050@60Hz
1600x1200@60Hz
1440x900@60Hz
1400x1050@60Hz
1280x1024@60Hz
1280x960@60Hz
1152x864@75Hz
640x400@70Hz
Detailed mode: Clock 146.250 MHz, 474 mm x 296 mm
1680 1784 1960 2240 hborder 0
1050 1053 1059 1089 vborder 0
-hsync +vsync
Serial number: QA5072852904
Monitor ranges: 50-75HZ vertical, 30-82kHz horizontal, max dotclock 150MHz
Monitor name: VX2235wm
Checksum: 0xea
Unknown extension block
Via “get-edid | parse-edid” (also TK1 R21.4):
Section "Monitor"
Identifier "VX2235wm"
ModelName "VX2235wm"
VendorName "VSC"
# Monitor Manufactured week 28 of 2007
# EDID version 1.3
# Digital Display
DisplaySize 470 300
Gamma 2.20
Option "DPMS" "true"
Horizsync 30-82
VertRefresh 50-75
# Maximum pixel clock is 150MHz
#Not giving standard mode: 1680x1050, 60Hz
#Not giving standard mode: 1600x1200, 60Hz
#Not giving standard mode: 1440x900, 60Hz
#Not giving standard mode: 1400x1050, 60Hz
#Not giving standard mode: 1280x1024, 60Hz
#Not giving standard mode: 1280x960, 60Hz
#Not giving standard mode: 1152x864, 75Hz
#Not giving standard mode: 640x400, 70Hz
Modeline "Mode 0" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync
EndSection
At one point there is a note about an unknown extension from the ViewSonic’s response, but extensions were intended to be ignored if not understood, so this should not cause reading EDID to completely disappear. It appears that text-mode may be hampered in setting up correctly for lack of EDID data, but I’m unsure of this because I don’t know how tegra framebuffer would normally set up prior to reaching the X11 server.
For a very long time there have been various standard timings to support in case no automatic setup succeeds. This particular monitor supports all of those lower resolution “safe standard settings”, and so even if EDID data is missing or broken, text mode direct monitor connect should be working prior to reaching GUI runlevel.
The whole process of the early days of supporting a DDC channel for monitor query had to be expanded for new hardware, which resulted in EDID. Now EDID has to expand to support the ultra-high-def hardware, and so I have no doubt TX1 monitor query and setup has also had to expand to take advantage of newer hardware. Unfortunately, it seems the text-mode is missing setup. How and where is direct monitor text-mode resolution and scan rate determined on TX1? Does text-mode early boot depend on EDID data?