Jetson TK1 Custom Video Resolution Output

Attempting to output a custom resolution (1280x960)from the Jetson TK1 to a display using a HDMI to VGA converter. I was successful using Ubuntu 14.04 LTS and the xrandr command to use the HDMI output on my laptop to achieve this but so far unable to do so on the Jetson.

Extract from Terminal
ubuntu@tegra-ubuntu:~ xrandr -q Screen 0: minimum 8 x 8, current 1680 x 1050, maximum 16384 x 16384 HDMI-0 connected primary 1680x1050+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1920x1080 60.0 + 60.0 59.9 1680x1050 60.0* 1600x1200 60.0 1440x900 60.0 1400x1050 60.0 1280x1024 60.0 1280x800 60.0 1280x720 59.7 1024x768 60.0 800x600 60.3 640x480 60.0 ubuntu@tegra-ubuntu:~ cvt 1280 960

1280x960 59.94 Hz (CVT 1.23M3) hsync: 59.70 kHz; pclk: 101.25 MHz

Modeline “1280x960_60.00” 101.25 1280 1360 1488 1696 960 963 967 996 -hsync +vsync
ubuntu@tegra-ubuntu:~ xrandr --newmode "1280x960_60.00" 101.25 1280 1360 1488 1696 960 963 967 996 -hsync +vsync ubuntu@tegra-ubuntu:~ xrandr --addmode HDMI-0 1280x960_60.00
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 23
Current serial number in output stream: 24
ubuntu@tegra-ubuntu:~ #xrandr --addmode HDMI-0 1280x960_60.00 ubuntu@tegra-ubuntu:~ xrandr -q
Screen 0: minimum 8 x 8, current 1680 x 1050, maximum 16384 x 16384
HDMI-0 connected primary 1680x1050+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1920x1080 60.0 + 60.0 59.9
1680x1050 60.0*
1600x1200 60.0
1440x900 60.0
1400x1050 60.0
1280x1024 60.0
1280x800 60.0
1280x720 59.7
1024x768 60.0
800x600 60.3
640x480 60.0
1280x960_60.00 (0x1b5) 101.2MHz
h: width 1280 start 1360 end 1488 total 1696 skew 0 clock 59.7KHz
v: height 960 start 963 end 967 total 996 clock 59.9Hz
ubuntu@tegra-ubuntu:~$ xrandr --output HDMI-0 --mode 1280x960_60.00
xrandr: cannot find mode 1280x960_60.00

Any thoughts would be appreciated

Thanks

You said you used an HDMI to VGA adapter. I have not verified this for jetson, but my other nVidia embedded system does not support VGA…only HDMI or DVI. The reason for this is the DDC/EDID information needed for automatic configuration. Once you go to VGA the monitor is no longer able to communicate this to the system. It’s reasonable to be able to manually set up proper display settings without this, but anything using the automated information will fail.

In short, try with a HDMI to DVI adapter…expect VGA adapters to be a nuisance.

Thanks for the quick response
Unfortunately VGA is mandatory as there are no other video interfaces on the monitor, as noted I was able to get this work with the same setup from my laptop, why would the Jetson be different?
Other resolutions do work automatically eg 1680x1050, 1440x900 etc. Normally this monitor is run at 1440x1800, but I figured that would be asking a bit much so had custom firmware developed for the monitor to do 1280x960.

2-way digital interfaces are a lot simpler. One-way analog VGA requires mode lines which include a lot of timing information…if you hit values in range of the monitor it works.

DDC and EDID provide 100% information for devices using it…everything else means manually programming in details. I doubt the hardware or firmware has any difficulty working at your resolution…but you will probably need to figure out mode lines and manually enter them into configs so the system knows what it is displaying to. The DDC/EDID info means you don’t need a custom “driver” or setup for each monitor…no such critter required on DVI/HDMI.

You might be able to find someone who has mentioned an X11 mode line for that particular monitor by searching the web.

Ok so I understand the intricacies of displays and video signals (14 years working in the display industry) what I have limited knowledge on is Ubuntu and the Jetson TK1.

Are you saying I may need to tweak the mode line from that which worked successfully using xrandr for the HDMI out on the laptop to something different for the Jetson TK1, and if so any explanation why?
Or am I in a losing battle because the video BIOS only has a standard set of modes supported eg vesa

General question is modifying modes in xorg.conf more likely to work than using the xrandr command in terminal?

Thanks

Hi ,emujimmy
You have said that you use a HDMI to VGA converter to connect JT1 and monitor.I want to know does the converter work well?Does the converter need power?
Thank you !

Back in “the bad old days” when we only had analog CRT monitors the X11 conf files were filled with mode lines. See:

http://en.wikipedia.org/wiki/Modeline

They’re filled with analog timings which the monitor must lock on to. Incorrect timings either cause the monitor to sit and do nothing, or perhaps even burn up. Your basic xrandr command to change modes does not include all of those timings for those things listed as optional flags…so the answer is that yes, mode lines are more likely to work than xrandr.

9-pin VGA cables simply cannot tell the system about the monitor, and xrandr has no way to know about what the monitor is (DVI and HDMI talk to the system and the monitor tells the system what is there and exactly what it needs). There are lots of “standard” resolutions most every monitor supports, e.g., 640x480@60Hz, but everything else in VGA is a guess.

I would bet that if you have a DVI or HDMI monitor capable of that same resolution that it would simply “work” when set to that from xrandr.

The converter I am using does not require power and works well for the typical display resolutions from the JTK1, and has worked well also for custom resolutions from my laptop

What did you change in the setting did you change to get it up and running with the vga adapter?

I have the same problems too. My board is Jetson TK1.I use a converter HDMI to VGA converter to connect the HDMI interface and the monitor. I want to get a special resolution( 1280*480).

Information on the difference between VGA and more modern connectors may help you. Earlier in computer history many peripherals had to have setup information put in manually…the peripheral could not be queried to ask it what it was. VGA monitors are in that category.

Enter newer cable types, such as DVI, DisplayPort, and HDMI. These come with an extra wire to let the monitor respond with information about what it is and what modes are valid…some of the data formats are evolving due to new standards for newer monitors, but this data replaces hand-edit of the VGA monitor’s section in the X11 configuration. Without this, no automatic setup will work. Using any kind of VGA-to-other interface adapter is the same as cutting the automatic configuration information wire.

You can still revert to the old ways and if you know what that monitor’s scanlines/timings are, then you can enter that information manually (in some cases you may need a line which says “don’t try automatic setup”, but I’m not sure which that is). This information goes in “/etc/X11/xorg.conf”, which in a TK1’s case is a symbolic link to “xorg.conf.jetson-tk1”.

Linux computers using X11 can have more than one monitor. The section describing a monitor in the xorg.conf file is literally the “Monitor” section. Because TK1 has some other video capabilities, there is by default one “Monitor” section which is not the HDMI and which is disabled. In your case you would add a new “Monitor” section with a different “Identifier” (which should be descriptive). Here’s an example of an older DVI flat panel monitor’s output from direct query of the EDID data channel (and without that channel the information would be in a monitor manual somewhere):

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
        <b>Modeline        "Mode 0" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync </b>
EndSection

You need to track down the monitor’s manual and be able to put in a Monitor section which specifically has at least one compatible “Modeline” and a descriptive Identifier.