HDMI configuration to 1920*1080 p30

I use converter from HDMI to HD-SDI. Converter shall receive 1080p25 or 1080p30.

xrandr command give me next:
DISPLAY=:0 sudo xrandr -q
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 710mm x 400mm
   1920x1080     60.05*+  60.00    59.95    50.00    30.00    29.97    25.00    24.00    23.98    61.25    51.04    50.04
   1440x576      52.08    50.08
   1440x480      62.69    60.05
   1280x720      60.00    59.94    50.00
   720x576       50.00
   720x480       59.94

I try to change to p30 by using “sudo xrandr -r 30.00”, but receive message “Rate 30.00 not available for this size”.
Is it possible to configure TX1 to 1920x1080 p30?
BTW, on TK1 board it works OK.

It sounds like a mode the driver does not allow. One way to see more detail is to add an option in the “/etc/X11/xorg.conf” file. In Section Device add this:

Option   "ModeDebug"

Then reboot and check “/var/log/Xorg.0.log”. Details will be given about all modes which are accepted or rejected.

Please use following one

xrandr --output HDMI-0 --mode 1920x1080 --rate 30.00

I try the solution of WayneWWW
xrandr --output HDMI-0 --mode 1920x1080 --rate 30.00
and it works fine also for 30 fps and also for 25 fps.
Thank you

One more problem. The solution works good only in this scenario:

  1. HDMI output connected to HDMI Monitor
  2. Power Up the board
  3. After Linux shows the desktop, I give the command via SSH
    xrandr --output HDMI-0 --mode 1920x1080 --rate 30.00
  4. Connect the HDMI output to HDMI->HD-SDI converter

If I connect the HDMI to HDMI->HD-SDI converter before power up and after power up I give the command via SSH
xrandr --output HDMI-0 --mode 1920x1080 --rate 30.00
I receive a black screen.

I don’t know what your hardware is, but is this the same monitor regardless of whether it is a direct HDMI connection or if it is going through the SDI converter?

You will find a file “edid” in “/sys” which is produced from the monitor providing its information:

sudo find /sys -name edid

Assuming this is one monitor with and without the adapter, does this file contain the same content regardless of whether the monitor goes through the SDI converter or not? This is the file which determines how the auto configuration decides what valid modes are.

The monitor is the same, only once I use HDMI input, other time I use HD-SDI input via HDMI->HD-SDI converter.
The edid file is different in both cases.
I discover also, that if I connect HDMI cable after board finished power up, everything work ok. Looks like this is the same problem that TX1 board doesn’t work good with all HDMI devices.
I have an embedded system and can’t connect cable after finishing power up. Is there any other way to disable the negotiation between board and monitor during power up and enable it after power up??

Do you mean after connect HD-SDI converter xrandr cannot change the mode?

However,in your latest reply, it feels like you failed to boot up for non-hotplug case. Which one is your problem?

Any dmesg /kernel log?

If this is the same monitor it should give the same EDID each time. The location of the file can change depending on which controller it runs under, but content should be constant. Could you post the content of that same monitor as it appears on each connector? This can be put into:
http://www.edidreader.com
…then checksum can be verified and actual differences can be viewed.

The problem is a black screen after finish power up, when the monitor is connected via HD-SDI converter.
I think that EDID can be different because in the first case (direct connection of board to HDMI input of monitor) the data for EDID id provided by monitor, in the second case (Board->Converter->HD-SDI Input of Monitor) the data provided by converter. The dmesg on both cases was similar. I will provide EDID and dmesg next week.
Once again if I connect HDMI cable to the board after it finished power up, everything work fine.

As working this issue, we found out that if we connect the HDMI after the system is up, evrything is fine.

We twick the dc driver file, so the enable function work only after at least one call,

So the first enable calling to the tegradc device is allways false, and only the next time is true
(like we plugged cable only after system is up)

In this case, it work fine

without this workaround, it’s look that in the first moment the HDMI is show the console, and right after something overide some setting (clock?), setting up the device at the end, seems to prevent the overide

We looking for some solution without building new kernel (by command line, devicetree, bootargs…)

Thanks

I guess it should be some mode selection issue as some known topics, but I don’t have your boot up message to confirm it.

If it is one of them, command line and device tree may not work since tegradc would not use them when monitor type is HDMI.

The below is on the assumption that the same monitor is used either directly on the HDMI port, or via the HD-SDI converter. If this is not the case, then the below does not apply.

I suspect that EDID should match no matter which connector supplies the EDID information, except perhaps one of the indirectly provided connectors might provide fewer modes versus what the native monitor EDID has.

Unless the EDID matches on the two connectors you cannot expect the monitor setup to be identical unless the mode chosen is an exact match in all ways (the generated modelines contain more than just resolution and scan rate…an exact match goes into more details).

Unless the checksum of an EDID is valid in every case you can’t expect automatic configuration to work at all for that EDID…every mode would have an undefined response.

It would still be useful to see what each EDID shows in order to see checksums and to see if the EDID from the HD-SDI converter EDID is a subset of the EDID provided by the monitor itself (if the connector-provided EDID contains a mode not in the direct monitor-provided EDID this would cause failure when trying to use that mode).

