[libcamera-devel] Need help with RaspberryPI pipeline bringup on Android

Roman Stratiienko r.stratiienko at gmail.com
Tue Nov 9 14:27:55 CET 2021


To make Android happy I've applied one patch:

--- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
+++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp
@@ -429,9 +429,10 @@ CameraConfiguration::Status
RPiCameraConfiguration::validate()
                        rawCount++;
                } else {
+                       cfg.bufferCount = 3;
                        outSize[outCount] = std::make_pair(count, cfg.size);
                        /* Record the largest resolution for fixups later. */
                        if (maxSize < cfg.size) {

(Similar are done in other pipelines).

And it seems to me that it somehow conflicts with raspberrypi pipeline
internals.

вт, 9 нояб. 2021 г. в 13:54, Roman Stratiienko <r.stratiienko at gmail.com>:
>
> Hi Naushir,
>
> Thanks a lot for your support. You were right, it returns with error
> in that place. I'm correctly investigating why there is no buffer in
> the cache.
>
> вт, 9 нояб. 2021 г. в 12:32, Naushir Patuck <naush at raspberrypi.com>:
> >
> >
> > On Tue, 9 Nov 2021 at 10:26, Naushir Patuck <naush at raspberrypi.com> wrote:
> >>
> >> Hi Roman,
> >>
> >> Not sure if the email thread is the best place to discuss your issue, so perhaps create a bug report at bugs.libcamera.org.
> >> Onto the actual issue - it seems like the ISP gets starved of request buffers and fails to produce output and the pipeline handler stalls.
> >> The reason it gets starved is likely to be due to the following errors in the log:
> >>
> >> 10-07 14:37:46.726   360   442 D libcamera: DEBUG RPISTREAM rpi_stream.cpp:226 Queuing buffer 1048579 for ISP Output1
> >> 10-07 14:37:46.727   360   442 E libcamera: ERROR RPISTREAM rpi_stream.cpp:231 Failed to queue buffer for ISP Output1
> >> 10-07 14:37:46.727   360   442 D libcamera: DEBUG RPISTREAM rpi_stream.cpp:226 Queuing buffer 1048580 for ISP Output1
> >> 10-07 14:37:46.727   360   442 E libcamera: ERROR RPISTREAM rpi_stream.cpp:231 Failed to queue buffer for ISP Output1
> >> 10-07 14:37:46.727   360   442 D libcamera: DEBUG RPISTREAM rpi_stream.cpp:226 Queuing buffer 1048581 for ISP Output1
> >> 10-07 14:37:46.728   360   442 E libcamera: ERROR RPISTREAM rpi_stream.cpp:231 Failed to queue buffer for ISP Output1
> >>
> >> I cannot tell further why the qbuf ioctl has failed.  Perhaps something in dmesg would tell us?  Could you expand on how your request
> >> buffers have been allocated?
> >
> >
> > Just a pointer for you to investigate... The logs suggest that V4L2VideoDevice::queueBuffer() fails at:
> >
> > ret = cache_->get(*buffer);
> > if (ret < 0)
> >         return ret;
> >
> > as all other error paths through that function log a message, and we see none.  So it may not necessarily be the ioctl that fails.
> >
> > Naush
> >
> >>
> >>
> >> Thanks,
> >> Naush
> >>
> >>
> >> On Mon, 8 Nov 2021 at 20:20, Roman Stratiienko <r.stratiienko at gmail.com> wrote:
> >>>
> >>> Yes, I am on the very latest rpi branch without any custom patches. I had to upgrade it because of new media control used in mainline libcamera.
> >>>
> >>> пн, 8 нояб. 2021 г., 22:12 Kieran Bingham <kieran.bingham at ideasonboard.com>:
> >>>>
> >>>> Hi Roman,
> >>>>
> >>>> Quoting Roman Stratiienko (2021-11-08 17:46:56)
> >>>> > Hi guys,
> >>>> >
> >>>> > I have stuck with camera bring-up for Android. Could somebody who has
> >>>> > experience in it help me to find a right way to solve this. Logs are
> >>>> > available here:
> >>>> > https://github.com/kbingham/libcamera/issues/31
> >>>>
> >>>> The RPi kernel, and pipeline handler have had a large change recently to
> >>>> convert to using MediaController. It may require ensuring you have the
> >>>> latest kernel from RPi, along with the latest libcamera.
> >>>>
> >>>> You mentioned that you have " rpi-kernel v5.10.y", do you know if this
> >>>> contains the commits that update to the new MediaController drivers?
> >>>>
> >>>> I assume you are building your own kernel, so you'll want to make sure
> >>>> you're on the (very, very) latest branch, and it might be something to
> >>>> check on the RPi forums otherwise.
> >>>>
> >>>> --
> >>>> Kieran
> >>>>
> >>>>
> >>>> >
> >>>> > Thanks in advance,
> >>>> > Roman


More information about the libcamera-devel mailing list