713a856cdc64cf2c21b700fbe9e1c29cea0728c0
8 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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. |
||
|
|
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> |