From 1be49951a774e9b39e6fe3dcb4bbf53be0b36bee Mon Sep 17 00:00:00 2001 From: Markus Fritsche Date: Fri, 24 Apr 2026 20:04:55 +0000 Subject: [PATCH] ohm step 5: scaffold ffmpeg-v4l2-request-git PKGBUILD in marfrit-packages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit marfrit-packages commit 9994c4e adds arch/ffmpeg-v4l2-request-git/ plus the CI job (chained after claude-his-any, continue-on-error). Tracks Kwiboo's v4l2-request-n8.1 branch, pinned to commit b57fbbe, strips the AUR package's X11/AMF/CUDA/FireWire/etc deps, keeps encoders. Fleshes out the packaging table with Status column and the "why not the AUR package" rationale so a cold-start session doesn't re-discover the downgrade trap. Status: scaffolded, not yet pushed — next step is to push marfrit-packages main, let fermi CI build, install on ohm, then run the v4l2-request hwaccel validation. Co-Authored-By: Claude Opus 4.7 (1M context) --- README.md | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 941cc70..59e564c 100644 --- a/README.md +++ b/README.md @@ -159,8 +159,9 @@ picks up rkvdec2 patches. 7. **Document** — freeze the final recipe in this README **Status 2026-04-24**: ohm reachable; steps 1 + 2 + 3 done for H.264 on -ohm. SW baseline numbers below; step 5 (ffmpeg-v4l2-request build + -install via marfrit-packages) is next. +ohm; step 5 scaffold landed (`marfrit-packages/arch/ffmpeg-v4l2-request-git/` +on `main`, commit `9994c4e`, not yet pushed — first fermi CI build + ohm +install still to run). Immediate next: push, build, install, validate. ### SW baseline numbers (2026-04-24, ohm, `bbb_1080p30_h264.mp4`) @@ -300,12 +301,20 @@ New fleet hosts should get Fourier userspace via `pacman -S` / `apt install`, not per-device AUR rebuilds. Mirror plan in `marfrit-packages` (layout: `arch//PKGBUILD`, `debian//build-deb.sh + debian/`): -| Package | Source | CI runner | Target | -|------------------------------|-----------------------------------------|-----------|---------| -| `ffmpeg-v4l2-request-git` | fork of AUR (Jernej's patchset on ffmpeg tip) | **fermi** (Arch ARM aarch64) | Path A: ohm, fresnel, ampere | -| `ffmpeg-v4l2-request` | same patches against Debian ffmpeg src | **feynman** (Debian aarch64) | Path A Debian hosts | -| `gst-plugins-bad-fourier` | only if stock distro package is <1.28 | fermi / feynman | 1.28 HEVC UAPI uplift | -| `libva-v4l2-request` | upstream tag | fermi / feynman | VA-API bridge | +| Package | Source | CI runner | Target | Status | +|------------------------------|-----------------------------------------|-----------|---------|--------| +| `ffmpeg-v4l2-request-git` | Kwiboo `v4l2-request-n8.1` (rebase of Jernej's series onto ffmpeg 8.1), pinned to `_commit` | **fermi** (Arch ARM aarch64) | Path A: ohm, fresnel, ampere | scaffolded 2026-04-24 | +| `ffmpeg-v4l2-request` | same patches against Debian ffmpeg src | **feynman** (Debian aarch64) | Path A Debian hosts | pending | +| `gst-plugins-bad-fourier` | only if stock distro package is <1.28 | fermi / feynman | 1.28 HEVC UAPI uplift | not needed yet (stock ALARM ships 1.28.2) | +| `libva-v4l2-request` | upstream tag | fermi / feynman | VA-API bridge | pending | + +Why not the AUR `ffmpeg-v4l2-request-git`: it tracks a 6.1.1 branch with +`epoch=2`, which makes it older than stock Arch `2:8.1-3` — install would +**downgrade** system ffmpeg. It also pulls X11/AMF/CUDA/FireWire/AviSynth/ +OpenMPT/Bluray/etc, none relevant on a Wayland ARM video-decode fleet, and +has no commit pin. The marfrit fork tracks Kwiboo's `v4l2-request-n8.1` +(ffmpeg 8.1 base, sideways swap with stock), pins a commit for +reproducibility, and strips the unused deps. The Arch package is the priority (ohm + fresnel are Arch-based). Debian package comes second (relevant if a fleet host ever runs Debian — kepler or