Commit Graph

3 Commits

Author SHA1 Message Date
test0r 65b3919800 rename campaign packages to use -fourier suffix
build and publish packages / distcc-avahi-aarch64 (push) Successful in 35s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Has been cancelled
build and publish packages / claude-his-debian (push) Has been cancelled
Stock-replacing pkgnames (kwin, qt6-base) hid the campaign carry from
'yay -Sl | grep fouri'. Renamed to -fourier suffix everywhere, with
conflicts/provides/replaces so existing stock installs auto-migrate
on next pacman -Syu. Pkgrel bumped on each.

  kwin                       -> kwin-fourier
  qt6-base                   -> qt6-base-fourier
  qt6-xcb-private-headers    -> qt6-xcb-private-headers-fourier
  ffmpeg-v4l2-request-git    -> ffmpeg-v4l2-request-fourier
  vulkan-panfrost            -> vulkan-panfrost-fourier
2026-04-30 05:30:02 +00:00
test0r 052a692668 ffmpeg-v4l2-request-git: libudev bypass for sandboxed callers
build and publish packages / distcc-avahi-aarch64 (push) Failing after 19s
build and publish packages / lmcp-debian (push) Has been skipped
build and publish packages / lmcp-any (push) Has been skipped
build and publish packages / claude-his-any (push) Has been skipped
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Has been skipped
build and publish packages / claude-his-debian (push) Has been skipped
Adds a brute-force fallback to v4l2request_open_decoder() that
enumerates /dev/media[0..15] and /dev/video[0..63] directly when
udev_enumerate_scan_devices() returns an error. The fallback uses
absolute paths only (no fd-relative openat), which is what makes it
work inside firefox's RDD seccomp+broker sandbox where Mozilla's
OpenAtTrap rejects fd-relative paths used by systemd's chase()
symlink resolver.

Same approach Chromium uses in media/gpu/v4l2/stateless/ on ChromeOS,
where the sandbox similarly forbids libudev's chase pattern.

No regression: the libudev path runs first and the brute-force path
only activates on its failure. AV_LOG_INFO line announces the
fallback so it's visible in MOZ_LOG=FFmpegLib:5.

Validated on RK3399 / Pinebook Pro / rkvdec:
  libudev probe failed (-2), falling back to brute-force /dev/media*
  Using V4L2 media driver rkvdec (brute-force) for S264
  Reinit context to 1920x1088, pix_fmt: drm_prime
  RDD CPU = 4.9%

Bumps pkgrel=2. Worth submitting to Kwiboo's fork upstream.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 17:58:57 +00:00
test0r 9994c4e3b6 arch/ffmpeg-v4l2-request-git: FFmpeg 8.1 + V4L2-Request hwaccel for Fourier
build and publish packages / distcc-avahi-aarch64 (push) Successful in 59s
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 12s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 14m3s
build and publish packages / claude-his-debian (push) Successful in 5s
First carrier package for the Fourier umbrella. Tracks Kwiboo's
v4l2-request-n8.1 branch (ffmpeg 8.1 base) pinned at commit b57fbbe —
bump _commit to rebase onto newer tip. CI job chained after
claude-his-any so it serializes on the shared aarch64 repo-db;
continue-on-error: true so long ffmpeg builds don't block the debian
downstream.

Deliberately diverges from the AUR package:

- AUR pins 6.1.1 with epoch=2 → would downgrade stock Arch ffmpeg 2:8.1-3.
  We track 8.1 so install is a sideways swap, not a regression.
- AUR pulls X11/AMF/CUDA/FireWire/AviSynth/OpenMPT/Bluray/OpenMAX/JPEG-XL/
  Theora/XVid/rsvg/soxr/ssh/vidstab/modplug/SDL2/Vulkan/JACK/GSM/Speex —
  dropped here; none are needed on a Wayland ARM video-decode fleet.
- AUR uses #branch=…, sha256sums=(SKIP) → every build is tip-of-branch,
  not reproducible. We pin via #commit=<sha>.

Kept: encoders (libx264/libx265/libvpx/libdav1d), VAAPI, libdrm, libv4l2,
neon, OpenGL, PulseAudio, subtitle/font stack, gnutls TLS. SDL2 dropped
means no ffplay binary (mpv covers interactive playback).

provides=(ffmpeg) conflicts=(ffmpeg) so it replaces stock ffmpeg on the
target host deliberately. Primary consumers: ohm (Fourier step 5),
fresnel, ampere.
2026-04-24 20:03:16 +00:00