Re: Test for [PATCH v7 0/3] Add support for the Sony IMX681 camera sensor

From: Sergey Lebedev

Date: Sat Sep 26 2026 - 13:04:00 EST


German,

Thank you - for building v7 on 7.3-rc4 with the two-line change, for
putting it through qcam, Firefox and Snapshot on the CPU and the GPU,
and for the Tested-by.

I rebuilt libcamera 0.7.2, your version, with its stock tuning, and
checked your three points on it.

1. The slow start is real, and it is two things. Since v6 the driver
starts at the minimum exposure, four lines, as Sakari asked in review,
and 0.7.2's AGC climbs from there in small steps: 0.7 ms after 6 s,
17 ms after 13.5 s, and on the GPU the picture stays grey for about
the first ten seconds. And libcamera has no helper for this sensor, so
it takes the gain code for the gain - a code of 17 is 1.02x on this
sensor, not 17x. I sent libcamera a helper on 31 August, which also
gives it the black level; it has not been reviewed yet:
https://patchwork.libcamera.org/patch/28155/

2. The mirroring is the reverse of what you saw on v3 on the 10th, when
Snapshot was the odd one out, and it is the driver that changed. Up to
v5 it mirrored every frame in its register list; since v6 it delivers
the image as the lens forms it and leaves mirroring to HFLIP and
VFLIP. Whether a front camera's preview is shown mirrored is then up
to the application, and the three you tried decide differently.

3. The lines are there on 0.7.2, on both cameras, and only on the GPU
path: the front camera's GPU output carries blue and yellow stripes
about 25 pixels apart across the whole frame, the rear camera's blue
lines at fixed rows (311 and 791 of 1920x1080). The CPU path shows
none of it, on either camera, same scenes. The pattern is fixed in
the frame, so anything moving across it shows it. It is libcamera's
GPU debayer, not the drivers - its issue #351:
https://gitlab.freedesktop.org/camera/libcamera/-/issues/351

The shader fix proposed in that issue removes both here. Measured on
0.7.2 with and without it, same scene: the stripes and the fixed rows
are gone and the GPU output is as clean as the CPU's; only the
frame's first rows stay off. It is a one-file patch against 0.7.2,
linked from the issue - if you can rebuild libcamera, it would be
good to know whether it clears the lines on your machine as well.

You saw them on the CPU as well. Snapshot, and Firefox through the
camera portal, run libcamera inside PipeWire, which does not see
LIBCAMERA_SOFTISP_MODE set in a shell - could that test have run on
the GPU? qcam started with the variable set is certain to be the CPU.

Sergey