Add Intel IPU6 and libcamera support via GStreamer integration#1032
Add Intel IPU6 and libcamera support via GStreamer integration#1032bilalobe wants to merge 3 commits intoboltgolt:masterfrom
Conversation
|
Hello, first off, a big Thank You @bilalobe for your effort. This functionality is very much needed, and will only be more necessary going forward. I have several Microsoft Surface tablets and laptops and would love to have this working. @boltgolt - did you have a chance to take a look at this PR? Thanks, |
|
this looks quite vibe-coded, and I'm not just referring to the PR body. But if it works as promised, this is great :) Although I have had howdy working on my xps 9320 even without this |
bilalobe
left a comment
There was a problem hiding this comment.
I revisited this on my own IPU6/libcamera machine and want to tighten the framing a bit.
The core problem is real: on newer laptops, the camera stack often does not present a stable desktop-friendly V4L2 stream that OpenCV can consume directly. In practice, I ended up needing a bridge of the form:
libcamera / libcamerasrc -> GStreamer -> v4l2loopback -> OpenCV/Howdy
So the underlying motivation for this PR is still valid.
Add optional GStreamer-assisted capture path for systems where direct OpenCV capture is not usable
Summary
This PR adds an optional way for Howdy to start a user-configured GStreamer command before opening the configured video device.
The goal is narrow: support systems where the camera cannot be read reliably through the existing direct OpenCV path alone, but can be made available through a user-managed capture pipeline.
What this changes
This PR adds three optional configuration values in the
[video]section:use_gstreamergstreamer_pipelinegstreamer_startup_delayWhen
use_gstreamer = true, Howdy will:device_pathusing the existing recorder flowIf
use_gstreamer = false, behavior remains unchanged.What this does not do
This PR does not:
The configured
device_pathis still the device Howdy reads from. This change only adds an optional subprocess startup step before capture.Why this is useful
On some systems, especially newer laptop camera stacks, the configured capture device may need to be created or prepared externally before OpenCV can use it.
This PR allows that preparation step to be driven by configuration instead of requiring local wrapper scripts or manual process management outside Howdy.
Behavior and failure mode
Files changed
howdy/src/recorders/video_capture.pyhowdy/src/config.inihowdy/src/GSTREAMER_INTEGRATION.md