Hi team,
I'm trying to get object avoidance working on a VOXL 2 Mini (SDK 1.6.3, ArduPilot) and hit a wall
getting voxl-dfs-server running. Wanted to share what I found in case it saves someone else the
digging, and hopefully get a fix published.
THE PROBLEM
Starting voxl-dfs-server immediately spams this and never produces the dfs_point_cloud output:
ERROR only support STEREO_RAW_8 images right now
I checked the source on GitLab (qrb5165-dfs-server), and the code itself is actually fine - it
checks the correctly-named format constant IMAGE_FORMAT_STEREO_RAW8 (the underscore only shows up
in the printf error text, that part's just a cosmetic typo, not the real bug).
The real issue is that the shipped binary is stale. Looking at the repo's tags, sdk-1.1.0 through
sdk-1.6.0 all point to the exact same commit from 2023-09-22 (tag v0.2.0) - it's never actually
been recompiled since then, even though voxl-camera-server has moved forward two major version
lines in that same window (1.8.x back then, 2.2.x now).
I also checked whether a newer build exists anywhere that just hasn't been documented:
dev channel has a rebuild dated 2025-10-09, but its binary still has the identical error
string - the rebuild changed some dependency versions but didn't touch this
the "stable" sdk-1.7 channel file has a May 2026 timestamp, but its MD5 hash is byte-for-byte
identical to the 2023 build already on my board - just a re-touch, not a real recompile
checked staging, and the separate qrb5165-2 line too (that one's for a different Ubuntu 20.04
image and doesn't even ship this package)
So as far as I can tell, no build anywhere actually matches the current image-format naming.
My guess: IMAGE_FORMAT_STEREO_RAW8 is a compile-time constant, and libmodal-pipe has moved from
~2.9.x (when dfs-server was last built) to 2.14.11 today. If that enum's value shifted in that
window, dfs-server would be comparing against a stale integer even though its own source code
symbol name is correct.
WHAT'S ALREADY RULED OUT
Stereo cameras themselves are fine - calibrated, streaming, confirmed via voxl-inspect-cam etc.
voxl-dfs-server's config is correctly pointed at the stereo pair with valid calibration files
voxl-vision-hub is correctly configured for VOA and just waiting on the dfs_point_cloud pipe
Not attempting a local downgrade of voxl-camera-server to fix this - it would risk breaking
ABI compatibility for every other service that links libmodal-pipe, and per
voxl-configure-pkg-manager's own docs, mixed package versions aren't a supported configuration
anyway
THE ASK
Since the source looks correct and this seems like a simple stale-build issue, could
qrb5165-dfs-server get recompiled against current libmodal-pipe and republished? Happy to test a
new build on my SDK 1.6 board if one becomes available.
Board info: VOXL 2 Mini, hw platform M0104, voxl-suite 1.6.3, ArduPilot flight stack.
Thanks!