e9bc6ebd27043cbc6a59d595b5e32e2480240762
115 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e9bc6ebd27 |
linux-fresnel-fourier: 7.0-1 -> 7.0-14 (carry vb2_dma_resv RFC v2 series)
Sibling to kernel-agent PR #7 (which lands the vb2_dma_resv RFC v2 series under patches/subsystem/media/videobuf2/ and updates fleet/fresnel.yaml to include them). This PR carries the same three patches in the build-tree-ready form for the linux-fresnel-fourier PKGBUILD. Background: Markus iterated v2 locally on boltzmann reaching pkgrel=14 since the 2026-05-09 bootstrap published 7.0-1. v2 attaches the V4L2 producer fence at device_run in slept-OK context per Dufresne's v1 review on linux-media. Drivers opted in here: hantro + rockchip-rga. Changes: - pkgrel 1 -> 14 - pkgdesc adds '+ vb2_dma_resv RFC v2' - source array gains 3 new local patch files (scope-tagged comments point to where they live in marfrit/kernel-agent) - sha256sums extended to 11 SKIP entries No prepare() edit needed — the existing for-loop applies every *.patch in $srcdir, so the 4/5/6 patches get picked up automatically. config unchanged (verified diff vs boltzmann's local pkgrel=14 tree). Pre-built artifacts: linux-fresnel-fourier-7.0-14-aarch64.pkg.tar.zst and linux-fresnel-fourier-headers-7.0-14-aarch64.pkg.tar.zst already exist on boltzmann at /home/mfritsche/src/kernel-agent-bootstrap/ build/marfrit-packages/arch/linux-fresnel-fourier/ — will be signed and published via marfrit-publish-arch after this PR merges (no fresh compile needed; the artifacts were built locally during the iteration loop that reached pkgrel=14). |
||
|
|
201e671d61 |
Merge pull request 'firefox-fourier: vendor-prefs install path correction (browser/defaults -> defaults)' (#13) from claude-noether/marfrit-packages:noether/firefox-fourier-vendor-prefs-correct-path into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 52s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 8s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 8m36s
build and publish packages / claude-his-debian (push) Successful in 6s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 13s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m7s
Reviewed-on: #13 |
||
|
|
d63d1cef72 |
firefox-fourier: move vendor-prefs to defaults/preferences/ (the path Firefox actually scans)
Empirical follow-up to #9. After packaging 150.0.1-4 and installing on fresnel, MOZ_LOG showed the failure pattern was still present: D/FFmpegVideo FFMPEG: Using preferred software codec h264 No VAAPI_VLD engagement, no dmabuf surface locking — Gecko bailed before reaching the patched VAAPI path. Same symptom as issue #8 pre-fix, despite the prefs file being on disk at the expected path. Root cause: /usr/lib/firefox-fourier/browser/defaults/preferences/ is NOT a vendor-prefs scan location in Firefox 150. Mozilla's canonical scan dir is /usr/lib/<app>/defaults/preferences/ — without the 'browser/' prefix. Verified by hand-copying the same file to /usr/lib/firefox-fourier/ defaults/preferences/ and re-running the H.264 playback test: D/FFmpegVideo FFMPEG: Requesting pixel format VAAPI_VLD D/Dmabuf VideoFrameSurface: VAAPI locking dmabuf surface UID 26267 FFMPEG ID 0x4000000 mAVHWFrameContext ... D/Dmabuf VideoFrameSurface: VAAPI locking dmabuf surface UID 26268 FFMPEG ID 0x4000001 ... (15+ surface locks) End-to-end zero-copy DMABUF path engaged, hantro/rkvdec dekodes the H.264 stream via libva-v4l2-request-fourier iter38b. pkgrel 4 -> 5. No other PKGBUILD changes. |
||
|
|
108c725c58 |
Merge pull request 'kwin-fourier 6.6.4->6.6.5 + qt6-base-fourier 6.11.0->6.11.1 (track upstream extra)' (#12) from claude-noether/marfrit-packages:noether/kwin-qt6-baseline-bump into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 53s
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 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 7m11s
build and publish packages / claude-his-debian (push) Successful in 7s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 14s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 56s
Reviewed-on: #12 |
||
|
|
75dadb2925 |
qt6-base-fourier: rebase 6.11.0 -> 6.11.1 to track upstream extra
Triggered by 'pacman -Syu' on fresnel showing local 1:6.11.0-2 newer than (then-)extra 6.11.0-4. By the time of this commit Arch has moved on to 6.11.1-1; rebase straight to that. Diff against Arch's qt6-base 6.11.1 PKGBUILD reduced: - _pkgver 6.11.0 -> 6.11.1 - pkgrel 3 -> 1 (reset on pkgver bump) - sha256 of git tag updated to 2eafe504... (matches Arch's 6.11.1 PKGBUILD) - Drop cherry-pick of 8b54513cdcf6 (qdbus crash fix landed upstream in 6.11.1; Arch dropped it from theirs as well) - depends: gcc-libs replaced by libgcc + libstdc++ (Arch split these into separate packages between 6.11.0 and 6.11.1) - Build flag: -DFEATURE_sql_ibase=OFF removed, -DFEATURE_mimetype_database=OFF added (Arch toggled in 6.11.1) Kept (the reason this fork exists): - 0001/0002/0003 GL_R8-on-ES3 patches (Mali GLES3 KWin compositor stall fix) - qt6-base-cflags.patch + qt6-base-nostrip.patch (system CFLAGS + skip strip) - qt6-xcb-private-headers-fourier sub-package (depended on by other fork pkgs) - epoch=1 (precedence guarantee until upstream lands GL_R8/ES3 fix) Patches NOT dry-run-verified against 6.11.1 source (qt clone is multi-GB and impractical to fetch for a quick check). They touch glyph cache and RHI gles2 paths that have been stable since Qt 6.10; expected to apply cleanly. Will revert pkgrel and re-pin if first build hits hunk failures. |
||
|
|
fedcc4a357 |
kwin-fourier: 6.6.4 -> 6.6.5 (track upstream extra)
Triggered by 'pacman -Syu' on fresnel showing local 1:6.6.4-1 newer than extra 6.6.5-1 (epoch wins, but our base lags upstream). - pkgver 6.6.4 -> 6.6.5 - pkgrel 3 -> 1 (reset on pkgver bump) - sha256sum updated for new tarball - 0001-transaction-bypass-watchDmaBuf-fence-wait.patch dry-run verified clean against 6.6.5/src/wayland/transaction.cpp Epoch=1 retained until upstream lands a proper V4L2 implicit-sync fence-wait bypass (the patch-header hypothesis is still being tested through ohm/fresnel HW-decode validation; not upstreamable yet). |
||
|
|
860ebf2df5 |
firefox-fourier: flatten patches to top-level (makepkg has no subdir support) (#11)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 40s
build and publish packages / lmcp-any (push) Successful in 9s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 8m0s
build and publish packages / claude-his-debian (push) Successful in 7s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 14s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m8s
|
||
|
|
109858eae5 |
firefox-fourier: flatten patches to top-level (makepkg has no subdir support)
Follow-up to #10. The subdir layout I assumed worked turned out to not work — per 'man PKGBUILD': The filename in the array must NOT include any path components like ./ makepkg's source-staging only honors basenames; the patches/ subdir references staged the files but the basename-lookup at apply time failed with the same 'not found in build directory' error that #9 hit. I copied the chromium-fourier convention thinking it was proven, but chromium-fourier has no CI either and likely has the same latent breakage (separate issue, not in this PR's scope). The actually-working pattern is the mpv-fourier one: patches at the top level next to the PKGBUILD. mpv-fourier iter2 just built green on CI (#92) with that layout. This commit: - Moves all 8 patches (5 fourier + 3 arch upstream) from patches/ to arch/firefox-fourier/ via git mv (preserves blame). - Removes the now-empty patches/ subdir. - Strips 'patches/' prefix from source array entries. - Strips '/patches' from prepare() patch -i paths. No semantic change to the patch content or apply order. pkgrel 3 -> 4. |
||
|
|
9041c1bf51 |
firefox-fourier: fix patches layout + ship missing arch upstream patches (#10)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 38s
build and publish packages / lmcp-any (push) Successful in 8s
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 / 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-aarch64 (push) Has been cancelled
|
||
|
|
f41e9a117b |
firefox-fourier: fix patches layout — ship arch-*.patch + reference patches/
The PKGBUILD has been structurally broken since at least the 150.0.1
import: source array referenced patches at top level ('0001-...patch')
but the actual files live in patches/ — makepkg searched for them in
the package root and failed before doing any work. The arch-0002/3/4
upstream toolchain patches (clang 22, glibc 2.43, Rust 1.95) weren't
shipped in the repo at all.
Caught when boltzmann tried to build 150.0.1-2 (PR #9 follow-up); fails
at the source-staging phase with:
==> ERROR: arch-0002-Bug-2033279-Make-enable-rust-simd-work-with-Rust-1.9.patch
was not found in the build directory and is not a URL.
Why nobody noticed: firefox-fourier has no Gitea Actions job (too heavy
for the runner pool). The shipped 150.0.1-1 .pkg.tar.zst was produced
by hand-staging files; the PKGBUILD itself never reproduced from a
clean checkout.
This commit:
- Moves all source-array patch references under patches/ to match the
on-disk layout (same convention as chromium-fourier).
- Updates prepare() paths accordingly.
- Adds arch-0002/3/4 patches fetched verbatim from
https://gitlab.archlinux.org/archlinux/packaging/packages/firefox
(raw/main/{0002,0003,0004}-...patch). Renamed with arch- prefix in
the repo to avoid namespace collision with the local 0001..0005.
- Adds the previously-omitted 0005-rdd-sandbox-v4l2-media-ctl.patch
to the source array + prepare(); this is the patch that broadens
the RDD sandbox so /dev/media* and /dev/video* ioctls reach the
decoder child (README §1 enumerates it as load-bearing for the HW
path). It was present in patches/ but not wired up.
Dry-run verified all 8 patches apply cleanly against firefox-150.0.1
source (some hunks offset by ≤3 lines, no conflicts).
pkgrel 2 -> 3.
|
||
|
|
2f78136479 |
Merge pull request 'fresnel-fourier stack: bump libva to iter38b + fix firefox HW-decode defaults (#8)' (#9) from claude-noether/marfrit-packages:noether/libva-iter38b-and-firefox-prefs into main
build and publish packages / distcc-avahi-aarch64 (push) Successful in 55s
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 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 10m33s
build and publish packages / claude-his-debian (push) Successful in 6s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 16s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m1s
Reviewed-on: #9 |
||
|
|
62a594ab59 |
firefox-fourier: ship RK3399 HW-decode default prefs (closes #8)
Three prefs that gate the patched VAAPI / V4L2-request code path are 'false' upstream and need to be 'true' for the libva-v4l2-request backend to actually engage on RK3399 / panfrost EGL: widget.dmabuf.force-enabled media.hardware-video-decoding.force-enabled media.ffvpx-hw.enabled Without them, Gecko's DMA-BUF probe silently fails (panfrost EGL doesn't trip the right detection), the (Intel-tuned) HW-vs-SW cost heuristic picks SW, and the FFvpx PDM never selects its HW-capable variant for VP8/VP9. Net result: fresh profiles SW-decode despite the 0001..0004 unlock patches being applied. Shipped as a vendor-default file at: /usr/lib/firefox-fourier/browser/defaults/preferences/rockchip-fourier-defaults.js Lower precedence than user.js / about:config — power users debugging HW decode can still flip them off without touching the package. pkgrel 1 -> 2. Closes: #8 |
||
|
|
81cc050bf3 |
libva-v4l2-request-fourier: bump pin iter8 -> iter38b (7ac934e)
Carries the fork from libva-multiplanar iter8 close (2026-05-06) to fresnel-fourier iter38b (2026-05-14): multi-device probe so a single libva session serves rkvdec (H.264 + HEVC + VP9) + hantro (MPEG-2 + VP8) without LIBVA_V4L2_REQUEST_VIDEO_PATH overrides, plus the MAX_PROFILES bounds-check fix from iter38b. Required by the fresnel-fourier README's HW-decode stack (vainfo exposes all 10 profiles in one session, byte-exact bench verified across 5 codecs). 68 commits between the old pin (65969da3) and the new (7ac934e0). pkgver() recomputes the rev count at build time; the static placeholder is bumped from r280 to r348 to reflect the new pin. |
||
|
|
ee636a6d21 |
mpv-fourier: iter2 — wire v4l2request hwdec through drmprime VO
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m29s
build and publish packages / lmcp-any (push) Successful in 10s
build and publish packages / lmcp-debian (push) Successful in 8s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m53s
build and publish packages / claude-his-debian (push) Successful in 6s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 14s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m4s
Adds Kwiboo / Langdale's 2024-08 patches (0001-meson + 0002-vo-hwdec-drmprime)
so AV_HWDEVICE_TYPE_V4L2REQUEST flows through mpv's drmprime VO hwdec and
`--hwdec=v4l2request` engages against the dmabuf-wayland VO instead of failing
with "Could not create device". The matcher previously filtered on
AV_HWDEVICE_TYPE_DRM and rejected v4l2request even when libavcodec's hwaccel
returned a valid PRIME descriptor.
PKGBUILD: pkgrel 9 → 10, source[] picks up both new patches, prepare() applies
them before the existing 0001-vo_dmabuf_wayland cache-sync workaround,
meson build flag -Dv4l2request=enabled added so the new option compiles in.
Stacks on top of iter1 (
|
||
|
|
948088fc28 |
distcc-avahi: pkgrel=20 — skip stale 19 slot, ship masquerade symlinks (closes #7)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 51s
build and publish packages / lmcp-any (push) Successful in 14s
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 / ffmpeg-v4l2-request-aarch64 (push) Successful in 7m54s
build and publish packages / claude-his-debian (push) Successful in 6s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 12s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m4s
|
||
|
|
7fbe289767 |
linux-fresnel-fourier: fix headers pkg — install -d usr/src before symlink
build and publish packages / distcc-avahi-aarch64 (push) Successful in 56s
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 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 10m12s
build and publish packages / claude-his-debian (push) Successful in 6s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 12s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m1s
|
||
|
|
83ecae29bf |
linux-fresnel-fourier: drop distcc from build() — native only per kernel-agent policy
build and publish packages / distcc-avahi-aarch64 (push) Successful in 52s
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 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 9m30s
build and publish packages / claude-his-debian (push) Successful in 6s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 13s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m8s
|
||
|
|
f3dac89c49 |
linux-fresnel-fourier: snapshot of fresnel running .config (linux-eos-arm 6.19.10-1)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m31s
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 8s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 8m6s
build and publish packages / claude-his-debian (push) Successful in 6s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 13s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m5s
|
||
|
|
2ca7f0c822 |
linux-fresnel-fourier: bootstrap 0003-arm64-dts-rk3399-pinebook-pro-spi1-max-freq-10MHz.patch
build and publish packages / distcc-avahi-aarch64 (push) Has been cancelled
build and publish packages / lmcp-debian (push) Has been cancelled
build and publish packages / lmcp-any (push) Has been cancelled
build and publish packages / claude-his-any (push) Has been cancelled
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
|
||
|
|
ab0091009b |
linux-fresnel-fourier: bootstrap 0002-arm64-dts-rk3399-pinebook-pro-enable-hdmi-sound.patch
build and publish packages / lmcp-debian (push) Has been cancelled
build and publish packages / lmcp-any (push) Has been cancelled
build and publish packages / claude-his-any (push) Has been cancelled
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
build and publish packages / distcc-avahi-aarch64 (push) Has been cancelled
|
||
|
|
371d1f8ee3 |
linux-fresnel-fourier: bootstrap 0001-arm64-dts-rk3399-pinebook-pro-add-OC-OPP-tables-1704-2184.patch
build and publish packages / distcc-avahi-aarch64 (push) Has been cancelled
build and publish packages / lmcp-debian (push) Has been cancelled
build and publish packages / lmcp-any (push) Has been cancelled
build and publish packages / claude-his-any (push) Has been cancelled
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
|
||
|
|
445937a4af |
linux-fresnel-fourier: bootstrap extlinux-add.sh
build and publish packages / distcc-avahi-aarch64 (push) Has been cancelled
build and publish packages / lmcp-debian (push) Has been cancelled
build and publish packages / lmcp-any (push) Has been cancelled
build and publish packages / claude-his-any (push) Has been cancelled
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
|
||
|
|
9834fcd71d |
linux-fresnel-fourier: bootstrap extlinux-add.hook
build and publish packages / lmcp-debian (push) Has been cancelled
build and publish packages / lmcp-any (push) Has been cancelled
build and publish packages / distcc-avahi-aarch64 (push) Has been cancelled
build and publish packages / claude-his-any (push) Has been cancelled
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
|
||
|
|
3ea8327ad1 |
linux-fresnel-fourier: bootstrap linux-fresnel-fourier.preset
build and publish packages / distcc-avahi-aarch64 (push) Has been cancelled
build and publish packages / lmcp-debian (push) Has been cancelled
build and publish packages / lmcp-any (push) Has been cancelled
build and publish packages / claude-his-any (push) Has been cancelled
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
|
||
|
|
b5db9ad07c |
linux-fresnel-fourier: bootstrap PKGBUILD
build and publish packages / lmcp-debian (push) Has been cancelled
build and publish packages / lmcp-any (push) Has been cancelled
build and publish packages / claude-his-any (push) Has been cancelled
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
build and publish packages / distcc-avahi-aarch64 (push) Has been cancelled
|
||
|
|
713a856cdc |
mpv-fourier: iter1 patch — explicit DMA_BUF_IOCTL_SYNC on import fds
build and publish packages / distcc-avahi-aarch64 (push) Successful in 45s
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 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 9m16s
build and publish packages / claude-his-debian (push) Successful in 6s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 12s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 59s
Workaround for the dmabuf-wayland green-frames bug (marfrit/dmabuf-modifier-triage#1). iter1 phase 2 source-read of KWin 6.6.4 + Mesa 26.0.6 ruled out the original H1/H2 hypotheses (panfrost offset handling and KWin wl_dmabuf import are clean) and matched the green tone to BT.601 limited-range YUV(0,0,0) -> RGB(0, 135, 0). Conclusion: panfrost reads zero-fill memory despite hantro having written real data — a cache-coherency / synchronization gap. V4L2 doesn't attach implicit fences (dma_resv) to CAPTURE buffers on VIDIOC_DQBUF; this gap is the same one our vb2_dma_resv RFC v2 addresses upstream. The userspace workaround is to issue DMA_BUF_IOCTL_SYNC(SYNC_START|SYNC_RW) + SYNC_END(SYNC_RW) on each EXPBUF fd before submitting to the compositor — invokes the producer driver's begin_cpu_access / end_cpu_access path, which on most ARM SoCs flushes write buffers and synchronizes coherent memory. Patch covers BOTH vaapi_dmabuf_importer (the path our test exercises via `mpv --hwdec=vaapi`) and drmprime_dmabuf_importer (for symmetry when used via `--hwdec=drmprime`). If this works, ship it; if it doesn't, hypothesis space narrows further to GPU-side cache invalidation in panfrost's kernel-mode dma_buf import path (H7). pkgrel 8 -> 9. Patch sha256 6c929bea7636b8d81b63a1275ba1d8a471fe2f249fc23509043ace6cf9b076a7. |
||
|
|
6738fabea0 |
ci: kill stale gpg-agent before wiping /root/.gnupg
build and publish packages / distcc-avahi-aarch64 (push) Successful in 43s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 7s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 9m14s
build and publish packages / claude-his-debian (push) Successful in 14s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 13s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m0s
`rm -rf /root/.gnupg` removes the homedir and its socket file but does not kill the gpg-agent process that was watching the original inode. The next gpg invocation on the fresh homedir then races a half-dead agent: `gpg --import-ownertrust` reports "can't connect to the gpg-agent: IPC connect call failed" and the import-key step exits non-zero under set -e, killing the job. Run 78 lmcp-any landed on this. The previous run's ffmpeg job spawned an agent at /root/.gnupg/S.gpg-agent and was still alive when lmcp-any prep ran. Add `gpgconf --homedir /root/.gnupg --kill all` immediately before each of the six `rm -rf /root/.gnupg /root/repo_pass` sites. `|| true` keeps the first-ever run's missing-agent case quiet. |
||
|
|
c2e40dbf9a |
ci: bump MAKEFLAGS to -j60 for ffmpeg/libva/mpv builds
build and publish packages / distcc-avahi-aarch64 (push) Successful in 49s
build and publish packages / lmcp-any (push) Failing after 13s
build and publish packages / lmcp-debian (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 / libva-v4l2-request-fourier-aarch64 (push) Has been skipped
build and publish packages / mpv-fourier-aarch64 (push) Has been skipped
build and publish packages / claude-his-debian (push) Has been skipped
distcc-avahi 3.4-19 + the ffmpeg --cc=distcc-shim landing means fermi can actually fan compiles out across the zeroconf pool. With MAKEFLAGS="-j$(nproc)" the runner only had ~3 outstanding TUs at a time, leaving ~57 worker slots idle. Bump to -j60 to fill the pool (tesla 16 + dcc1 16 + dcc2 16 + boltzmann 10 + a few local). |
||
|
|
d6ba22983a |
ffmpeg-v4l2-request: pkgrel=4 — use distcc shim when BUILDENV=distcc
build and publish packages / distcc-avahi-aarch64 (push) Successful in 48s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 7s
build and publish packages / claude-his-any (push) Successful in 7s
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 / ffmpeg-v4l2-request-aarch64 (push) Has been cancelled
build and publish packages / claude-his-debian (push) Has been cancelled
FFmpeg's configure script resolves the compiler via `which gcc` and bakes the absolute path /usr/bin/gcc into the generated makefiles. With BUILDENV=(distcc ...) makepkg prepends /usr/lib/distcc/bin to PATH, but configure has already resolved past the shim — so every translation unit compiles locally despite the worker pool being available. Pass --cc='distcc gcc' / --cxx='distcc g++' to configure when the distcc shim path is present. Falls back to plain gcc/g++ otherwise so a !distcc build is unaffected. Validated locally: distcc-avahi 3.4-19 on fermi exposes /usr/lib/distcc/bin/gcc -> ../../../bin/distcc, and the four-worker pool (tesla, dcc1, dcc2, boltzmann) is reachable via DISTCC_HOSTS=+zeroconf. Earlier ffmpeg builds on run 76 logged zero connections on any worker despite distcc-avahi being correctly installed — this is the missing piece. |
||
|
|
89aad2d158 |
distcc-avahi: 3.4-19 — install /usr/lib/distcc/bin/ symlinks (closes #6)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 49s
build and publish packages / lmcp-any (push) Failing after 36s
build and publish packages / lmcp-debian (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 / libva-v4l2-request-fourier-aarch64 (push) Has been skipped
build and publish packages / mpv-fourier-aarch64 (push) Has been skipped
build and publish packages / claude-his-debian (push) Has been skipped
Mirror Arch upstream's /usr/lib/$pkgname/bin/<compiler> -> ../../../bin/distcc
symlink farm in package(). Without it, makepkg's buildenv_distcc() check
[[ -d /usr/lib/distcc/bin ]] fails, BUILDENV=(distcc ...) is silently a
no-op, and aarch64 builds compile locally instead of distributing.
Also keeps the legacy /usr/lib/$pkgname/<compiler> -> ../../bin/distcc
flat layout that update-distcc-symlinks(1) used to produce, so distcc
hosts using the Debian-style invocation continue to work.
Drop the post_install/_warn_masq update-distcc-symlinks dance since the
symlinks now ship in the package. Add pre_upgrade hook that strips
untracked legacy symlinks from <= 3.4-18 so pacman can drop the new
tracked ones in their place without a file conflict.
Compiler set matches Arch upstream (c++ c89 c99 cc clang clang++ cpp g++
gcc, plus \$CHOST-{gcc,g++,gcc-\$(gcc -dumpversion)}).
|
||
|
|
8275642583 |
mpv-fourier pkgrel=8 + workflow: clear corrupt pacman cache before reinstall
build and publish packages / distcc-avahi-aarch64 (push) Successful in 32s
build and publish packages / lmcp-any (push) Successful in 10s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 13m39s
build and publish packages / claude-his-debian (push) Successful in 7s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 11s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m12s
Run #73 hit: warning: ffmpeg-v4l2-request-fourier-... is up to date -- reinstalling File /var/cache/pacman/pkg/ffmpeg-v4l2-request-fourier-...pkg.tar.xz is corrupted (invalid or corrupted package (checksum)). The corrupt cached file is left over from the ccache misadventure that interrupted earlier builds mid-download. Pacman doesn't auto- redownload corrupt cached files in this code path. Add a targeted rm of cached ffmpeg-v4l2-request-fourier-*.pkg.tar.* before the install so the next pacman -S downloads fresh. Yak shave count for mpv-fourier-aarch64 to actually run: 6 (pkgrel→4 to outrank stock, [marfrit] config, ffmpeg-v4l2-request explicit dep, conflict-prompt acceptance, pipefail-friendly printf, cache rm). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
042dffbe1d |
mpv-fourier pkgrel=7 + workflow: printf instead of yes (SIGPIPE makes pipeline fail under pipefail)
build and publish packages / distcc-avahi-aarch64 (push) Failing after 9s
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 / libva-v4l2-request-fourier-aarch64 (push) Has been skipped
build and publish packages / mpv-fourier-aarch64 (push) Has been skipped
build and publish packages / claude-his-debian (push) Has been skipped
Run #70 actually succeeded at the pacman level (log shows ffmpeg removed and ffmpeg-v4l2-request-fourier installed) but the step exited non-zero. Cause: bash's set -o pipefail (Gitea Actions default) sees `yes` get SIGPIPE'd when pacman closes its stdin, yes exits 141, pipeline reports 141 → step fails. Replace `yes y | pacman -S ...` with finite-stream printf that exits 0 cleanly. Three y's cover all expected prompts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
80bda4d679 |
mpv-fourier pkgrel=6 + workflow: pipe yes through pacman -S to accept swap
build and publish packages / distcc-avahi-aarch64 (push) Successful in 32s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 7s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m37s
build and publish packages / claude-his-debian (push) Successful in 7s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 13s
build and publish packages / mpv-fourier-aarch64 (push) Failing after 14s
Run #69 hit: ffmpeg-v4l2-request-fourier-2:... and ffmpeg-2:8.1.1-1 are in conflict. Remove ffmpeg? [y/N] error: unresolvable package conflicts detected pacman -S --noconfirm defaults [y/N] prompts to N and refuses the swap. Switch to `yes y | pacman -S ...` (without --noconfirm) to accept the conflict-removal prompt cleanly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
a8e042cf2f |
mpv-fourier pkgrel=5: build against marfrit ffmpeg-v4l2-request-fourier
build and publish packages / distcc-avahi-aarch64 (push) Successful in 36s
build and publish packages / lmcp-any (push) Successful in 8s
build and publish packages / lmcp-debian (push) Successful in 6s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m52s
build and publish packages / claude-his-debian (push) Successful in 7s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 17s
build and publish packages / mpv-fourier-aarch64 (push) Failing after 4s
Run #68's mpv-fourier-1:0.41.0-4 fails to start on ohm with libavcodec ABI mismatch: build version 62.28.101 incompatible with runtime version 62.28.100 Build host (fermi) pulls stock arch ffmpeg via makepkg --syncdeps — that ffmpeg currently ships libavcodec 62.28.101. Consumer host (ohm) runs marfrit/ffmpeg-v4l2-request-fourier (Kwiboo's fork pinned to commit b57fbbe, libavcodec 62.28.100). The build/runtime drift silently aborts mpv at startup before the version banner prints. Fix: configure [marfrit] on fermi and pre-install our ffmpeg before makepkg --syncdeps. mpv-fourier PKGBUILD now depends on ffmpeg-v4l2-request-fourier explicitly (replacing the generic ffmpeg dep), making the build target unambiguous. Workflow change: new step in mpv-fourier-aarch64 between "install deploy ssh key" and "makepkg" — imports the marfrit signing key into pacman-key, appends [marfrit] block to /etc/pacman.conf if absent, syncs db, installs marfrit/ffmpeg-v4l2-request-fourier explicitly so makepkg --syncdeps finds the dep already satisfied via provides=ffmpeg. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
9613cbbc9e |
mpv-fourier pkgrel=4: outrank stock arch's pkgrel=3 so replaces= triggers on -Syu
build and publish packages / distcc-avahi-aarch64 (push) Successful in 39s
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 8s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m40s
build and publish packages / claude-his-debian (push) Successful in 11s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 10s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m2s
Stock arch ships mpv 1:0.41.0-3. Our 1:0.41.0-2 is OLDER per vercmp, so pacman -Syu refuses to apply replaces=mpv (no auto-downgrade across the replaces relation). Bump to pkgrel=4 to win the comparison. Going forward: when stock arch bumps mpv pkgrel, mpv-fourier needs a matching bump. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
9cd7d0f047 |
mpv-fourier pkgrel=2: fix meson invocation to match stock arch
build and publish packages / distcc-avahi-aarch64 (push) Successful in 31s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 8s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m31s
build and publish packages / claude-his-debian (push) Successful in 11s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 11s
build and publish packages / mpv-fourier-aarch64 (push) Successful in 1m9s
Run #66 failed at meson setup with "Feature win32-threads cannot be enabled". Root cause: arch-meson defaults to --auto-features=enabled, which makes mpv's platform-specific features (win32-threads, etc.) required and fails the build on Linux. Stock arch's PKGBUILD passes --auto-features=auto explicitly to make features opt-in instead of required. Adopted stock arch's full meson_options block: --auto-features auto -Dlibmpv=true -Dgl-x11=enabled -Dcaca=disabled -Ddrm=enabled -Dcdda=enabled -Ddvbin=enabled -Ddvdnav=enabled -Dlibarchive=enabled -Dopenal=enabled -Dsdl2-audio=enabled -Dsdl2-video=enabled -Dsdl2-gamepad=enabled Also matched stock makedepends (added ladspa, vulkan-headers, dropped ninja/pkgconf which are pulled in transitively), added !emptydirs option, adopted the package() pkgconfig-cleanup + docs/scripts install pattern, added epoch=1 to match stock's versioning (so replaces= works cleanly). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
375be40deb |
add mpv-fourier scaffold (delivery vehicle for dmabuf-modifier-triage iter1)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 39s
build and publish packages / lmcp-any (push) Successful in 9s
build and publish packages / lmcp-debian (push) Successful in 10s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m49s
build and publish packages / claude-his-debian (push) Successful in 7s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 9s
build and publish packages / mpv-fourier-aarch64 (push) Failing after 54s
mpv on ohm is currently stock arch from [extra]. To ship the vo_dmabuf_wayland plane-semantics fix per marfrit/dmabuf-modifier-triage#1, we need an mpv-fourier package following the same fourier-umbrella pattern as kwin-fourier, qt6-base-fourier, firefox-fourier, libva-v4l2-request-fourier. This commit lays down: - arch/mpv-fourier/PKGBUILD pinning upstream mpv 0.41.0 tarball, with empty patch slot in prepare(). replaces=mpv. provides=mpv,libmpv.so. When iter1 produces the patch, add it to source=()/sha256sums=() and uncomment the patch -p1 line. - arch/mpv-fourier/README.md documenting why + tracker links - .gitea/workflows/build.yml job mpv-fourier-aarch64 chained after libva-v4l2-request-fourier-aarch64 for marfrit.db serialization. Same fermi LXC runner, same makepkg → sign → repo-add → rsync flow. Initial scaffold builds vanilla mpv 0.41.0 with no fourier patches — once iter1 lands, bump pkgrel and add the patch. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
65cf701b75 |
add libva-v4l2-request-fourier package + Gitea Actions job
build and publish packages / distcc-avahi-aarch64 (push) Successful in 55s
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 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m59s
build and publish packages / claude-his-debian (push) Successful in 8s
build and publish packages / libva-v4l2-request-fourier-aarch64 (push) Successful in 10s
Production-tip successor to the experimental libva-v4l2-request-ohm-gl-fix (tarball + 18-patch stack, never published). Tracks the libva-multiplanar campaign fork's git history directly via git+commit pin, so iteration sweeps land in a clean linear log instead of a growing patch stack. Pinned commit 65969da3 = libva-multiplanar iter8 close (last commit on master before fresnel-fourier work began layering MPEG-2 rewrites on top 2026-05-08). Promote to a later pin only after a future iteration closes cleanly. Workflow job mirrors ffmpeg-v4l2-request-aarch64 (same fermi LXC runner, same makepkg → sign → repo-add → rsync-to-nc.reauktion.de pattern), and chains via needs: ffmpeg-v4l2-request-aarch64 to serialize marfrit.db updates. nasm dropped from bootstrap (libva has no x264-style asm). replaces=(libva-v4l2-request libva-v4l2-request-ohm-gl-fix) covers both stock Arch and locally-installed predecessor copies; predecessor was never published so no marfrit.db collision. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
59bb02709f |
distcc-avahi: 3.4-18 — fix DISTCC_ARGS/DISTCC_OPTS drift on upgrade (closes #5)
build and publish packages / distcc-avahi-aarch64 (push) Successful in 54s
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 22s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 15m35s
build and publish packages / claude-his-debian (push) Successful in 11s
Stock distcc and earlier distcc-avahi releases ship /etc/conf.d/distccd with DISTCC_ARGS=, while our distccd.service reads $DISTCC_OPTS. On hosts that had stock distcc installed first, pacman keeps the existing conf file (it's marked backup=) so the rename never happens — distccd starts with empty options, falls back to --allow-private, and warns about missing /usr/lib/distcc masquerade dir. Add a post_install/post_upgrade .install hook that: - detects DISTCC_ARGS= in /etc/conf.d/distccd and renames to DISTCC_OPTS= (keeping a timestamped backup beside it) - runs update-distcc-symlinks if /usr/lib/distcc is unpopulated - prompts the operator to restart distccd if it's already active Bumps pkgrel to 18. Hit on ampere 2026-04-29 during fourier-campaign distcc enrollment; likely lurking on every host with stock-distcc legacy state. |
||
|
|
beebeb6c65 |
claude-his-agent v0.2.0: split — public framework only, private runbook fetched at install
build and publish packages / distcc-avahi-aarch64 (push) Successful in 45s
build and publish packages / lmcp-any (push) Successful in 8s
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) Successful in 14m43s
build and publish packages / claude-his-debian (push) Successful in 7s
The previous package bundled the agent prompt + skill cheatsheet, which leaked home-infra topology (specific hosts/IPs, plug AINs, /opt/herding cred file paths, kid/2FA context) to anyone with the public APT/pacman repo URL. v0.2.0 ships only the plumbing: - /usr/bin/claude-his-fetch (rsync runbook from $HIS_CONTEXT_HOST over SSH) - /usr/bin/claude-his-install (symlinks cache -> ~/.claude/) - /usr/share/doc/claude-his-agent/README.md Runbook content lives at $HIS_CONTEXT_HOST:/opt/his-context/ (default hertz) and gets fetched into ~/.cache/claude-his-agent/ on install. SSH key auth is the trust boundary. Adds rsync + openssh-client as runtime deps. Upstream sha256: c39dd1a956d303ac2417498dde05ac923bf686f1fc978f78f0d63ca42432b8b8 |
||
|
|
b47938e0bc |
Add libva-v4l2-request-ohm-gl-fix package
build and publish packages / distcc-avahi-aarch64 (push) Successful in 1m3s
build and publish packages / lmcp-any (push) Successful in 9s
build and publish packages / lmcp-debian (push) Successful in 4s
build and publish packages / claude-his-any (push) Failing after 4s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Has been skipped
build and publish packages / claude-his-debian (push) Has been skipped
Mirrors phase6/step1/ from the ohm_gl_fix campaign. Contract-correct
hantro multi-planar / chromium-149-era stateless H.264 port of
bootlin's libva-v4l2-request, patches 0001..0018 + fourier-local.
Honest characterisation in README:
- Builds cleanly on chromium-builder LXC (boltzmann)
- vainfo enumerates H.264 profiles cleanly with LIBVA_DRIVER_NAME=v4l2_request
- NOT on Brave's decode path on ohm_gl_fix stack — Brave uses
Chromium's own V4L2VideoDecoder in media/gpu/v4l2/.
- Most likely useful for a future Firefox-via-libavcodec-vaapi
campaign, modulo a separate Mesa-panfrost WSI pitch issue.
- DEBUG patches (0010, 0011, 0014) intentionally kept in series
for development; remove for cleaner production runs.
Audit trail in the source repo at ohm_gl_fix:
phase6/step1/audit_0008_decode_params_2026-05-01.md
phase6/step1/api_contract_findings_2026-05-01.md
phase3_remeasure_2026-05-02/B3_decoder_discovery.md (why this
isn't on Brave's path)
|
||
|
|
7a5ec202ff |
kwin-fourier, qt6-base-fourier: detach upstream-tarball name from pkgname
build and publish packages / distcc-avahi-aarch64 (push) Successful in 29s
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 6s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m57s
build and publish packages / claude-his-debian (push) Successful in 5s
After the rename, source URLs and extracted-dir refs that used
$pkgname-$pkgver were producing kwin-fourier-6.6.4.tar.xz etc. which
KDE doesn't ship. Use a separate _upname/hardcoded value for the
upstream artifact.
kwin-fourier: introduce _upname=kwin, use everywhere the upstream
dir/tarball name is referenced (source URL, prepare
patch -d, cmake -S)
qt6-base-fourier: $_pkgfn=${pkgbase/6-/} produced 'qtbase-fourier'
with the rename. Hardcode _pkgfn=qtbase.
|
||
|
|
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 |
||
|
|
bc2c97d16e |
kwin-fourier: revert active patch to 0001, bump to pkgrel=2
build and publish packages / distcc-avahi-aarch64 (push) Successful in 36s
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) Successful in 11m53s
build and publish packages / claude-his-debian (push) Successful in 5s
0002's upstream-shape patch turned out to be semantically equivalent to stock (sync_file snapshots fences at export, polling the dmabuf fd tracks later-added fences — the patch swaps one ioctl for one F_DUPFD with a behaviour change Mutter explicitly moved away from on amdgpu). Hosts running 0002 are effectively stock and stall during V4L2 stateless playback because the producer doesn't populate dma_resv exclusive fences, so the sync_file is a stub and KWin waits forever. 0001 (bypass the watchDmaBuf wait entirely) is the working downstream carry. Trade-off is that frames can present before the producer signals, but on V4L2 stateless hardware where no fence is populated at all, there's nothing to wait for in practice. Upstream fix lives in the linux-media RFC (vb2 dma_resv producer fences, sent 2026-04-29). Once that lands and producer drivers opt in, the 0001 carry can be retired and the upstream-shape 0002 reconsidered. Both patches stay on disk; 0002 is not being upstreamed (MR 9157 closed on reviewer feedback). |
||
|
|
3b453de45a |
upstream-submissions/fourier-campaign: YouTube HW decode delivery plan
Full state-of-play matrix (browser × SoC × codec) plus per-SoC ranked-by-tractability YouTube delivery paths, drafted by the Plan subagent with web research synthesizing LibreELEC/CoreELEC patterns, Mozilla bugzilla, Collabora's mainline Rockchip status, and chromium-dev threads. Sources cited at the end. Headline: - fresnel ships today via enhanced-h264ify forcing YouTube to serve H.264 (rkvdec already validated bbb_1080p30 RDD 78% to 5%) - ohm needs VP9 hwaccel verification against hantro before claims - ampere blocked on Linux 7.0 / VDPU381 rkvdec2 driver kernel rebase - mpv-as-YouTube is the LibreELEC-inspired browser-bypass path Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
e9b5252314 |
tools/lore-watch.sh: also watch dri-devel and linux-rockchip
Christian König (DMA-buf maintainer) tends to reply on dri-devel. Rockchip SoC people land on linux-rockchip. Adding both to the watched-inbox list, generalized the loop so the array is the only thing to edit when adding more. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
8ffe95470c |
tools/lore-watch.sh: daily monitor for replies on linux-media public-inbox
Polls https://lore.kernel.org/linux-media/0 over the public-inbox git protocol (bypasses Anubis JS-PoW that the lore web UI now ships), walks new commits since last seen, mails any messages whose headers reference mfritsche@reauktion.de via msmtp. Cron entry on noether (manual install): 43 8 * * * Started 2026-04-29 to track the vb2 dma_resv RFC series. Other upstream threads (KWin MR, QtBase, ffmpeg-v4l2-request) live on non-lore venues and are tracked separately. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
6c50354afb |
upstream-submissions/kwin-fourier: add subjective field-use note
User has been running the more aggressive 0001 variant (skip the watchDmaBuf wait entirely) downstream and reports Plasma feels measurably snappier — fewer latency spikes under heavy compositor activity. The present 0002 MR has different (correct) wait semantics so the perceived gain can't be directly attributed, but calling it out gives reviewers an honest signal that the patch at least preserves whatever benefit was on the table downstream. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
70a01bd41a |
upstream-submissions/kwin-fourier: validation findings + revised MR body
Captured stock kwin 6.6.4 ioctl baselines on ohm (PineTab2 / RK3566 / mainline 6.19.10 / Plasma 6.6.4 Wayland): - Brave + bbb 1080p30 (sw decode), 60 s: 96,120 ioctls, 0 EXPORT_SYNC_FILE - chromium-fourier + bbb 1080p30, 30 s: 29,128 ioctls, 0 EXPORT_SYNC_FILE, ~7,800 SYNCOBJ_* (explicit sync) Finding: KWin 6.6.4 + drm-syncobj-aware clients negotiate wp_linux_drm_syncobj_v1 explicit sync, leaving Transaction::watchDmaBuf on the legacy implicit-sync path that fires only for clients that don't advertise drm-syncobj support. Updated kde-mr-body.md to reflect honest scope: structural cleanup of the legacy path (still relevant for older clients / V4L2 pipelines that don't wrap dmabufs in syncobjs) rather than the originally- hypothesized per-frame ioctl reduction. Patch is correct by construction; no regression on the no-targeted-path workload. Evidence files saved under measurements/. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
00aa186b99 |
arch/kwin-fourier: switch active patch to upstream-shape 0002
build and publish packages / distcc-avahi-aarch64 (push) Successful in 33s
build and publish packages / lmcp-any (push) Successful in 7s
build and publish packages / lmcp-debian (push) Successful in 5s
build and publish packages / claude-his-any (push) Successful in 7s
build and publish packages / ffmpeg-v4l2-request-aarch64 (push) Successful in 12m30s
build and publish packages / claude-his-debian (push) Successful in 5s
0002-transaction-poll-dmabuf-fd-directly-upstream-shape.patch is the form we'll be sending to invent.kde.org/plasma/kwin (see upstream-submissions/kwin-fourier/kde-mr-body.md). Same observable behavior as 0001 (skip the EXPORT_SYNC_FILE round-trip), cleaner shape: dup() the dmabuf fd and hand it to TransactionFence directly instead of bypassing the wait entirely. 0001 is kept on disk for reference; carry could revert to it if the upstream-shape MR runs into review issues. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |