I want to use jetson nano as a camera for another device using HDMI output via HDMI → CSI bridge. This device applyes only 30 fps, but jetson gives 60. Can I set this FPS to 30?
What do you see from “xrandr
”? That lists what is available on which port based on the intersection of the GPU driver capability and the monitor’s reported specs (via EDID).
I can’t use monitor, because HDMI output is used as camera for other device and I can use jetson only via SSH. If I connect monitor I see this:
val@val-desktop:~$ xrandr
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) 480mm x 270mm
1920x1080 60.00*+
1680x1050 59.96
1600x900 60.00
1440x900 59.89
1400x1050 59.98
1280x1024 75.03 60.00
1280x800 59.81
1280x720 60.00 59.94
1152x864 75.00
1024x768 75.03 60.01
800x600 75.00 60.32
720x400 70.04
640x480 75.00 59.94
Hi,
I think it would be better to clarify what is jetson’s exact role here…
“xrandr” running on jetson side is to change the HDMI mode on jetson. Jetson is as a HDMI source here.
Thus, are we sure it is jetson’s HDMI driver that needs to do the work to switch the frame rate here?
Yes, jetson role is camera device for another device which expects 30 FPS only. That is why jetson have to set FPS.
Hi,
What we want to ask is
- what does that mean jetson is a camera device? How is your connection here?
- What data is transferred to another device?
- Another device has CSI input. And connection is HDMI Jetson output → HDMI to CSI bridge → CSI input
- Data is just jetson HDMI output
ok, then just go back and check what @linuxdev is talking about.
Also, you need to run xrandr when you have your usecase setup. You should not connect another HDMI monitor to check … and just use ssh to check…
Maybe I’m doing somethinh wrong, but SSH tells me ‘xrandr can not open display’.
It has nothing wrong. You need to run export DISPLAY=:0 before running xrandr.
Okay, I will check and come back
So, xrandr gives me this
val@val-desktop:~$ xrandr
Screen 0: minimum 8 x 8, current 1280 x 720, maximum 16384 x 16384
HDMI-0 connected primary 1280x720+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1280x720 60.00*+ 59.94 50.00
720x480 59.94 59.94
640x480 59.94
Hi,
Could you share the dmesg with this setup? I don’t think this is a valid usecase that is supported.
Our HDMI driver only accepts EDID from monitor or device so that it can output corresponding modes.
dmesg.txt (65.4 KB)
Hi,
The log format got something wrong and looks like some data are missing. Please dump it again.
Or you just dmesg > log.txt and share that log.txt here.
Did like this ‘dmesg > log.txt’
log.txt (59.5 KB)
Hi,
There is no error inside kernel log. Which means your device, no matter what it is, only supports 1280x720p and fps =60, 59.94 and 50.00. There is no 30 fps supported here.
I didn’t mean jetson does not support it. I mean your device gives this EDID to jetson so jetson just follows the EDID it got.
So, can I hardcode 30 fps somehow ?
Our driver only accepts to hardcoded EDID. But not just the frame rate or xres/yres.
please check the “Forcing edid” in below webstie. Need to do it in kernel.