Ok, new day. The whole venv thing was a bit of a red herring, and most probably unnecessary. I solved the version incompatibility by creating the venv with --system-site-packages, which allows my modified build of picamera2 to succeed. Then I had trouble detecting the camera, which uses the OV5647 chipset. This was solved by adding camera_auto_detect=0 and dtoverlay=ov5647 to the boot config.txt. Then I had a permission issue with the DMA heap ("Could not open any dma-buf provider"), which I fixed by adding a UDEV rule to set the group on /dev/dma_heap/linux,cma to "video":
Finally:
![Cool 8-)]()
Code:
$ sudo nano /etc/udev/rules.d/91-rpi.rulesSUBSYSTEM=="dma_heap", GROUP="video", MODE="0660"Code:
$ rpicam-hello --list-camerasAvailable cameras-----------------0 : ov5647 [2592x1944 10-bit GBRG] (/base/soc/i2c0mux/i2c@1/ov5647@36) Modes: 'SGBRG10_CSI2P' : 640x480 [58.92 fps - (16, 0)/2560x1920 crop] 1296x972 [46.34 fps - (0, 0)/2592x1944 crop] 1920x1080 [32.81 fps - (348, 434)/1928x1080 crop] 2592x1944 [15.63 fps - (0, 0)/2592x1944 crop]Statistics: Posted by Lomax — Sat Dec 13, 2025 11:57 am