Weird frame rate behavior on GMSL Zed X Mini with AGX Orin

Hello there,
we have been having some issues with the framerate of Zed Mini cameras. Our setup is as follows: Jetson AGX Orin board (Jetpack R36.5, ZED sdk 5.4.1), ZED Quad capture card (driver 1.4.3.), 2x ZED X Mini connected via GMSL to two different channels/groups on the same quad-camera port (as per https://community.stereolabs.com/t/multi-camera-incorrect-fps-and-dropped-frames/10984).
We noticed that, by running the ROS driver, the framerate was around ~15fps, with respect to the 30fps which we set via configuration.
By delving on the matter, we have written a simple python script that, by using ZED sdk, grabs a set number of frames and computes the framerate: even with such script, the resulting frequency was ~15fps, while the negotiated on was actually 30fps (see attached bash outputs). In order to rule out any power supply/bandwidth issues, we tested the same setup with only camera connected to the Jetson board: same result applied also here (i.e. ~15fps).
To further analyze the problem, we have “translated” the same Python script, to C++, still using ZED sdk: results were coherent with the Python version (i.e. 15fps). We have also tested by disabling the depth module, as well as the automatic exposure: nothing changed.
We then tested the single camera setup using ZED_Explorer which, strangely, reported the correct framerate setup: by changing camera configuration, the configuration was actually applied and the Explorer GUI reported the correct fps number (even by eyeballing it there was a noticeable difference when setting 15 fps vs 30fps or even 60fps).

We delve deeper: we disregarded the ZED sdk and ran tests directly using video4linux and yavta (Yet Another V4L2 Test Application). Strangely enough, both tests reported correctly 30fps, as set. Below the attached commands we run and their corresponding results. Tests were ran using both a single camera with v4l2 (by physically disconnecting one) as well as both cameras with yavta.
Single camera with v4l2:

v4l2-ctl -d /dev/video1 --set-fmt-video=width=1920,height=1200,pixelformat=BA10   --stream-mmap --stream-count=30 --verbose
VIDIOC_QUERYCAP: ok
VIDIOC_G_FMT: ok
VIDIOC_S_FMT: ok
Format Video Capture:
	Width/Height      : 1920/1200
	Pixel Format      : 'BA10' (10-bit Bayer GRGR/BGBG)
	Field             : None
	Bytes per Line    : 3840
	Size Image        : 4608000
	Colorspace        : sRGB
	Transfer Function : Default (maps to sRGB)
	YCbCr/HSV Encoding: Default (maps to ITU-R 601)
	Quantization      : Default (maps to Full Range)
	Flags             : 
		VIDIOC_REQBUFS returned 0 (Success)
		VIDIOC_QUERYBUF returned 0 (Success)
		VIDIOC_QUERYBUF returned 0 (Success)
		VIDIOC_QUERYBUF returned 0 (Success)
		VIDIOC_QUERYBUF returned 0 (Success)
		VIDIOC_QBUF returned 0 (Success)
		VIDIOC_QBUF returned 0 (Success)
		VIDIOC_QBUF returned 0 (Success)
		VIDIOC_QBUF returned 0 (Success)
		VIDIOC_STREAMON returned 0 (Success)
cap dqbuf: 0 seq:      0 bytesused: 4608000 ts: 3910.602023 (ts-monotonic, ts-src-eof)
cap dqbuf: 1 seq:      1 bytesused: 4608000 ts: 3910.635372 delta: 33.349 ms (ts-monotonic, ts-src-eof)
cap dqbuf: 2 seq:      2 bytesused: 4608000 ts: 3910.668694 delta: 33.322 ms (ts-monotonic, ts-src-eof)
cap dqbuf: 3 seq:      3 bytesused: 4608000 ts: 3910.702043 delta: 33.349 ms (ts-monotonic, ts-src-eof)
cap dqbuf: 0 seq:      4 bytesused: 4608000 ts: 3910.735365 delta: 33.322 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 1 seq:      5 bytesused: 4608000 ts: 3910.768714 delta: 33.349 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 2 seq:      6 bytesused: 4608000 ts: 3910.802063 delta: 33.349 ms fps: 29.99 (ts-monotonic, ts-src-eof)
cap dqbuf: 3 seq:      7 bytesused: 4608000 ts: 3910.835385 delta: 33.322 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 0 seq:      8 bytesused: 4608000 ts: 3910.868734 delta: 33.349 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 1 seq:      9 bytesused: 4608000 ts: 3910.902056 delta: 33.322 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 2 seq:     10 bytesused: 4608000 ts: 3910.935405 delta: 33.349 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 3 seq:     11 bytesused: 4608000 ts: 3910.968727 delta: 33.322 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 0 seq:     12 bytesused: 4608000 ts: 3911.002076 delta: 33.349 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 1 seq:     13 bytesused: 4608000 ts: 3911.035425 delta: 33.349 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 2 seq:     14 bytesused: 4608000 ts: 3911.068747 delta: 33.322 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 3 seq:     15 bytesused: 4608000 ts: 3911.102095 delta: 33.348 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 0 seq:     16 bytesused: 4608000 ts: 3911.135417 delta: 33.322 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 1 seq:     17 bytesused: 4608000 ts: 3911.168766 delta: 33.349 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 2 seq:     18 bytesused: 4608000 ts: 3911.202088 delta: 33.322 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 3 seq:     19 bytesused: 4608000 ts: 3911.235437 delta: 33.349 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 0 seq:     20 bytesused: 4608000 ts: 3911.268786 delta: 33.349 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 1 seq:     21 bytesused: 4608000 ts: 3911.302108 delta: 33.322 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 2 seq:     22 bytesused: 4608000 ts: 3911.335457 delta: 33.349 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 3 seq:     23 bytesused: 4608000 ts: 3911.368779 delta: 33.322 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 0 seq:     24 bytesused: 4608000 ts: 3911.402128 delta: 33.349 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 1 seq:     25 bytesused: 4608000 ts: 3911.435450 delta: 33.322 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 2 seq:     26 bytesused: 4608000 ts: 3911.468799 delta: 33.349 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 3 seq:     27 bytesused: 4608000 ts: 3911.502148 delta: 33.349 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 0 seq:     28 bytesused: 4608000 ts: 3911.535470 delta: 33.322 ms fps: 30.00 (ts-monotonic, ts-src-eof)
cap dqbuf: 1 seq:     29 bytesused: 4608000 ts: 3911.568819 delta: 33.349 ms fps: 30.00 (ts-monotonic, ts-src-eof)

Two cameras with yavta:

[1] 87556
[2] 87557
[1]-  Done                    yavta -c300 -n4 -f SGRBG10 -s 1920x1200 /dev/video0 > /tmp/y0.log 2>&1
[2]+  Done                    yavta -c300 -n4 -f SGRBG10 -s 1920x1200 /dev/video1 > /tmp/y1.log 2>&1
==> /tmp/y0.log <==
297 (1) [-] none 297 4608000 B 4270.202876 4243.486775 29.990 fps ts mono/EoF
298 (2) [-] none 298 4608000 B 4270.236194 4243.520090 30.014 fps ts mono/EoF
299 (3) [-] none 299 4608000 B 4270.269539 4243.553446 29.990 fps ts mono/EoF
Captured 300 frames in 10.546887 seconds (28.444412 fps, 131071848.508128 B/s).
4 buffers released.

==> /tmp/y1.log <==
297 (1) [-] none 297 4608000 B 4270.202885 4243.486777 29.990 fps ts mono/EoF
298 (2) [-] none 298 4608000 B 4270.236203 4243.520091 30.014 fps ts mono/EoF
299 (3) [-] none 299 4608000 B 4270.269548 4243.553440 29.990 fps ts mono/EoF
Captured 300 frames in 10.547290 seconds (28.443324 fps, 131066837.095929 B/s).
4 buffers released.

While, the following is the output of our custom python script using ZED sdk:

2026-09-16 09:47:35 UTC][ZED][INFO] Logging level INFO
[2026-09-16 09:47:36 UTC][ZED][INFO] Using GMSL input... Switched to default resolution HD1200
[2026-09-16 09:47:37 UTC][ZED][INFO] [Init]  Camera FW version: 2001
[2026-09-16 09:47:37 UTC][ZED][INFO] [Init]  Video mode: HD1200@30
[2026-09-16 09:47:37 UTC][ZED][INFO] [Init]  Serial Number: S/N 56033502
[2026-09-16 09:47:37 UTC][ZED][INFO] [Init]  Depth mode selected: NEURAL. Ensure this mode matches your application's performance and accuracy requirements. See https://www.stereolabs.com/docs/depth-sensing/depth-modes for help.
[2026-09-16 09:47:38 UTC][ZED][WARNING] [Init]  Self-calibration was skipped due to low texture or occlusion in the scene. Tracking accuracy may be affected.
SDK version: 5.4.1

