Bug#1012871: libcamera: Breaks Qt camera support when installed

Lisandro Damián Nicanor Pérez Meyer lisandro at debian.org
Thu Jun 16 00:18:35 BST 2022


Source: libcamera
Version: 0~git20200629+e7aa92a-8
Severity: important
X-Debbugs-Cc: lisandro at debian.org, pkg-kde-talk at alioth-lists.debian.net

Hi! I've found out that the sole fact of having libcamera0 installed
breaks Qt (tested with Qt 6).

As you can see by comparing the attached files with_libcamera.txt and
without_libcamera.txt calls to gst-device-monitor-1.0 Video differ.

The attached Qt example exemplifies this. Install qt6-base-dev and
qt6-multimedia-dev. Uncompress the tarball and:

cd test
qmake6
make
./test

If your system has a cemra available and libcamera is not installed the
application will list it. If libcamera is installed it will not be
listed.

Somehow libcamera manages to change something on the gstreamer pipeline
that breaks other unrelated software.

I really think this bug ought to be serious as it breaks unrelated
software, but I'll keep that at your discretion.

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: arm64

Kernel: Linux 5.18.0-1-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=es_AR.UTF-8, LC_CTYPE=es_AR.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
-------------- next part --------------
A non-text attachment was scrubbed...
Name: camera_test.tar.gz
Type: application/gzip
Size: 651 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-kde-talk/attachments/20220615/73e5a221/attachment.gz>
-------------- next part --------------
Probing devices...


Device found:

	name  : Integrated Camera: Integrated C
	class : Video/Source
	caps  : video/x-raw, format=YUY2, width=1280, height=720, pixel-aspect-ratio=1/1, framerate=10/1
	        video/x-raw, format=YUY2, width=960, height=540, pixel-aspect-ratio=1/1, framerate=10/1
	        video/x-raw, format=YUY2, width=848, height=480, pixel-aspect-ratio=1/1, framerate=10/1
	        video/x-raw, format=YUY2, width=640, height=480, pixel-aspect-ratio=1/1, framerate=30/1
	        video/x-raw, format=YUY2, width=640, height=360, pixel-aspect-ratio=1/1, framerate=30/1
	        video/x-raw, format=YUY2, width=424, height=240, pixel-aspect-ratio=1/1, framerate=30/1
	        video/x-raw, format=YUY2, width=352, height=288, pixel-aspect-ratio=1/1, framerate=30/1
	        video/x-raw, format=YUY2, width=320, height=240, pixel-aspect-ratio=1/1, framerate=30/1
	        video/x-raw, format=YUY2, width=320, height=180, pixel-aspect-ratio=1/1, framerate=30/1
	        image/jpeg, width=1280, height=720, pixel-aspect-ratio=1/1, framerate=30/1
	        image/jpeg, width=960, height=540, pixel-aspect-ratio=1/1, framerate=30/1
	        image/jpeg, width=848, height=480, pixel-aspect-ratio=1/1, framerate=30/1
	        image/jpeg, width=640, height=480, pixel-aspect-ratio=1/1, framerate=30/1
	        image/jpeg, width=640, height=360, pixel-aspect-ratio=1/1, framerate=30/1
	        image/jpeg, width=424, height=240, pixel-aspect-ratio=1/1, framerate=30/1
	        image/jpeg, width=352, height=288, pixel-aspect-ratio=1/1, framerate=30/1
	        image/jpeg, width=320, height=240, pixel-aspect-ratio=1/1, framerate=30/1
	        image/jpeg, width=320, height=180, pixel-aspect-ratio=1/1, framerate=30/1
	properties:
		udev-probed = true
		device.bus_path = pci-0000:00:14.0-usb-0:8:1.0
		sysfs.path = /sys/devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8:1.0/video4linux/video0
		device.bus = usb
		device.subsystem = video4linux
		device.vendor.id = 04f2
		device.vendor.name = "Chicony\\x20Electronics\\x20Co.\\x2cLtd."
		device.product.id = b725
		device.product.name = "Integrated\ Camera:\ Integrated\ C"
		device.serial = Chicony_Electronics_Co._Ltd._Integrated_Camera_0001
		device.capabilities = :capture:
		device.api = v4l2
		device.path = /dev/video0
		v4l2.device.driver = uvcvideo
		v4l2.device.card = "Integrated\ Camera:\ Integrated\ C"
		v4l2.device.bus_info = usb-0000:00:14.0-8
		v4l2.device.version = 332290 (0x00051202)
		v4l2.device.capabilities = 2225078273 (0x84a00001)
		v4l2.device.device_caps = 69206017 (0x04200001)
	gst-launch-1.0 v4l2src ! ...

-------------- next part --------------
Probing devices...

[0:28:36.376627515] [150393]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0

Device found:

	name  : \_SB_.PC00.XHCI.RHUB.HS08-8:1.0-04f2:b725
	class : Source/Video
	caps  : image/jpeg, width=320, height=180
	        image/jpeg, width=320, height=240
	        image/jpeg, width=352, height=288
	        image/jpeg, width=424, height=240
	        image/jpeg, width=640, height=360
	        image/jpeg, width=640, height=480
	        image/jpeg, width=848, height=480
	        image/jpeg, width=960, height=540
	        image/jpeg, width=1280, height=720
	        video/x-raw, format=YUY2, width=320, height=180
	        video/x-raw, format=YUY2, width=320, height=240
	        video/x-raw, format=YUY2, width=352, height=288
	        video/x-raw, format=YUY2, width=424, height=240
	        video/x-raw, format=YUY2, width=640, height=360
	        video/x-raw, format=YUY2, width=640, height=480
	        video/x-raw, format=YUY2, width=848, height=480
	        video/x-raw, format=YUY2, width=960, height=540
	        video/x-raw, format=YUY2, width=1280, height=720
	gst-launch-1.0 libcamerasrc camera-name="\\_SB_.PC00.XHCI.RHUB.HS08-8:1.0-04f2:b725" ! ...



More information about the pkg-kde-talk mailing list