My question is how and why was the HD-SDI EDID chosen to be different from what the monitor itself would provide? Was the converter originally designed for a different monitor?

This is a same monitor.
Here the EDID file when HDMI input is connected:

00 ff ff ff ff ff ff 00 4d d9 03 76 01 01 01 01
 04 18 01 03 80 33 20 78 aa 3c 55 a7 54 4d a2 26
 10 50 54 21 08 00 b3 00 95 00 81 80 a9 40 d1 00
 01 01 01 01 01 01 35 3c 80 a7 70 b0 23 40 30 20
 36 00 07 44 21 00 00 1e a9 1a 00 a0 50 00 16 30
 30 20 37 00 57 ce 10 00 00 1a 00 00 00 fc 00 4c
 4d 44 2d 41 32 34 30 0a 20 20 20 20 00 00 00 fd
 00 17 56 0f 4c 10 00 0a 20 20 20 20 20 20 01 c6
 02 03 24 f5 52 90 9f 05 14 04 13 03 02 12 11 07
 06 a0 a1 a2 16 15 01 23 09 07 07 68 03 0c 00 10
 00 b8 2d 00 01 1d 80 18 71 1c 16 20 58 2c 25 00
 6e ce 10 00 00 9e 01 1d 80 d0 72 1c 16 20 10 2c
 25 80 6e ce 10 00 00 9e 8c 0a a0 14 51 f0 16 00
 26 7c 43 00 6e ce 10 00 00 98 8c 0a a0 20 51 20
 18 10 18 7e 23 00 6e ce 10 00 00 98 66 21 50 b0
 51 00 1b 30 40 70 36 00 6c ce 10 00 00 1e 00 d7

And this EDID when HDMI->HD-SDI convertor is used:

00 ff ff ff ff ff ff 00 23 01 00 00 01 00 00 00
 0a 19 01 03 80 47 28 96 0a da ff a3 58 4a a2 29
 17 49 4b 00 00 00 01 01 01 01 01 01 01 01 01 01
 01 01 01 01 01 01 01 1d 80 18 71 1c 16 20 58 2c
 25 00 c4 8e 21 00 00 9e 01 1d 00 72 51 d0 1e 20
 6e 28 55 00 c4 8e 21 00 00 1e 00 00 00 fc 00 42
 4d 44 20 48 44 4d 49 0a 20 20 20 20 00 00 00 fd
 00 17 3c 1f 44 0f 00 0a 20 20 20 20 20 20 01 c1
 02 03 21 77 4d 85 84 87 94 93 96 a0 a1 a2 9f 90
 03 12 23 0f 04 07 83 ff 00 00 66 03 0c 00 00 00
 00 8c 0a a0 14 51 f0 16 00 26 7c 43 00 13 8e 21
 00 00 98 01 1d 80 d0 72 1c 16 20 10 2c 25 80 c4
 8e 21 00 00 9e 01 1d 00 bc 52 d0 1e 20 b8 28 55
 40 c4 8e 21 00 00 1e 8c 0a a0 20 51 20 18 10 18
 7e 23 00 13 8e 21 00 00 98 01 1d 80 3e 73 38 2d
 40 7e 2c 45 80 c4 8e 21 00 00 1e 00 00 00 00 34

I don’t think that a point in EDID. When I start the board with disconnected converter and connect it after the linux finish power up -> everything is work ok.
I upgrade the board to the last 28.1 version. I can see during boot console printing on the screen. After that I receive a black screen with mouse pointer moving when I move the mouse. Looks like in some state during boot the pixel clock is changed. Next week I will post what I see in serial console.

The checksums are both valid.

During boot there may be different software involved in video mode depending on whether this is console mode or X GUI mode. Additionally, a hot plug event may trigger different software than what is triggered from cold boot.

It would be good to have the dmesg from boot with the monitor on each connector. Also to see what the “/var/log/Xorg.0.log” is for each. Perhaps just important is to know which specific mode or modes you are testing with.

Just some random notes:

The HDMI-HD-SDI does not support DPMS, and lists a different gamma. Maximum horizontal and vertical image sizes also differ. I could see how switching from HDMI to HDMI-HD-SDI might have odd results if DPMS is getting in the way, and if a max image size is used under HDMI-HD-SDI there is no possibility of correct display…the size from adapter EDID exceeds the monitor’s capabilities. Images which actually can fit within the chosen size would not have a problem so far as resolution goes.

Timing bitmaps differ between the EDIDs…when using the EDID from the HDMI-HD-SDI it is quite likely that some of those timings simply won’t work on that monitor.

Is the HDMI-HD-SDI something which you can program the EDID to match that from the actual monitor? Or does the HDMI-HD-SDI actually convert scan rates, buffers, so on, and essentially adapt scanning rates and horizontal/vertical buffer sizes? If the HDMI-HD-SDI does scan rate/clock/screen size conversions, does it use the actual monitor’s EDID for that conversion?