marfrit a7892bfabc kernel/vb2-dma-resv-rfc: 3-patch RFC series draft
Drafted but not yet compile-tested or runtime-validated. Draft
target: vb2 grows an opt-in dma_resv release-fence API; hantro and
rockchip-rga opt in as the demonstration drivers.

Series structure:
- 0000-cover-letter.patch  — context, motivation, validation results
- 0001-media-videobuf2-add-dma_resv-release-fence-helper.patch
    Adds vb2_buffer_attach_release_fence() that drivers call from
    their buf_queue callback. Stores the fence on vb->release_fence;
    vb2_buffer_done signals + puts. Per-queue fence context allocated
    at vb2_core_queue_init.
- 0002-media-hantro-attach-dma_resv-release-fence-at-buf_queue.patch
    Single call in hantro_buf_queue. ~5 lines.
- 0003-media-rockchip-rga-attach-dma_resv-release-fence-at-buf_queue.patch
    Same shape in rga_buf_queue. ~5 lines.

Pre-flight before sending to linux-media (per kernel/README.md):
1. Compile the touched files against the kernel tree the patches
   will land on (linux-next master as of 2026-04-28 was the source
   of truth used for context-line generation).
2. Boot-test on ohm, smoke-test hantro + rga buffer flows.
3. Validate the fence semantics: install patched kernel, uninstall
   kwin-fourier so KWin's watchDmaBuf is active, play 1080p30 H.264
   under KDE Plasma — should plays through without the bypass
   because the fence is now real.
4. Capture before/after dma_buf_export_sync_file timings.
5. Send via git format-patch --cover-letter to linux-media@,
   CC dri-devel@ and the relevant maintainers.

This series is the kernel-correct fix for the architectural hole
that the chromium-fourier campaign's kwin-fourier package is
papering over. With this kernel side upstream, kwin-fourier
becomes either redundant (if KWin's existing wait works correctly)
or rewritten as a poll-fd-direct optimization.
2026-04-28 19:13:40 +00:00

marfrit-packages

Overlay package repository for the reauktion.de infrastructure.

Published at: https://packages.reauktion.de/

Scope

Tree Arches Notes
Arch Linux ARM (ALARM) aarch64 primary target — Pi 5, Rock 5, ampere, KU-1255 test rigs
Arch Linux x86_64 for nuccies / workstations
Debian arm64, amd64 for non-Arch hosts

MIPS is intentionally unsupported. The Fritz!Box is sacred.

Layout (served at packages.reauktion.de)

packages.reauktion.de/
├── arch/
│   ├── aarch64/{marfrit.db,marfrit.files,*.pkg.tar.{xz,zst}{,.sig}}
│   └── x86_64/...
├── debian/
│   ├── dists/
│   │   ├── bookworm/{Release,InRelease,Release.gpg,main/binary-{arm64,amd64}/...}
│   │   └── trixie/...
│   └── pool/main/...
└── marfrit.gpg      # public signing key

Adding the repo (Arch / ALARM)

curl -sO https://packages.reauktion.de/marfrit.gpg
sudo pacman-key --add marfrit.gpg
sudo pacman-key --lsign-key 92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C

# Paste at the end of /etc/pacman.conf:
[marfrit]
Server = https://packages.reauktion.de/arch/$arch
SigLevel = Required DatabaseRequired

sudo pacman -Sy

Adding the repo (Debian)

sudo install -m 755 -d /etc/apt/keyrings
curl -s https://packages.reauktion.de/marfrit.gpg | \
    sudo gpg --dearmor -o /etc/apt/keyrings/marfrit.gpg

echo "deb [signed-by=/etc/apt/keyrings/marfrit.gpg] https://packages.reauktion.de/debian $(lsb_release -cs) main" | \
    sudo tee /etc/apt/sources.list.d/marfrit.list

sudo apt update

Signing key

  • Fingerprint: 92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C
  • UID: Markus Fritsche (marfrit-repo signing) <mfritsche@reauktion.de>
  • Expires: 2030-04-13

Key management procedures (renewal, rotation, revocation) live in DokuWiki at private:reauktion:marfrit_repo_key (admin-only).

Layout in this Git repo

marfrit-packages/
├── README.md
├── arch/
│   └── distcc-avahi/                # ALARM distcc with --with-avahi
├── debian/                          # (future) Debian source packages
└── .gitea/
    └── workflows/
        └── build.yml                # CI pipeline stub

Mail

mfritsche@reauktion.de.

S
Description
ALARM aarch64 + Arch x86_64 + Debian arm64/amd64 overlay repo — published at packages.reauktion.de
Readme 256 MiB
Languages
Shell 99.3%
JavaScript 0.7%