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 <firstname.lastname@example.org>.
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?