|
libfreenect2 0.4
Open source driver for the Kinect for Windows v2 (K4W2) sensor
|
This ledger records which upstream reports informed the libfreenect2-metal 0.3 work. “Covered” means the fork contains the documented implementation and hosted regression coverage; it does not change the state of the original OpenKinect issue. Hardware-only checks remain release gates where noted.
| Upstream issue | v0.3 coverage | Validation |
|---|---|---|
| #792 | C++11 standard threading; monotonic arrival timestamps; bounded timestamp-aligned listener; replay timing | timed-wait, wraparound, queue, and interruption unit tests |
| #438 | immutable calibration snapshot; durable manifest-directory raw recording; strict/salvage replay; recording calibration inputs | round-trip, truncation, traversal, replay-selection, timing, and parser-fuzz tests |
| #381 | standard threading; idempotent failure cleanup; device state/error reporting; explicit wait/reopen recovery | lifecycle unit coverage; unplug/replug hardware soak required |
| #163 | independent bilateral and edge-aware controls on CPU, OpenCL, CUDA, OpenGL, and Metal | four-mode CPU/Metal tests plus hosted OpenCL/OpenGL matrix |
| #721 | first-transfer host arrival time and explicit timestamp-aligned software pairing | fragmented RGB, completed-depth, wrap-safe comparison, and listener tests |
| #869 | documented separation between timestamp pairing and hardware synchronization | timing and capture metadata tests |
| #978 | context-bound idempotent OpenGL teardown and partial-initialization cleanup | construction/teardown stress test; OpenGL/hardware soak required |
| #948 | raw color/depth recording with identity, calibration, metadata, ordering, and replay | synthetic CPU round trip and malformed-input fuzzing |
| #1001 | explicit VAAPI device selection and deterministic JPEG-capable node probing | Linux VAAPI warnings-as-errors build and fake initialization tests |
| #1071 | VAAPI resource lifetime separated from decoder health | failure-path compile and unit coverage |
| #1123 | packet buffers remapped on VAAPI failure paths | simulated runtime failure and same-packet fallback test |
| #1172 | per-pipeline decoder policy, environment precedence, and permanent TurboJPEG fallback | API precedence and failover tests; Intel/AMD runtime soak required |
| #1191 | unsafe NVIDIA nodes skipped only during automatic VAAPI probing | deterministic discovery build coverage; explicit-path behavior documented |
| #1173 | project-owned CUDA vector primitives | CUDA 12.3 compile-only gate |
| #1190 | standard and KDE kernels no longer include helper_math.h | both kernels compiled in the CUDA 12.3 container |
| #1202 | CUDA sample-header discovery removed from modern and legacy CMake paths | GPU-less explicit-architecture build; hardware parity required |
| #144 | per-device offset-only or linear depth correction with no automatic/global offset | synthetic known-distance and holdout tests |
| #319 | explicit ROI statistics and guidance separating scalar Z correction from spatial calibration | invalid/outlier ROI tests and calibration guide |
| #535 | live warm-up discard and thermal warm-up guidance | hardware-free collector build; warmed-device validation required |
| #596 | serial/firmware-bound versioned profiles with mismatch refusal | JSON round trip and capture policy build coverage |
| #865 | opt-in correction preserving invalid pixels and raw recordings | invalid-pixel, fit, replay-input, and holdout tests |
Before publishing v0.3.0, attach results for the available Kinect lifecycle soak, 60-second raw recording/replay validation, Intel or AMD VAAPI runtime fallback run, CPU/CUDA recording parity, and three-distance plus unseen holdout calibration. Hosted CI intentionally does not report GPU or USB runtime success when it only compiled or simulated those paths.