d8aa3aae8d38f17c87b11c1a5f29b4762a6dea4b
293 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6a417fcc9d |
libva-v4l2-request-fourier-debian: route to debian-aarch64-bohr runner (#45)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 3s
build and publish packages / mesa-panvk-bifrost-aarch64 (push) Successful in 3s
build and publish packages / lmcp-any (push) Successful in 3s
build and publish packages / lmcp-debian (push) Successful in 3s
build and publish packages / claude-his-any (push) Successful in 3s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 3s
build and publish packages / claude-his-debian (push) Successful in 4s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 4s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 21m49s
build and publish packages / daedalus-v4l2-debian (push) Successful in 3s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 4s
build and publish packages / daedalus-v4l2-dkms-debian (push) Successful in 3s
build and publish packages / mpv-fourier-debian (push) Successful in 1m59s
build and publish packages / libva-v4l2-request-fourier-debian (push) Has been cancelled
Two follow-ups to PR #44 (which landed the libva-dev ABI pin):
- `051da5e` switch runs-on from arch-aarch64 → debian-aarch64-bohr
- `5feab57` fix runner label: actrunner-debian-aarch64-bohr (label name mismatch in
|
||
|
|
1c77b05f68 |
Merge pull request 'libva-v4l2-request-fourier-debian: pin trixie libva-dev for ABI' (#44) from claude-noether/marfrit-packages:noether/libva-trixie-abi-pin into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 3s
build and publish packages / mesa-panvk-bifrost-aarch64 (push) Successful in 3s
build and publish packages / lmcp-any (push) Successful in 3s
build and publish packages / lmcp-debian (push) Successful in 3s
build and publish packages / claude-his-any (push) Successful in 4s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 3s
build and publish packages / claude-his-debian (push) Successful in 3s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 3s
build and publish packages / mpv-fourier-aarch64 (push) Has been cancelled
build and publish packages / libva-v4l2-request-fourier-debian (push) Has been cancelled
build and publish packages / mpv-fourier-debian (push) Has been cancelled
build and publish packages / daedalus-v4l2-debian (push) Has been cancelled
build and publish packages / daedalus-v4l2-dkms-debian (push) Has been cancelled
build and publish packages / ffmpeg-v4l2-request-debian (push) Has been cancelled
Reviewed-on: #44 |
||
|
|
051da5e8dc |
libva-v4l2-request-fourier-debian: switch to debian-aarch64-bohr runner
Per @marfrit on PR #44 review: a native Debian trixie aarch64 runner (debian-aarch64-bohr) is available — use it instead of the sysroot hack from the previous commit. The sysroot approach worked but was a workaround for not having the right runner. Native trixie runner is much cleaner: - libva-dev installs via apt-get directly from trixie's archive (2.22.0-3) — pkg-config returns trixie headers, driver compiles in __vaDriverInit_1_22 naturally. - No need to symlink libva.so.2 -> libva.so or rewrite .pc prefixes. - No bsdtar/ar/dpkg-deb juggling on an Arch runner that doesn't natively have dpkg. Changes from PR v1: - .gitea/workflows/build.yml: libva-v4l2-request-fourier-debian runs-on: debian-aarch64-bohr (was arch-aarch64). Build-deps installed via apt-get instead of pacman -Syu. - build-deb.sh: drop the sysroot download / pkgconfig rewrite / symlink block. Keep the post-build ABI sanity check (nm -D | grep __vaDriverInit_1_22) — same defensive role as before, with an updated error message that points to the expected runner. - debian/.../changelog: -2 entry rewritten to describe the runner move instead of the sysroot. Tested approach on boltzmann (aarch64): meson build against trixie sysroot produces __vaDriverInit_1_22 (proves the source compiles correctly with VA-API 1.22 headers). Native runner build will follow the same path, just without the explicit sysroot setup. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|
|
a1ff6de652 |
libva-v4l2-request-fourier-debian: pin trixie libva-dev for ABI
The libva-v4l2-request-fourier .deb shipped with the wrong VA-API symbol export because the CI runner is Arch (libva 2.23 = VA-API 1.23) while the install target is Debian trixie (libva 2.22 = VA-API 1.22). At compile time, <va/va.h>'s VA_MAJOR/VA_MINOR macros are baked into the driver's __vaDriverInit_<MAJOR>_<MINOR> symbol name. trixie's libva runtime looks up __vaDriverInit_1_22, our driver only exported __vaDriverInit_1_23, so dlsym() returned NULL and libva fell back to its sentinel error "has no function __vaDriverInit_1_0". Result: ffmpeg -hwaccel vaapi fails on startup, vainfo fails the same way, on every Pi 5 / CM5 that installed the package. The driver itself doesn't link libva.so (no NEEDED entry — confirmed via readelf on higgs), so the only thing that matters is the symbol NAME the compiler bakes in. Fix is small: in build-deb.sh, download trixie's libva-dev / libva2 / libva-drm2 .deb from deb.debian.org, extract to a sysroot, rewrite the .pc prefixes, and set PKG_CONFIG_PATH so pkg-config returns trixie headers regardless of what the runner has installed. The link step still resolves -lva against the sysroot's libva.so.2, but the resulting .so has no NEEDED entry for it. Added a hard sanity check at the end of build-deb.sh: fail the build if the produced .so doesn't export __vaDriverInit_1_22. This makes future ABI-skew failures loud at CI time instead of silent install- then-refuse-to-load on the target. Tested on boltzmann (aarch64): sysroot build produces a .so exporting __vaDriverInit_1_22 (verified via nm -D). Source unchanged from c332d34; only the build env differs. pkgver/upstream unchanged. PKGREL bumped 1 -> 2 (rebuild against pinned trixie libva-dev) so apt picks up the new .deb on higgs. This is the LIBVA-2 unblocker — the runtime-libva-bind failure was masking whether the LIBVA-1 per-codec dispatch actually works on higgs. Once -2 lands on packages.reauktion.de, apt upgrade on higgs and the daedalus daemon log + rpi-hevc-dec dispatch can be validated end-to-end. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|
|
b471847b1c |
Merge pull request 'libva-v4l2-request-fourier: de27e95 -> c332d34 (LIBVA-1 close)' (#43) from claude-noether/marfrit-packages:noether/libva-bump-c332d34 into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 3s
build and publish packages / mesa-panvk-bifrost-aarch64 (push) Successful in 3s
build and publish packages / lmcp-any (push) Successful in 3s
build and publish packages / lmcp-debian (push) Successful in 3s
build and publish packages / claude-his-any (push) Successful in 4s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 3s
build and publish packages / claude-his-debian (push) Successful in 3s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 21s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 21m51s
build and publish packages / daedalus-v4l2-debian (push) Successful in 3s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 3s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 21s
build and publish packages / daedalus-v4l2-dkms-debian (push) Successful in 3s
build and publish packages / mpv-fourier-debian (push) Successful in 1m51s
Reviewed-on: #43 |
||
|
|
3abfdff943 |
libva-v4l2-request-fourier: de27e95 -> c332d34 (LIBVA-1 close)
Bumps both Arch (PKGBUILD) and Debian (build-deb.sh + changelog)
pins to upstream c332d34 — the merged LIBVA-1 PR.
Effect: Pi 5 / CM5 mixed deployment (higgs) now opens BOTH
rpi-hevc-dec and daedalus_v4l2 from one libva session and routes
per-codec — HEVC to rpi-hevc-dec ('p'), VP9 / AV1 / H.264 to the
daedalus daemon (new 'd' kind). Before c332d34, find_codec_device
picked rpi-hevc-dec by known_decoder_drivers[] order and the
daedalus slot stayed -1, so VP9/AV1/H.264 frames failed S_FMT.
Also closes a small fd leak in RequestTerminate (daedalus pair —
caught while reviewing the alt-driver expansion).
Both packages: pkgver bumped 1.0.0.r378.c332d34, pkgrel reset to 1
(new upstream pin). Backward-compatible on RK3399/3588 — new
branches gated by HAVE_DAEDALUS_V4L2 *and* video_fd_daedalus >= 0,
both false in those deployments.
Companion: daedalus-v4l2{,-dkms} bump 481279c landed in PR #39
(systemd unit + auto-enable). Together they close the Pi 5 stack:
boot → modules-load.d loads daedalus_v4l2 → daedalus-v4l2.service
starts daemon → libva opens both decoders → ffmpeg -hwaccel vaapi
routes by codec.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
||
|
|
fce33b02a2 |
Merge pull request 'libva-v4l2-request-fourier: restore epoch=1' (#42) from epoch-bump/libva-v4l2-request-fourier-2026-05-20 into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 4s
build and publish packages / mesa-panvk-bifrost-aarch64 (push) Successful in 5s
build and publish packages / lmcp-any (push) Successful in 5s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 5s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 4s
build and publish packages / claude-his-debian (push) Successful in 3s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 37s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 27m50s
build and publish packages / daedalus-v4l2-debian (push) Successful in 4s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 3s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 20s
build and publish packages / daedalus-v4l2-dkms-debian (push) Successful in 3s
build and publish packages / mpv-fourier-debian (push) Successful in 1m51s
Reviewed-on: #42 |
||
|
|
da60fa7c49 |
libva-v4l2-request-fourier: restore epoch=1
Installed systems carry 1:1.0.0.r361.cf8cd9d-1 from an earlier build that had epoch=1. Current PKGBUILD ships 1.0.0.r376.de27e95-1 without epoch, which pacman vercmp ranks BELOW the installed version, so ohm refuses to upgrade with: warning: libva-v4l2-request-fourier: local (1:1.0.0.r361.cf8cd9d-1) is newer than marfrit (1.0.0.r376.de27e95-1) Restoring epoch=1 fixes the monotonic version chain. |
||
|
|
20161d231f |
Merge pull request 'ci: skip jobs when their package version is already published' (#41) from claude-noether/marfrit-packages:claude-noether/rebuild-guard-2026-05-20 into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 7s
build and publish packages / mesa-panvk-bifrost-aarch64 (push) Successful in 3s
build and publish packages / lmcp-any (push) Successful in 5s
build and publish packages / lmcp-debian (push) Successful in 3s
build and publish packages / claude-his-any (push) Successful in 3s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 3s
build and publish packages / claude-his-debian (push) Successful in 3s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 4s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 29m29s
build and publish packages / daedalus-v4l2-debian (push) Successful in 4s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 7s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 39s
build and publish packages / daedalus-v4l2-dkms-debian (push) Successful in 4s
build and publish packages / mpv-fourier-debian (push) Has been cancelled
Reviewed-on: #41 |
||
|
|
c7bb14f369 |
ci: skip jobs when package already published
Wire .gitea/scripts/check-already-published.sh into every job in build.yml. New step `skip if already published` (id: skip-check) lands right after actions/checkout@v4 and runs the helper against the job's recipe-dir. Subsequent steps gain `if: steps.skip-check.outputs.skip != '1'`, except `wipe secrets` which keeps its existing `if: always()`. Recipe-dir per job is taken from each job's existing `cp -r arch/...` or `cd debian/...` line — no guessing. Effect: on push where only e.g. firefox-fourier changed, 13 jobs HEAD the pool, see 200, and short-circuit; only firefox-fourier rebuilds. Verified live against packages.reauktion.de — current branch tip would skip 10/14 jobs. Patch is text-based (no PyYAML round-trip) so comments and blank lines stay where they were. Diff is 190 lines added, 0 removed. |
||
|
|
f8d1257d35 |
ci: add check-already-published helper script
CI currently rebuilds every recipe on every push. distcc-avahi hasn't
changed in weeks but still burns runner-time. Add a small bash helper
that takes a recipe dir (arch/<n> or debian/<n>), resolves the expected
pool URL on packages.reauktion.de, and prints `skip=1` or `skip=0`.
Live-tested against all 14 recipes. Sources PKGBUILDs in a sandboxed
subshell so epoch=, ${_pkgver/-/}, and pkgname=() arrays resolve
correctly. For debian/*, extracts top-level PKGVER/PKGREL lines with
an awk guard that rejects command-subst and embedded-command
assignments (avoids false-positive matches against HEREDOC-quoted
dkms.conf content).
Wiring into build.yml lands in the next commit.
|
||
|
|
f3b1087ac7 |
Merge pull request 'mesa-panvk-bifrost: new package — Vulkan-compositor Brave for Bifrost SBCs' (#40) from claude-noether/marfrit-packages:noether/mesa-panvk-bifrost into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m15s
build and publish packages / mesa-panvk-bifrost-aarch64 (push) Successful in 7m18s
build and publish packages / lmcp-any (push) Successful in 13s
build and publish packages / lmcp-debian (push) Successful in 6s
build and publish packages / claude-his-any (push) Successful in 29s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Failing after 36s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Has been skipped
build and publish packages / mpv-fourier-aarch64 (push) Has been skipped
build and publish packages / ffmpeg-v4l2-request-debian (push) Has been skipped
build and publish packages / libva-v4l2-request-fourier-debian (push) Has been skipped
build and publish packages / mpv-fourier-debian (push) Has been skipped
build and publish packages / claude-his-debian (push) Failing after 36s
build and publish packages / daedalus-v4l2-debian (push) Has been skipped
build and publish packages / daedalus-v4l2-dkms-debian (push) Has been skipped
Reviewed-on: #40 |
||
|
|
2299d7a02f |
Revert "linux-pinetab2-danctnix-besser: pkgrel=6 (per-series reconstruction, kernel-agent#29 done proper)"
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m16s
build and publish packages / lmcp-any (push) Successful in 14s
build and publish packages / lmcp-debian (push) Successful in 12s
build and publish packages / claude-his-any (push) Successful in 13s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Has been cancelled
build and publish packages / mpv-fourier-aarch64 (push) Has been cancelled
build and publish packages / claude-his-debian (push) Has been cancelled
build and publish packages / ffmpeg-v4l2-request-debian (push) Has been cancelled
build and publish packages / libva-v4l2-request-fourier-debian (push) Has been cancelled
build and publish packages / mpv-fourier-debian (push) Has been cancelled
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Has been cancelled
build and publish packages / daedalus-v4l2-debian (push) Has been cancelled
build and publish packages / daedalus-v4l2-dkms-debian (push) Has been cancelled
This reverts commit
|
||
|
|
489d6e3862 |
mesa-panvk-bifrost: new package — Vulkan-compositor Brave for Bifrost SBCs
iter9 of the panvk-bifrost campaign — operator-confirmed Vulkan output
on PineTab2 (Mali-G52 r1 MC1) 2026-05-20.
Patches Mesa 26.0.6's PanVk Vulkan driver:
- VK_KHR/EXT_robustness2 + nullDescriptor exposed for PAN_ARCH 6/7
- has_vk1_1 / has_vk1_2 = true on Bifrost
Patches applied via sed in PKGBUILD prepare() (cleaner than maintaining
a Mesa fork for two two-line tweaks; upstream context drifts between
Mesa releases would make a literal .patch brittle).
Co-installs at /usr/lib/panvk-bifrost/ — stock mesa untouched. Stock
libvulkan_panfrost.so and its ICD JSON keep working for everyone not
opting into the patched driver.
Ships /usr/bin/brave-vulkan that wires up:
VK_ICD_FILENAMES=/usr/lib/panvk-bifrost/icd.json
PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1
MESA_VK_VERSION_OVERRIDE=1.2 # ANGLE needs apiVersion>=1.1; the
# has_vk1_x flags don't move it, so
# the env-var override carries that
brave --use-gl=disabled --enable-features=Vulkan --use-vulkan=native
--ozone-platform=x11 --no-sandbox --disable-gpu-sandbox
--ignore-gpu-blocklist "$@"
Side-steps the stock "GLES3 is unsupported / GPU process exits" failure
documented in panvk-bifrost/README's "Consumer-side benefit" section.
Known limitation: WebGL/WebGL2 in-page won't work — ANGLE needs GLES3
which needs VK_EXT_transform_feedback, which PanVk-Bifrost doesn't
currently support. Browser chrome + standard page rendering work fine.
Gitea Actions job mesa-panvk-bifrost-aarch64 added to build.yml,
patterned on libva-v4l2-request-fourier-aarch64. Mesa build is slow
(~30-60min on actrunner-aarch64). Standalone (no needs:),
continue-on-error so it doesn't block other jobs.
Campaign artifacts: ~/src/panvk-bifrost/{README.md, phase8_iteration9_close.md,
phase0_evidence/iter9_brave_vulkan_breakthrough.txt}.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
265bf669c8 |
Merge pull request 'daedalus-v4l2{,-dkms}: Linux 6.18 compat + systemd unit + auto-enable' (#39) from claude-noether/marfrit-packages:noether/daedalus-v4l2-kernel-6.18-compat into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m20s
build and publish packages / lmcp-any (push) Successful in 13s
build and publish packages / lmcp-debian (push) Successful in 8s
build and publish packages / claude-his-any (push) Successful in 14s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Has been cancelled
build and publish packages / mpv-fourier-aarch64 (push) Has been cancelled
build and publish packages / claude-his-debian (push) Has been cancelled
build and publish packages / ffmpeg-v4l2-request-debian (push) Has been cancelled
build and publish packages / libva-v4l2-request-fourier-debian (push) Has been cancelled
build and publish packages / mpv-fourier-debian (push) Has been cancelled
build and publish packages / daedalus-v4l2-debian (push) Has been cancelled
build and publish packages / daedalus-v4l2-dkms-debian (push) Has been cancelled
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Has been cancelled
Reviewed-on: #39 |
||
|
|
df09c1c55d |
daedalus-v4l2{,-dkms}: f0cd29a -> 481279c — systemd unit + auto-enable
481279c adds packaging/systemd/{daedalus-v4l2.service,modules-load} to
the upstream tree. This commit wires those into both the Arch
(PKGBUILD + .install) and Debian (build-deb.sh + postinst/prerm/postrm)
package layouts so that a fresh install of daedalus-v4l2 + daedalus-
v4l2-dkms on a Pi 5 leaves the kernel module loaded at next boot AND
the userspace broker daemon enabled — no manual modprobe / systemctl
enable dance needed.
arch/daedalus-v4l2:
* pkgver 0.1.0.r18.481279c, pkgrel reset to 1 (new upstream pin).
* Dropped 'systemd-libs' from depends — daemon doesn't link
libsystemd (no sd_notify); the .service unit is consumed by
systemd-the-init, no link-time dep required.
* package() now installs the .service to
/usr/lib/systemd/system/daedalus-v4l2.service and the modules-
load drop-in to /usr/lib/modules-load.d/daedalus-v4l2.conf.
* New .install file: post_install/post_upgrade run daemon-reload +
enable + systemd-modules-load + try-restart on upgrade; pre/post
remove tear down cleanly. No auto-start — operator decides.
arch/daedalus-v4l2-dkms:
* pkgver bump to 481279c, pkgrel reset to 1. Kernel module itself
is bit-identical to f0cd29a (commit only touches packaging/) but
bumping in lockstep keeps DKMS source-tree pkgver matched to the
userspace pkgver so /etc/modules-load.d points at a module that
actually exists.
debian/daedalus-v4l2:
* Same bump 481279c, PKGREL=1.
* build-deb.sh stages /lib/systemd/system/ + /usr/lib/modules-load.d/
and installs both files.
* Generates DEBIAN/postinst that runs daemon-reload, enables the
service, triggers systemd-modules-load, and conditionally starts
the service iff /dev/daedalus-v4l2 is already present (uses the
same ConditionPathExists= guard as the unit file so apt install
doesn't fail loudly on a host where dkms hasn't built yet).
* Generates DEBIAN/prerm (stop + disable on remove) and
DEBIAN/postrm (daemon-reload).
debian/daedalus-v4l2-dkms:
* Lockstep version bump, PKGREL=1. Postinst (loud-warn-on-missing-
headers) unchanged.
Verified the SHA via local rev-parse against ~/src/daedalus-v4l2 —
481279c is the "packaging/systemd: ship daedalus-v4l2.service +
modules-load drop-in" commit on main.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
||
|
|
e8a5490d44 |
Merge pull request 'daedalus-v4l2{,-dkms}: f55b2cd -> f0cd29a — Linux 6.18 compat' (#38) from claude-noether/marfrit-packages:noether/daedalus-v4l2-kernel-6.18-compat into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m17s
build and publish packages / lmcp-any (push) Successful in 14s
build and publish packages / lmcp-debian (push) Successful in 8s
build and publish packages / claude-his-any (push) Successful in 13s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m16s
build and publish packages / claude-his-debian (push) Successful in 8s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 26s
build and publish packages / mpv-fourier-aarch64 (push) Has been cancelled
build and publish packages / libva-v4l2-request-fourier-debian (push) Has been cancelled
build and publish packages / mpv-fourier-debian (push) Has been cancelled
build and publish packages / daedalus-v4l2-debian (push) Has been cancelled
build and publish packages / daedalus-v4l2-dkms-debian (push) Has been cancelled
build and publish packages / ffmpeg-v4l2-request-debian (push) Has been cancelled
Reviewed-on: #38 |
||
|
|
ff9db4e273 |
daedalus-v4l2{,-dkms}: f55b2cd -> f0cd29a — Linux 6.18 compat
DKMS build for daedalus_v4l2 fails against kernel 6.18+ with:
daedalus_v4l2_main.c:1049: error: too few arguments to function
'v4l2_fh_add'
v4l2-fh.h:97: void v4l2_fh_add(struct v4l2_fh *fh, struct file *filp);
(same for v4l2_fh_del). Signature changed exactly at v6.18 — verified
v6.13–v6.17 still use the one-arg form via raw.githubusercontent.com
tag walk.
Upstream commit f0cd29a wraps the calls with LINUX_VERSION_CODE so the
module keeps building against:
* 6.12 LTS / RPi 6.12.75 (one-arg) — hertz
* 6.12.88+deb13-arm64 (one-arg)
* 6.18.29+rpt-rpi-2712 (file* arg) — higgs running kernel
Higgs (Pi CM5) was hitting this: daedalus-v4l2-dkms 0.1.0+r16+gf55b2cd
showed 'installed' in dpkg but DKMS autoinstall failed for the running
6.18.29 kernel. Re-running 'dkms autoinstall' after this bump succeeds
+ /dev/daedalus-v4l2 appears.
Also widens debian/daedalus-v4l2-dkms Recommends from
linux-headers-generic | linux-headers
to
linux-headers-rpi-2712 | linux-headers-rpi | linux-headers-generic | linux-headers
so apt pulls the right metapackage on Raspberry Pi OS / RPi-2712
kernels by default.
Userspace pkgver bumps in lockstep (no userspace change in f0cd29a, but
keeps daedalus-v4l2 + daedalus-v4l2-dkms versions matching for
LIBVA_DRIVER_NAME selection sanity).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
108a3dabe6 |
firefox-fourier: ship .desktop launcher (pkgrel=7)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m38s
build and publish packages / lmcp-any (push) Successful in 16s
build and publish packages / lmcp-debian (push) Successful in 9s
build and publish packages / claude-his-any (push) Successful in 14s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 13m9s
build and publish packages / claude-his-debian (push) Successful in 9s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 25s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 29m16s
build and publish packages / daedalus-v4l2-debian (push) Successful in 13s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m46s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 31s
build and publish packages / daedalus-v4l2-dkms-debian (push) Successful in 7s
build and publish packages / mpv-fourier-debian (push) Successful in 2m31s
Stock firefox.desktop disappears when our 'provides=firefox' replaces stock firefox-arch, so installing firefox-fourier left the user without a Plasma/GNOME start-menu entry. Add firefox-fourier.desktop with Categories=Network;WebBrowser; (routes under Internet on KDE Plasma 6), MIME types for the usual web schemes, new-window / private-window actions, and the 128px icon from the package's internal browser/chrome/icons tree. Reported on ohm (PineTab2 / Plasma 6) — manual /usr/share/applications shim proved the file works; this commits it to the recipe so future installs Just Work. |
||
|
|
31da35a549 |
linux-pinetab2-danctnix-besser: pkgrel=6 (per-series reconstruction, kernel-agent#29 done proper)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m20s
build and publish packages / lmcp-any (push) Successful in 13s
build and publish packages / lmcp-debian (push) Successful in 7s
build and publish packages / claude-his-any (push) Successful in 13s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m39s
build and publish packages / claude-his-debian (push) Successful in 8s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 27s
build and publish packages / mpv-fourier-aarch64 (push) Has been cancelled
build and publish packages / libva-v4l2-request-fourier-debian (push) Has been cancelled
build and publish packages / mpv-fourier-debian (push) Has been cancelled
build and publish packages / daedalus-v4l2-debian (push) Has been cancelled
build and publish packages / daedalus-v4l2-dkms-debian (push) Has been cancelled
build and publish packages / ffmpeg-v4l2-request-debian (push) Has been cancelled
Bumps pkgrel from 5 to 6. Cumulative regenerated from the redone per-series reconstruction in kernel-agent (replacing the broken PR #33 attempt with a proper rebase onto v7.0-danctnix1 baseline). cumulative.patch: 162 716 -> 279 554 bytes b2sum: 50397711a6a3... -> eb179c03f35a... manifest.lock: 32 resolved patches (was 4 — c5x interim collapsed the bes2600 driver scope into one cumulative blob; per-series properly tracks each fix) bes2600 series-dirs in kernel-agent: now 25 individual series-dirs (one per cleanups commit + Patch H), each with the proper in-tree drivers/staging/bes2600/* paths Built + installed on ohm 2026-05-19 23:39. Functional verification: uname: 7.0.0-danctnix1-6-pinetab2-danctnix-besser srcversion: 1A919EED0E6DC2478559B17 (differs from pkgrel=5's BEB625FA7443171EA8D55F7 — not byte-equivalent; functional equivalence verified: wlan0 associates, bes2600_btuart loads, Pattern A 0, no WARN/BUG) Per-fix revertability now real: removing an include from fleet/ohm.yaml drops that fix from the cumulative. Bisecting on kernel-agent side becomes practical. |
||
|
|
b4d1a47d6b |
Merge pull request 'daedalus-v4l2{,-dkms}: fix hallucinated upstream commit SHA' (#37) from noether/daedalus-sha-fix into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m40s
build and publish packages / lmcp-any (push) Successful in 22s
build and publish packages / lmcp-debian (push) Successful in 11s
build and publish packages / claude-his-any (push) Successful in 22s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 45m44s
build and publish packages / claude-his-debian (push) Successful in 31s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 44s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 47m30s
build and publish packages / daedalus-v4l2-debian (push) Successful in 20s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 2m0s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 33s
build and publish packages / daedalus-v4l2-dkms-debian (push) Successful in 10s
build and publish packages / mpv-fourier-debian (push) Successful in 3m8s
Reviewed-on: #37 |
||
|
|
3548a761a5 |
daedalus-v4l2{,-dkms}: fix hallucinated upstream commit SHA
The recipes pinned `f55b2cdab8a8c0bc04e8c1bb1d0b6ca85e7d96d2` as the "Phase 8.13: byte-exact end-to-end via libva" commit, but that SHA does not exist in git.reauktion.de/reauktion/daedalus-v4l2. The actual `main` tip (per gitea's for-each-ref) is `f55b2cd002afdfd08f3c093627317f92e4929074` — same 7-char prefix (`f55b2cd`), different full hash. Likely a manually-constructed SHA based on a short prefix from a working copy that was never pushed. git archive --format=tar.gz on the bad SHA fails with fatal: not a tree object: f55b2cdab8a8... which surfaces as 500 from Gitea's archive endpoint, which curl in the CI build-deb.sh sees as `curl: (22) ... error: 500`. Diagnosed by tailing gitea.log during a fresh archive request from the CI runner; the underlying `git archive` command in the gitea container is logged with the full failing SHA + error. Fixed in all four recipes (arch + debian, daedalus-v4l2 + dkms). pkgrel bumped to signal new build (PKGVER short-prefix `gf55b2cd` stays the same — both bad and good SHA share that prefix). |
||
|
|
6f65462ec4 |
Merge pull request 'fourier-debian: Path A — ffmpeg into /opt/fourier prefix (no more KDE cascade)' (#36) from noether/fourier-private-prefix into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 2m10s
build and publish packages / lmcp-any (push) Successful in 26s
build and publish packages / lmcp-debian (push) Successful in 12s
build and publish packages / claude-his-any (push) Successful in 25s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 45m37s
build and publish packages / claude-his-debian (push) Successful in 12s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 40s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 49m0s
build and publish packages / daedalus-v4l2-debian (push) Failing after 12s
build and publish packages / daedalus-v4l2-dkms-debian (push) Has been skipped
build and publish packages / mpv-fourier-aarch64 (push) Successful in 2m22s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 42s
build and publish packages / mpv-fourier-debian (push) Successful in 3m55s
Reviewed-on: #36 |
||
|
|
a0e0d123b2 |
fourier-debian: Path A — ffmpeg into /opt/fourier prefix
Stock Debian trixie ships FFmpeg 7.1 (libavcodec.so.61), our fork
ships FFmpeg 8.1 (libavcodec.so.62) — different SONAMEs, NOT a
drop-in for trixie's libavcodec61-consuming desktop. Previous
Conflicts: libavcodec61, libavformat61, ... triggered apt to remove
~50 packages (kde-plasma-desktop, vlc, dolphin, ...) when a user
just wanted ffmpeg-v4l2-request-fourier installed alongside.
This commit:
1. ffmpeg-v4l2-request-fourier (pkgrel=2):
- --prefix=/opt/fourier (instead of /usr)
- --extra-ldexeflags / --extra-ldsoflags: -Wl,-rpath,/opt/fourier/lib
so /opt/fourier/bin/ffmpeg finds its own libs without external help
- Ship /etc/ld.so.conf.d/fourier.conf with /opt/fourier/lib + ldconfig
in postinst/postrm. dlopen-by-SONAME consumers (firefox, daedalus)
find libavcodec.so.62 via ld.so cache without LD_LIBRARY_PATH.
- Drop ALL Conflicts/Replaces/Provides for libav* / libpostproc /
libsw* — no SONAME clash with stock libavcodec61, no reason to
evict anything.
- /usr/bin/ffmpeg-fourier + ffprobe-fourier convenience symlinks.
2. daedalus-v4l2 (pkgrel=2):
- Depends: ffmpeg-v4l2-request-fourier (>= 2:8.1+rfourier)
instead of stock 'ffmpeg (>= 7.1)'. The daedalus binary was
linked against libavcodec.so.62 at build time (CI runner had
marfrit/ffmpeg-v4l2-request-fourier installed); at runtime it
needs the .so.62 that only the fourier pkg provides.
Not touched:
- libva-v4l2-request-fourier: ships only v4l2_request_drv_video.so
at /usr/lib/<triplet>/dri/ which libva dlopens by file pattern.
Path A would break the lookup unless every consumer launcher sets
LIBVA_DRIVERS_PATH. Driver name is unique; no conflict. STAY.
- mpv-fourier: Depends already correctly bound to fourier ffmpeg.
Will receive libavcodec.so.62 via the ld.so.cache mechanism
above without recipe changes.
|
||
|
|
f22f8f03ac |
fourier-debian: fix mpv Conflicts + daedalus ffmpeg conflict (#35)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 2m10s
build and publish packages / lmcp-any (push) Successful in 22s
build and publish packages / lmcp-debian (push) Successful in 11s
build and publish packages / claude-his-any (push) Successful in 22s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m44s
build and publish packages / claude-his-debian (push) Successful in 12s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 36s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 47m44s
build and publish packages / daedalus-v4l2-debian (push) Failing after 27s
build and publish packages / daedalus-v4l2-dkms-debian (push) Has been skipped
build and publish packages / mpv-fourier-aarch64 (push) Successful in 2m22s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 42s
build and publish packages / mpv-fourier-debian (push) Successful in 3m58s
|
||
|
|
e236ec1f42 |
fourier-debian: fix mpv Conflicts: + daedalus ffmpeg conflict
Two deterministic CI failures from run 115 (PR #34 wiring): mpv-fourier-debian (task 566): dpkg-deb refuses `Conflicts: pkg1 | pkg2` — Debian policy doesn't allow alternatives in Conflicts. Split into separate entries. daedalus-v4l2-debian (task 563): pacman -Syu pulled stock arch ffmpeg which conflicts with the already-installed ffmpeg-v4l2-request-fourier left behind by the earlier mpv-fourier-aarch64 job (it configures [marfrit] + pre-installs the fourier ffmpeg). Drop 'ffmpeg' from the pacman line; mirror the [marfrit]+pre-install step from mpv-fourier-debian. Daedalus only needs libavcodec/libavformat headers which the fourier package supplies. |
||
|
|
57e6bac3d4 |
Merge pull request 'firefox-fourier: explicit CC/CXX=distcc in mozconfig' (#33) from noether/firefox-fourier-moz-distcc into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 2m7s
build and publish packages / lmcp-any (push) Successful in 22s
build and publish packages / lmcp-debian (push) Successful in 14s
build and publish packages / claude-his-any (push) Successful in 22s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 44m13s
build and publish packages / claude-his-debian (push) Successful in 12s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 1m31s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 37m41s
build and publish packages / daedalus-v4l2-debian (push) Failing after 41s
build and publish packages / daedalus-v4l2-dkms-debian (push) Has been skipped
build and publish packages / mpv-fourier-aarch64 (push) Successful in 2m2s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 33s
build and publish packages / mpv-fourier-debian (push) Failing after 2m56s
Reviewed-on: #33 |
||
|
|
c818445611 |
ci: wire debian builds for 5 fourier recipes (#34)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 2m7s
build and publish packages / lmcp-any (push) Successful in 25s
build and publish packages / lmcp-debian (push) Successful in 12s
build and publish packages / claude-his-any (push) Successful in 25s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 47m13s
build and publish packages / claude-his-debian (push) Successful in 13s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 41s
build and publish packages / ffmpeg-v4l2-request-debian (push) Successful in 47m46s
build and publish packages / daedalus-v4l2-debian (push) Failing after 49s
build and publish packages / daedalus-v4l2-dkms-debian (push) Has been skipped
build and publish packages / mpv-fourier-aarch64 (push) Successful in 2m23s
build and publish packages / libva-v4l2-request-fourier-debian (push) Successful in 45s
build and publish packages / mpv-fourier-debian (push) Failing after 3m45s
|
||
|
|
45604801fa |
ci: wire debian builds for 5 fourier recipes
The debian/{ffmpeg-v4l2-request-fourier,libva-v4l2-request-fourier,mpv-fourier,daedalus-v4l2,daedalus-v4l2-dkms}
recipes have been sitting in the tree with no CI trigger since 2026-05-18.
build-deb.sh exists and is runnable, but nothing fires it — so no .debs
were ever pushed to packages.reauktion.de/debian/pool/.
Mirror the lmcp-debian / claude-his-debian pattern: build natively on
the arch-aarch64 runner (dpkg-deb is in extra), rsync the .deb to
hertz's incoming dir, trigger publish-deb for bookworm + trixie.
mpv-fourier-debian also pre-installs ffmpeg-v4l2-request-fourier from
[marfrit] for libavcodec ABI symmetry, matching the arch sibling job.
|
||
|
|
0a922a9f36 |
firefox-fourier: explicit CC/CXX=distcc in mozconfig
fermi's makepkg.conf already has BUILDENV=(distcc ...) which prepends /usr/lib/distcc/bin to PATH at build time. But Mozilla's mach configure picks CC/CXX from the environment directly — it doesn't treat the distcc shim in PATH as the default C compiler unless the env vars are set explicitly. Without this guard the distcc workers sat idle while mach drove a local-only build. Mirrors the explicit-distcc pattern already used in ffmpeg-v4l2-request-fourier/PKGBUILD. Caveat documented in the comment: only the C/C++ portion distributes. rustc and host-only build steps stay local. Empirical ~30-40% wall-clock improvement on a 4-worker pool (tesla, dcc1, dcc2, ampere via Avahi zeroconf). pkgrel bumped so a rebuild publishes a new package even though the binary output for users is unchanged (build process speedup only). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
9b170e942c |
Merge pull request 'qt6-base-fourier: fix epoch-mismatch in xcb-private-headers dep' (#32) from noether/qt6-xcb-private-headers-fourier-epoch-fix into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m46s
build and publish packages / lmcp-any (push) Successful in 18s
build and publish packages / lmcp-debian (push) Successful in 10s
build and publish packages / claude-his-any (push) Successful in 18s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 46m47s
build and publish packages / claude-his-debian (push) Successful in 19s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 39s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 2m23s
Reviewed-on: #32 |
||
|
|
cf169fd13e |
qt6-base-fourier: fix epoch-mismatch in xcb-private-headers dep
`package_qt6-xcb-private-headers-fourier()` depended on `qt6-base-fourier=$pkgver` (= literal "6.11.1"), but the package itself ships with `epoch=1` so the installed version is `1:6.11.1-1`. Pacman's strict-equality version compare treats "6.11.1" as epoch=0 and "1:6.11.1" as epoch=1 — mismatch — and refuses every upgrade involving qt6-xcb-private-headers-fourier with "unable to satisfy dependency". Fix: include the epoch prefix in the dep string — `qt6-base-fourier=$epoch:$pkgver`. pkgrel bumped to 2 so the rebuild publishes a new package even though only the dep string changed. Observed on ohm 2026-05-18 after the broader fleet pacman -Syu — worked around there with --assume-installed; this fixes it properly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
81895f991b |
Merge pull request 'arch/linux-pinetab2-danctnix-besser: pkgrel=4 — first kernel-agent-managed release' (#28) from noether/add-linux-pinetab2-danctnix-besser into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m38s
build and publish packages / lmcp-any (push) Successful in 21s
build and publish packages / lmcp-debian (push) Successful in 11s
build and publish packages / claude-his-any (push) Successful in 20s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 33m27s
build and publish packages / claude-his-debian (push) Successful in 12s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 36s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m58s
Reviewed-on: #28 |
||
|
|
011667c8e4 |
linux-pinetab2-danctnix-besser: drop accidentally-committed kernel src tree
The PR branch contained the unpacked Linux 7.0 source tree (~81k files, ~38M additions) under src/. These are makepkg build-dir artifacts that should never be committed; PKGBUILD downloads + extracts them at build time. Their presence inflated the PR file-count display to 81030 changed files. Removed src/ from tracking and added a stronger .gitignore in the package dir to prevent regressions. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
0e6f97f041 |
Merge pull request 'noether/daedalus-v4l2-packages' (#31) from claude-noether/marfrit-packages:noether/daedalus-v4l2-packages into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 55s
build and publish packages / lmcp-any (push) Successful in 9s
build and publish packages / lmcp-debian (push) Successful in 6s
build and publish packages / claude-his-any (push) Successful in 9s
build and publish packages / claude-his-debian (push) Successful in 25s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Failing after 16m36s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Has been cancelled
build and publish packages / mpv-fourier-aarch64 (push) Has been cancelled
Reviewed-on: #31 |
||
|
|
fae7a7b80c | Merge branch 'main' into noether/add-linux-pinetab2-danctnix-besser | ||
|
|
b851861931 |
debian/mpv-fourier: new package
Mirror of arch/mpv-fourier into the Debian tree. Same source
pin (mpv 0.41.0), same 3 patches:
- 0001-meson-add-detection-logic-for-v4l2request-support.patch
- 0002-vo-hwdec-drmprime-add-separate-hwdecs-for-v4l2reques.patch
(Kwiboo + Langdale wiring for AV_HWDEVICE_TYPE_V4L2REQUEST
through drmprime VO hwdec — '--hwdec=v4l2request' actually
engages on dmabuf-wayland)
- 0001-vo_dmabuf_wayland-explicit-cache-sync-on-import-fd.patch
(iter1 of dmabuf-modifier-triage — explicit DMA_BUF_IOCTL_SYNC
on import fds; KWin-on-RK3566 dark-green chroma readback
regression fix on ohm. Root cause is the vb2_dma_resv RFC
upstream still pending.)
Depends on ffmpeg-v4l2-request-fourier (>= 2:8.1+rfourier) —
AV_HWDEVICE_TYPE_V4L2REQUEST only exists in Kwiboo's FFmpeg
fork; stock Debian ffmpeg doesn't have it.
Conflicts/Replaces stock mpv + libmpv2/libmpv1 — drop-in
replacement. Takes epoch 1.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
45f4b5e56f |
debian/ffmpeg-v4l2-request-fourier: new package
Mirror of arch/ffmpeg-v4l2-request-fourier into the Debian tree. Same source pin (Kwiboo v4l2-request-n8.1 @ b57fbbe), same 2 patches (libudev-bypass-fallback + nv15-to-p010-unpack), same configure flag policy (drop X11/AMF/CUDA/Bluray/Vulkan/SDL2/etc. per Fourier fleet focus). Output: single .deb at /usr/bin/ffmpeg + /usr/bin/ffprobe + /usr/lib/aarch64-linux-gnu/libav*.so.61. Conflicts/Replaces the stock Debian ffmpeg + per-lib packages; takes epoch 2 (matches Debian's existing ffmpeg epoch). Provides 'ffmpeg -hwaccel v4l2request' + '-hwaccel drm' routes that drive rkvdec / hantro / cedrus / rpi-hevc-dec / daedalus_v4l2 stateless decoders through libavcodec's hwdevice DRM path, bypassing libva. Required by mpv-fourier and firefox-fourier as their backing FFmpeg; also the kdirect bit-exact reference for libva-v4l2-request-fourier validation. NOT strictly required for the VAAPI-only path on daedalus-v4l2 hosts (stock Debian ffmpeg + libva-v4l2-request- fourier covers that). Install only when going firefox-fourier or kdirect. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
3ddc45d625 |
Merge pull request 'noether/daedalus-v4l2-packages' (#30) from claude-noether/marfrit-packages:noether/daedalus-v4l2-packages into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 41s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 9s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 16m41s
build and publish packages / claude-his-debian (push) Successful in 7s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 19s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m37s
Reviewed-on: #30 |
||
|
|
1bd11eaf27 |
daedalus-v4l2{,-dkms}: f04d700 -> f55b2cd (UAF lifetime fix)
Bumps all 4 daedalus packages (arch + debian × userspace + dkms) to pick up daedalus-v4l2 f55b2cd: "kernel: media_request_get/put around inf->req (UAF safety)". Closes the SHIP-WITH-EYES-OPEN concern Sonnet flagged in the pre-deployment review — without explicit media_request_get on capture + media_request_put on completion, a concurrent MEDIA_IOC_REQUEST_REINIT or process-kill triggering buf_request_complete from the cancel path could drop vb2's reference before our completion handler ran, leaving inf->req dangling through v4l2_ctrl_request_complete + buf_done. Matches the cedrus / rkvdec refcount pattern. No protocol change, no API change, no consumer-side adjustment required. Same byte-exact output verified on hertz post-fix (libva path: match; standalone test_m2m_stream: 30/30 frames). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
4776dc01d2 |
daedalus-v4l2-dkms: loud warning when DKMS build doesn't land
Sonnet pre-deployment review caught a BLOCKER: on a fresh higgs
(Debian 13 / Pi CM5) install without the RPi kernel headers
pre-installed, the postinst's `dkms autoinstall || true` silently
swallowed the build failure. Package appeared installed but the
.ko was absent; `modprobe daedalus_v4l2` then failed and the
entire stack was dead with no clear pointer to the cause.
Fix in both ecosystems:
debian/daedalus-v4l2-dkms/build-deb.sh:
- After `dkms autoinstall`, verify the post-condition with
`dkms status -m daedalus_v4l2 -v VER -k $(uname -r)`.
- If the module isn't 'installed' / 'loaded' for the running
kernel, emit a yellow-bolded ANSI warning naming the most
likely cause (kernel headers package missing) and the exact
recovery steps (linux-headers-rpi-2712 for RPi or
linux-headers-$KERNELVER for Debian generic, then
`dkms autoinstall` + `modprobe`).
- Colour only on TTY; the warning is unconditional regardless.
arch/daedalus-v4l2-dkms/:
- New daedalus-v4l2-dkms.install with post_install +
post_upgrade hooks that run the same `dkms status` check.
- post_upgrade catches the case where a kernel-headers package
was uninstalled / pruned between upgrades, silently
regressing the build.
- Wired into the PKGBUILD via install="${pkgname}.install".
Both versions point at the actual repair commands rather than
just saying "build failed", so the user is one apt/pacman away
from a working stack instead of debugging dkms internals.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
de358b9461 |
Merge pull request 'noether/daedalus-v4l2-packages' (#29) from claude-noether/marfrit-packages:noether/daedalus-v4l2-packages into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 51s
build and publish packages / lmcp-any (push) Successful in 9s
build and publish packages / lmcp-debian (push) Successful in 7s
build and publish packages / claude-his-any (push) Successful in 8s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Has been cancelled
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Has been cancelled
build and publish packages / mpv-fourier-aarch64 (push) Has been cancelled
build and publish packages / claude-his-debian (push) Has been cancelled
Reviewed-on: #29 |
||
|
|
f3dd1c1886 |
debian/daedalus-v4l2-dkms: new package — kernel module via DKMS
Mirror of arch/daedalus-v4l2-dkms into the Debian tree. Architecture: all (source package — DKMS rebuilds per-kernel at install time). Same pin (f04d700, Phase 8.13 close). Installs kernel/ source to /usr/src/daedalus_v4l2-<ver>/ with generated dkms.conf. postinst runs `dkms add` + `dkms autoinstall` so the module builds against the running kernel's headers automatically. prerm runs `dkms remove --all`. Same Makefile-include-path flattening as the Arch sibling: copies daedalus_v4l2_proto.h into kernel/include/ and patches the Makefile's -I path. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
add049f0bd |
debian/daedalus-v4l2: new package — userspace daemon + tools
Mirror of arch/daedalus-v4l2 into the Debian tree. Same pin (f04d700, Phase 8.13 close), same install layout. Output as arm64 .deb. Build path: CMake for daemon (build via ninja); in-tree Makefile for tools. No debhelper; standalone dpkg-deb so it builds on the non-Debian runner. Depends on ffmpeg (libavformat/libavcodec/libavutil 7.1+) at runtime, libdrm2. Recommends daedalus-v4l2-dkms (the kernel module). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
249e8461bb |
debian/libva-v4l2-request-fourier: new package
Mirror of arch/libva-v4l2-request-fourier into the Debian tree. Same pin (de27e95), same build (meson + ninja), output as arm64 .deb installing the VA-API ICD as /usr/lib/aarch64-linux-gnu/dri/v4l2_request_drv_video.so. Auto-detected by VAAPI consumers (ffmpeg -hwaccel vaapi, mpv --hwdec=vaapi, Firefox VAAPI accel) when LIBVA_DRIVER_NAME=v4l2_request is set. build-deb.sh follows the lmcp pattern: reproducible build with SOURCE_DATE_EPOCH pin; standalone dpkg-deb so it runs on a non-Debian builder without dh/debhelper. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
3293cd6542 |
arch/daedalus-v4l2-dkms: new package — kernel module via DKMS
PKGBUILD pinning the same daedalus-v4l2 @ f04d700 as the userspace sibling. Installs kernel/ source to /usr/src/daedalus_v4l2-<ver>/ with a generated dkms.conf; AUTOINSTALL=yes builds the module against the running kernel. The kernel/ Makefile uses -I$(src)/../include for the shared protocol header. In the userspace tree that's daedalus-v4l2/include/; for DKMS we flatten by copying the header into kernel/include/ and patching the Makefile in package() to point there. Sibling Debian package: debian/daedalus-v4l2-dkms/ Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
6de7268b49 |
arch/daedalus-v4l2: new package — userspace daemon + tools
PKGBUILD pinning daedalus-v4l2 @ f04d700 (Phase 8.13 close).
Installs:
- /usr/bin/daedalus_v4l2_daemon — the FFmpeg-backed decode daemon
- /usr/libexec/daedalus-v4l2/{test_chardev_pingpong,test_m2m_decode,
test_m2m_stream} — verification harnesses
- /usr/include/daedalus_v4l2_proto.h — shared kernel↔daemon wire
protocol (for third-party chardev clients)
- /usr/share/doc/daedalus-v4l2/ — README + Phase 8.x closure docs
Runtime deps: ffmpeg (libavformat/libavcodec/libavutil dlopen'd
at runtime per Option γ — daemon binary is link-clean from
FFmpeg), libdrm.
optdepends:
- daedalus-v4l2-dkms: companion kernel module
- libva-v4l2-request-fourier: VAAPI consumer routing through us
Sibling Debian package: debian/daedalus-v4l2/
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|
|
dbae9832b6 |
libva-v4l2-request-fourier: 1.0.0.r348.7ac934e -> 1.0.0.r376.de27e95
Bump pin to de27e95 — "v4l2: log error_idx + failing ctrl id on S_EXT_CTRLS failure" (Phase 8.13 diagnostic). Includes: - b5b3acf: daedalus_v4l2 entry in known_decoder_drivers[] - 2146341: meson option gate (default true) for the daedalus probe slot - de27e95: diagnostic logging on S_EXT_CTRLS failure (logs error_idx + failing control id, ioctl-level vs per-control) Backward-compatible on rkvdec / hantro / cedrus / rpi-hevc-dec hosts — daedalus probe is off-path unless daedalus_v4l2.ko is loaded and /dev/video0 advertises driver "daedalus_v4l2". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
e49797ab21 |
linux-pinetab2-danctnix-besser: bump cumulative b2sum to 50397711a6a3...
kernel-agent corrected the @@ hunk counts in the SCS xor-neon patch (the previous -9,7 +9,12 'fix' was an overcorrection; actual is -9,6 +9,11). pkgrel=4 build #4 silently tolerated the wrong counts because the trailer was stripped, but pkgrel=5 with besser#18 behind SCS exposed the inconsistency. b2sum: ceec602afa8574c74354... -> 50397711a6a3ba522283... Size unchanged 162 716. |
||
|
|
47dfb33e98 |
linux-pinetab2-danctnix-besser: bump cumulative b2sum to ceec602afa85...
Kernel-agent restored the trailer on the SCS patch (SCS is no longer last in the includes ordering — besser#18 is). Cumulative grows +12 bytes for the restored '-- \n2.54.0\n' sentinel. b2sum: 0eb091ddaba4... -> ceec602afa85... Size: 162 704 -> 162 716. |