libcamera/src
Milan Zamazal 663ab2ee8e apps: cam: Skip non-display GPUs
Device::openCard() in the cam DRM helpers looks for a /dev/dri/card*
device that can be opened and that doesn't fail when asked about
DRM_CAP_DUMB_BUFFER capability (regardless whether the capability is
supported by the device).

There can be matching devices that are not display devices.  This can
lead to selection of such a device and inability to use KMS output with
the `cam' application.  The ultimate goal is to display something on the
device and later the KMS sink will fail if there is no connector
attached to the device (although it can actually fail earlier, when
trying to set DRM_CLIENT_CAP_ATOMIC capability if this is not
supported).

Let's avoid selecting devices without connectors, CRTCs or encoders.
The added check makes the original check for DRM_CAP_DUMB_BUFFER API
most likely unnecessary, let's remove it.

Signed-off-by: Milan Zamazal <mzamazal@redhat.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2025-05-30 12:26:53 +03:00
..
android meson: Don't unnecessarily fallback to libyuv wrap 2024-11-26 19:05:17 +02:00
apps apps: cam: Skip non-display GPUs 2025-05-30 12:26:53 +03:00
gstreamer utils: codegen: Make users depend on controls.py in meson 2025-05-22 13:16:07 +02:00
ipa ipa: rpi: Prevent segfault if AGC algorithm is absent 2025-05-29 15:00:09 +01:00
libcamera libcamera: process: Pass stderr and reserve stdin and stdout fds 2025-05-29 12:30:12 +01:00
py utils: codegen: Make users depend on controls.py in meson 2025-05-22 13:16:07 +02:00
v4l2 meson: Convert v4l2 into a feature option 2025-01-10 12:35:10 +01:00
meson.build libcamera: meson: Fix libyuv detection 2025-03-01 22:36:24 +00:00