V4L2 raw capture shows corrupted image for custom RAW10 BGGR sensor on Jetson Xavier (Argus works)

I am integrating a custom MIPI CSI-2 RAW10 BGGR image sensor (1500 × 1500) on Jetson AGX Xavier (L4T 32.6.1) using a custom V4L2 subdevice driver.

When capturing frames using direct V4L2, the raw image shows corruption near the end of each row (black/invalid pixels). The issue is consistent across frames and appears at the same column positions.

In contrast:

  • Capture using Argus works correctly

  • Capture using GStreamer (nvarguscamerasrc) works correctly

The issue occurs only when using direct V4L2 capture.

The sensor timing configuration indicates that the effective CSI line length is larger than the active image width, but V4L2 reports a tightly packed line size based only on the active width.

I would like to understand how V4L2 buffer layout is derived on Jetson platforms for custom sensors, and how to correctly describe the sensor timing so that direct V4L2 capture works as expected.

Could it be alignment problem?

What’s the sensor output size. Try the size alignment to 256.

Thanks