Found 1 cameras:

=== Testing Camera Serial=56033502 ===
✓ Opened
  Model: ZED X Mini
  Configured FPS: 30.0
  Resolution: 1920x1200
  Firmware: 2001
    0 |  162.63 |         nan |       nan
    1 |    5.10 |       33.32 |     30.02
    2 |   30.53 |       66.69 |     14.99
    3 |   66.78 |       33.31 |     30.02
    4 |  100.64 |       66.66 |     15.00
    5 |   65.58 |       33.34 |     29.99
    6 |   67.53 |       66.66 |     15.00
    7 |   66.62 |       66.66 |     15.00
    8 |   68.13 |       66.66 |     15.00
    9 |   33.06 |       66.66 |     15.00
   10 |  100.68 |      100.00 |     10.00
   11 |   38.26 |       66.66 |     15.00
   12 |   92.42 |       66.66 |     15.00
   13 |   34.36 |       66.69 |     14.99
   14 |   99.75 |       66.66 |     15.00
   15 |   37.59 |       33.32 |     30.01
   16 |   92.87 |      100.00 |     10.00
   17 |   34.06 |       33.34 |     29.99
   18 |  100.88 |       99.97 |     10.00
   19 |   38.60 |       33.34 |     29.99
   20 |   41.78 |      100.01 |     10.00
   21 |   17.96 |       33.32 |     30.01
   22 |   67.42 |      100.01 |     10.00
   23 |   66.39 |       33.31 |     30.02
   24 |   66.44 |      100.00 |     10.00
   25 |   65.79 |       33.34 |     29.99
   26 |  102.75 |       33.31 |     30.02
   27 |   64.95 |       33.34 |     29.99
   28 |   67.01 |       66.66 |     15.00
   29 |   67.79 |       66.66 |     15.00
   30 |   66.51 |       66.66 |     15.00
   31 |   34.39 |       66.66 |     15.00
   32 |   81.48 |      100.00 |     10.00
   33 |   14.79 |       66.66 |     15.00
   34 |   84.68 |       66.66 |     15.00
   35 |   22.65 |       66.69 |     14.99
   36 |   26.37 |       66.66 |     15.00
   37 |   50.45 |       33.31 |     30.02
   38 |   49.27 |       66.66 |     15.00
   39 |   23.44 |       33.34 |     29.99
   40 |   27.00 |       66.66 |     15.00
   41 |   50.19 |       33.34 |     29.99
   42 |   14.90 |       33.32 |     30.01
   43 |   33.21 |       33.34 |     29.99
   44 |   50.81 |       66.66 |     15.00
   45 |   65.30 |       33.34 |     29.99
   46 |   66.97 |       33.31 |     30.02
   47 |   67.29 |       33.34 |     29.99
   48 |   99.58 |       33.31 |     30.02
   49 |   32.97 |       33.34 |     29.99
   50 |   99.76 |       33.31 |     30.02
   51 |   67.00 |       66.69 |     15.00
   52 |   66.83 |       66.66 |     15.00
   53 |   34.21 |       66.66 |     15.00
   54 |   33.80 |      100.01 |     10.00
   55 |   66.26 |       33.31 |     30.02
   56 |   38.21 |      100.01 |     10.00
   57 |   61.15 |       66.66 |     15.00
   58 |   50.47 |       66.66 |     15.00
   59 |   49.38 |       33.34 |     29.99
   60 |   65.97 |       33.31 |     30.02
   61 |  100.18 |       66.66 |     15.00
   62 |   34.08 |       33.34 |     29.99
   63 |   66.09 |       66.66 |     15.00
   64 |   67.64 |       66.66 |     15.00
   65 |   99.40 |       33.34 |     29.99
   66 |   35.17 |       66.66 |     15.00
   67 |   64.89 |      100.00 |     10.00
   68 |   65.84 |       33.32 |     30.02
   69 |   99.74 |       66.66 |     15.00
   70 |   34.21 |       66.69 |     15.00
   71 |   99.08 |       99.98 |     10.00
   72 |   38.77 |       33.34 |     29.99
   73 |   59.39 |       66.66 |     15.00
   74 |   68.07 |       66.66 |     15.00
   75 |   66.30 |      100.00 |     10.00
   76 |   67.42 |       33.32 |     30.02
   77 |  100.24 |      100.00 |     10.00
   78 |   65.76 |       33.34 |     29.99
   79 |   67.25 |       66.66 |     15.00
   80 |   48.96 |       66.66 |     15.00
   81 |   50.50 |       66.66 |     15.00
   82 |   32.93 |       66.66 |     15.00
   83 |   49.62 |      100.00 |     10.00
   84 |   50.15 |       66.66 |     15.00
   85 |   65.49 |       66.66 |     15.00
   86 |   67.95 |       33.34 |     29.99
   87 |   65.76 |       66.66 |     15.00
   88 |   99.60 |       33.34 |     29.99
   89 |   67.53 |       33.31 |     30.02
   90 |   32.01 |       66.66 |     15.00
   91 |  101.04 |       66.66 |     15.00
   92 |   65.70 |       66.69 |     14.99
   93 |   38.59 |       66.66 |     15.00
   94 |   95.51 |       99.98 |     10.00
   95 |   65.57 |       66.69 |     15.00
   96 |   33.92 |       33.32 |     30.01
   97 |   65.46 |      100.01 |     10.00
   98 |   67.98 |       66.66 |     15.00
   99 |   67.46 |       33.34 |     29.99
  100 |   64.40 |       99.98 |     10.00
  101 |  101.63 |       66.66 |     15.00
  102 |   66.50 |       33.34 |     29.99
  103 |   65.76 |       66.66 |     15.00
  104 |   68.89 |       66.66 |     15.00
  105 |   65.06 |       66.66 |     15.00
  106 |   38.39 |       66.69 |     14.99
  107 |   61.31 |       99.98 |     10.00
  108 |   65.99 |       66.66 |     15.00
  109 |   66.41 |       66.69 |     15.00
  110 |   99.75 |       66.66 |     15.00
  111 |   67.06 |       66.66 |     15.00
  112 |   66.34 |       33.32 |     30.02
  113 |   66.06 |       66.66 |     15.00
  114 |   67.85 |       66.69 |     15.00
  115 |   38.28 |       66.66 |     15.00
  116 |   93.86 |       99.98 |     10.00
  117 |   32.95 |       66.69 |     15.00
  118 |   99.86 |       66.66 |     15.00
  119 |   38.42 |       66.66 |     15.00
  120 |   95.96 |       66.66 |     15.00
  121 |   32.18 |       33.34 |     29.99
  122 |   66.63 |       99.98 |     10.00
  123 |   98.43 |       33.34 |     29.99
  124 |   68.31 |      100.01 |     10.00
  125 |   33.54 |       33.32 |     30.02
  126 |  100.77 |      100.01 |     10.00
  127 |   65.05 |       33.31 |     30.02
  128 |   38.58 |       66.69 |     14.99
  129 |   95.95 |       99.98 |     10.00
  130 |   65.56 |       66.66 |     15.00
  131 |   32.98 |       33.34 |     29.99
  132 |  100.37 |      100.00 |     10.00
  133 |   66.10 |       66.66 |     15.00
  134 |   37.14 |       33.32 |     30.01
  135 |   62.73 |      100.00 |     10.00
  136 |   98.44 |       66.66 |     15.00
  137 |   35.57 |       33.34 |     29.99
  138 |   99.25 |      100.00 |     10.00
  139 |   65.10 |       66.66 |     15.00
  140 |   67.99 |       33.32 |     30.02
  141 |   33.06 |       66.66 |     15.00
  142 |   99.73 |      100.00 |     10.00
  143 |   33.05 |       33.34 |     29.99
  144 |   99.79 |       99.98 |     10.00
  145 |   32.38 |       66.69 |     14.99
  146 |  101.16 |       66.66 |     15.00
  147 |   38.38 |       33.32 |     30.01
  148 |   94.94 |      100.00 |     10.00
  149 |   33.40 |       33.34 |     29.99
  Measured FPS: 15.90

If needed I can also attach the python script which we used to analyze this issue.
Thanks in advance for your support.

Hi @Fedezac
Welcome to the StereoLabs community.

You probably have not set all the parameters to obtain the publishing frequency that you want to obtain.

I recommend you read this section of the documentation to learn more: