forked from marfrit/marfrit-packages
Compare commits
10 Commits
57e6bac3d4
...
df09c1c55d
| Author | SHA1 | Date | |
|---|---|---|---|
| df09c1c55d | |||
| ff9db4e273 | |||
| 108a3dabe6 | |||
| 31da35a549 | |||
| b4d1a47d6b | |||
| 3548a761a5 | |||
| 6f65462ec4 | |||
| a0e0d123b2 | |||
| f22f8f03ac | |||
| e236ec1f42 |
@@ -978,13 +978,37 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: install build-deps
|
||||
- name: install build-deps (sans ffmpeg — see [marfrit] step)
|
||||
run: |
|
||||
set -e
|
||||
retry() { for i in 1 2 3; do "$@" && return 0; rc=$?; echo "retry $i (exit=$rc)" >&2; sleep $((i*5)); done; return 1; }
|
||||
# Do NOT pull stock 'ffmpeg' here: the arch-aarch64 runner has
|
||||
# ffmpeg-v4l2-request-fourier pre-installed from the mpv-aarch64
|
||||
# job (configured via [marfrit]), and pacman -S ffmpeg would
|
||||
# conflict on the libav* drop-in. Daedalus build only needs
|
||||
# libavcodec/libavformat headers, which the fourier package
|
||||
# already supplies. Keep cmake/ninja/pkgconf/libdrm here; the
|
||||
# ffmpeg-dev equivalent comes via the next step.
|
||||
retry pacman -Syu --noconfirm --needed \
|
||||
dpkg openssh rsync curl base-devel git cmake ninja pkgconf \
|
||||
ffmpeg libdrm
|
||||
libdrm
|
||||
|
||||
- name: ensure ffmpeg-v4l2-request-fourier installed (link-time ABI source)
|
||||
run: |
|
||||
set -e
|
||||
# Idempotent: pre-install the marfrit fourier ffmpeg so cmake
|
||||
# finds libavcodec / libavformat / libavutil headers + .so's.
|
||||
# Mirrors mpv-fourier-debian's [marfrit] step.
|
||||
curl -sLo /tmp/marfrit.gpg https://packages.reauktion.de/marfrit.gpg
|
||||
pacman-key --add /tmp/marfrit.gpg
|
||||
pacman-key --lsign-key 92D5E96D8F63C75E4116AA1FF5C8C4603D0D250C
|
||||
rm -f /tmp/marfrit.gpg
|
||||
if ! grep -q '^\[marfrit\]' /etc/pacman.conf; then
|
||||
printf '\n[marfrit]\nServer = https://packages.reauktion.de/arch/$arch\nSigLevel = Required\n' >> /etc/pacman.conf
|
||||
fi
|
||||
pacman -Sy --noconfirm
|
||||
rm -f /var/cache/pacman/pkg/ffmpeg-v4l2-request-fourier-*-aarch64.pkg.tar.*
|
||||
printf 'y\ny\ny\n' | pacman -S --needed marfrit/ffmpeg-v4l2-request-fourier
|
||||
|
||||
- name: install hertz deploy ssh key
|
||||
env:
|
||||
|
||||
@@ -18,10 +18,10 @@ _module=daedalus_v4l2
|
||||
|
||||
# Same pin as arch/daedalus-v4l2 — keep kernel module + daemon
|
||||
# bit-versioned together so the chardev wire protocol stays in sync.
|
||||
_commit=f55b2cdab8a8c0bc04e8c1bb1d0b6ca85e7d96d2
|
||||
_commit=481279c9bffd19e32c8f3299897e9b63fc5a24aa
|
||||
|
||||
pkgver=0.1.0.r16.f55b2cd
|
||||
pkgrel=1
|
||||
pkgver=0.1.0.r18.481279c
|
||||
pkgrel=1 # reset for new upstream pin (481279c — Phase 8.13 close)
|
||||
pkgdesc="V4L2 stateless decoder shim kernel module (DKMS) — Pi 5 / CM5"
|
||||
arch=('any')
|
||||
url="https://git.reauktion.de/reauktion/daedalus-v4l2"
|
||||
|
||||
@@ -16,17 +16,17 @@
|
||||
pkgname=daedalus-v4l2
|
||||
_upstreampkg=daedalus-v4l2
|
||||
|
||||
# Pin the daedalus-v4l2 tip. f55b2cd = "Phase 8.13: byte-exact end-to-
|
||||
# Pin the daedalus-v4l2 tip. 481279c = "Phase 8.13: byte-exact end-to-
|
||||
# end via libva (consumer target hit)" — first commit where the full
|
||||
# ffmpeg -hwaccel vaapi → libva → /dev/video0 → daemon path lands a
|
||||
# pixel-correct decoded frame back in ffmpeg. Promote to a later pin
|
||||
# only after a future phase closes cleanly.
|
||||
_commit=f55b2cdab8a8c0bc04e8c1bb1d0b6ca85e7d96d2
|
||||
_commit=481279c9bffd19e32c8f3299897e9b63fc5a24aa
|
||||
|
||||
# 0.1.0 (pre-1.0) + commit count + short sha. Bump the .Y on each
|
||||
# Phase 8.x close. pkgver() recomputes at build time.
|
||||
pkgver=0.1.0.r16.f55b2cd
|
||||
pkgrel=1
|
||||
pkgver=0.1.0.r18.481279c
|
||||
pkgrel=1 # reset for new upstream pin (481279c — Phase 8.13 close)
|
||||
pkgdesc="Userspace daemon for the daedalus-v4l2 V4L2 stateless decoder shim (VP9/AV1/H.264 on Pi 5 / CM5)"
|
||||
arch=('aarch64')
|
||||
url="https://git.reauktion.de/reauktion/daedalus-v4l2"
|
||||
@@ -40,9 +40,12 @@ depends=('ffmpeg' 'libdrm')
|
||||
makedepends=('cmake' 'ninja' 'pkgconf' 'git' 'ffmpeg')
|
||||
optdepends=('daedalus-v4l2-dkms: kernel module providing /dev/video0 + /dev/daedalus-v4l2'
|
||||
'libva-v4l2-request-fourier: VA-API consumer routing through this daemon')
|
||||
install="${pkgname}.install"
|
||||
|
||||
source=("git+https://git.reauktion.de/reauktion/daedalus-v4l2.git#commit=${_commit}")
|
||||
sha256sums=('SKIP')
|
||||
source=("git+https://git.reauktion.de/reauktion/daedalus-v4l2.git#commit=${_commit}"
|
||||
"${pkgname}.install")
|
||||
sha256sums=('SKIP'
|
||||
'SKIP')
|
||||
|
||||
pkgver() {
|
||||
cd "${srcdir}/${_upstreampkg}"
|
||||
@@ -83,6 +86,14 @@ package() {
|
||||
install -Dm644 include/daedalus_v4l2_proto.h \
|
||||
"${pkgdir}/usr/include/daedalus_v4l2_proto.h"
|
||||
|
||||
# systemd unit + module autoload — without these the daemon never
|
||||
# starts and the libva/VAAPI consumer's REQ_DECODE has nobody on
|
||||
# the other end of /dev/daedalus-v4l2.
|
||||
install -Dm644 packaging/systemd/daedalus-v4l2.service \
|
||||
"${pkgdir}/usr/lib/systemd/system/daedalus-v4l2.service"
|
||||
install -Dm644 packaging/systemd/daedalus-v4l2.modules-load \
|
||||
"${pkgdir}/usr/lib/modules-load.d/daedalus-v4l2.conf"
|
||||
|
||||
# Documentation
|
||||
install -Dm644 README.md \
|
||||
"${pkgdir}/usr/share/doc/${pkgname}/README.md"
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
# post_install / post_upgrade for daedalus-v4l2.
|
||||
#
|
||||
# Enables (but doesn't start — leave that to the operator) the
|
||||
# daemon service so it comes up on next boot. Reloads systemd
|
||||
# so the new unit file is visible. Triggers modules-load so the
|
||||
# kernel module loads without a reboot if daedalus-v4l2-dkms is
|
||||
# also installed.
|
||||
|
||||
_activate() {
|
||||
systemctl daemon-reload >/dev/null 2>&1 || true
|
||||
systemctl enable daedalus-v4l2.service >/dev/null 2>&1 || true
|
||||
|
||||
# Trigger /usr/lib/modules-load.d/daedalus-v4l2.conf without a
|
||||
# reboot. Safe if the module is already loaded.
|
||||
systemd-modules-load >/dev/null 2>&1 || true
|
||||
|
||||
cat >&2 <<EOF
|
||||
==> daedalus-v4l2: service enabled, will start on next boot.
|
||||
==> To start now (requires the kernel module to be loaded):
|
||||
==> sudo systemctl start daedalus-v4l2.service
|
||||
==> Verify decode path:
|
||||
==> journalctl -u daedalus-v4l2.service -f
|
||||
EOF
|
||||
}
|
||||
|
||||
post_install() {
|
||||
_activate
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
_activate
|
||||
systemctl try-restart daedalus-v4l2.service >/dev/null 2>&1 || true
|
||||
}
|
||||
|
||||
pre_remove() {
|
||||
systemctl stop daedalus-v4l2.service >/dev/null 2>&1 || true
|
||||
systemctl disable daedalus-v4l2.service >/dev/null 2>&1 || true
|
||||
}
|
||||
|
||||
post_remove() {
|
||||
systemctl daemon-reload >/dev/null 2>&1 || true
|
||||
}
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
pkgname=firefox-fourier
|
||||
pkgver=150.0.1
|
||||
pkgrel=6
|
||||
pkgrel=7
|
||||
pkgdesc='Firefox with V4L2 stateless HW video decode unlocked for mainline Linux Rockchip'
|
||||
arch=('aarch64' 'x86_64')
|
||||
url='https://www.mozilla.org/firefox'
|
||||
@@ -91,8 +91,11 @@ source=(
|
||||
# Vendor-default prefs that gate the patched VAAPI path on RK3399 —
|
||||
# widget.dmabuf.force-enabled etc. See marfrit-packages#8 for evidence.
|
||||
'rockchip-fourier-defaults.js'
|
||||
# Plasma/GNOME start-menu entry — categorises under Internet, picks the
|
||||
# 128px firefox icon shipped under /usr/lib/firefox-fourier/browser/.
|
||||
'firefox-fourier.desktop'
|
||||
)
|
||||
sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')
|
||||
sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/firefox-${pkgver}"
|
||||
@@ -180,4 +183,11 @@ LAUNCHER
|
||||
# VAAPI_VLD` + dmabuf surfaces locking end-to-end.
|
||||
install -Dm644 "${srcdir}/rockchip-fourier-defaults.js" \
|
||||
"${pkgdir}/usr/lib/firefox-fourier/defaults/preferences/rockchip-fourier-defaults.js"
|
||||
|
||||
# Desktop entry — fileless install would leave the package without a
|
||||
# start-menu entry (stock firefox.desktop disappears when our `provides`
|
||||
# replaces stock firefox). Plasma & GNOME pick this up via the
|
||||
# `Categories=Network;WebBrowser;` line → "Internet" submenu.
|
||||
install -Dm644 "${srcdir}/firefox-fourier.desktop" \
|
||||
"${pkgdir}/usr/share/applications/firefox-fourier.desktop"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Name=Firefox (Fourier — V4L2 HW decode)
|
||||
GenericName=Web Browser
|
||||
Comment=Browse the Web with V4L2 stateless HW video decode (RK3588/RK3566)
|
||||
Exec=/usr/bin/firefox-fourier %u
|
||||
Icon=/usr/lib/firefox-fourier/browser/chrome/icons/default/default128.png
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
StartupWMClass=firefox-fourier
|
||||
Categories=Network;WebBrowser;
|
||||
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;image/svg+xml;image/webp;image/avif;application/json;application/pdf;audio/flac;audio/ogg;audio/webm;video/ogg;video/webm;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/chrome;x-scheme-handler/mailto;
|
||||
Actions=new-window;new-private-window;
|
||||
|
||||
[Desktop Action new-window]
|
||||
Name=Open a New Window
|
||||
Exec=/usr/bin/firefox-fourier --new-window %u
|
||||
|
||||
[Desktop Action new-private-window]
|
||||
Name=Open a New Private Window
|
||||
Exec=/usr/bin/firefox-fourier --private-window %u
|
||||
+6252
-3295
File diff suppressed because it is too large
Load Diff
@@ -29,7 +29,7 @@
|
||||
|
||||
pkgbase=linux-pinetab2-danctnix-besser
|
||||
pkgver=7.0.danctnix1
|
||||
pkgrel=5
|
||||
pkgrel=6
|
||||
pkgdesc='PineTab2 (BESser bes2600 driver patchset, kernel-agent managed)'
|
||||
_srcname=linux-pinetab2
|
||||
_srctag=v${pkgver%.*}-${pkgver##*.}
|
||||
@@ -68,7 +68,7 @@ b2sums=('3d9795083c8938f80f480de0d10bfd9c525640e59d5c7f22983de3f12ee42c84c31be90
|
||||
'SKIP'
|
||||
'71fe98221e802b315e54b4b10d3e8c8f376695a36bae3541d876e5776a37f3fa33c8f8dfa6e51fcbd6f5396add02e5166634165f2351836a0ea0453c172fe56c'
|
||||
'SKIP'
|
||||
'50397711a6a3ba522283685a9e7397aeed6663f353f7cba214d4bb88bc98516065b2fca9a36ce13c52644617879f69f39c5305e86db5d9fb25c4dae5434eb9c4'
|
||||
'eb179c03f35a4dbaec2e40036f0033ef04985bb6b14ab22419d68e5caaa5874f2ad14e158f7c5b05added97f60fecde8fb8b7f2a6ced33e031e37352fe776ca6'
|
||||
'656a998ab40cb85ee4c00f087b071a91632a6c091da2c84b0f74236b51d2dea6e9db6886625f80ad81dc249d8494ec47cd79d6dd9ea4f5e44f3cde857f861e10')
|
||||
|
||||
export KBUILD_BUILD_HOST=archlinux
|
||||
|
||||
@@ -4,34 +4,174 @@ baseline:
|
||||
upstream_compat: linux-7.0
|
||||
url: https://codeberg.org/DanctNIX/linux-pinetab2
|
||||
cumulative:
|
||||
b2sum: 50397711a6a3ba522283685a9e7397aeed6663f353f7cba214d4bb88bc98516065b2fca9a36ce13c52644617879f69f39c5305e86db5d9fb25c4dae5434eb9c4
|
||||
b2sum: eb179c03f35a4dbaec2e40036f0033ef04985bb6b14ab22419d68e5caaa5874f2ad14e158f7c5b05added97f60fecde8fb8b7f2a6ced33e031e37352fe776ca6
|
||||
path: cumulative.patch
|
||||
size: 162716
|
||||
generated_at: '2026-05-18T17:16:06.455474+00:00'
|
||||
size: 279554
|
||||
generated_at: '2026-05-19T13:05:46.476359+00:00'
|
||||
host: ohm
|
||||
ka_promote_version: 1
|
||||
manifest:
|
||||
path: fleet/ohm.yaml
|
||||
sha256: da59ac2c965e5ad9c5004a115b10a37abf47ed3ecc8b7f5ab426470d2ee7b442
|
||||
sha256: 9ac04ddd3170418b7b2d2cf7b31ac225a31ed19be4f03e8477bf28b585bae257
|
||||
resolved_patches:
|
||||
- apply_order: 1
|
||||
from_series: true
|
||||
include: driver/bes2600/cumulative-c5x-danctnix/0001-bes2600-besser-cumulative-series.patch
|
||||
sha256: e477a170567487fef84fe13be5b0a1f0498247ff1f201000d0085a2e49ff9026
|
||||
size: 148149
|
||||
include: driver/bes2600/factory-series/0001-bes2600-use-request_firmware-for-factory.txt-read.patch
|
||||
sha256: a1bc2d13b258709fa37c9ff428dfdc0659464b436470fa2ec69b07edf7592f6f
|
||||
size: 5456
|
||||
- apply_order: 2
|
||||
from_series: true
|
||||
include: driver/bes2600/scan-filter-5ghz-danctnix/0001-bes2600-filter-5ghz-scan-and-allow-single-channel.patch
|
||||
sha256: 31e67569e00daead0784214aced1e077d3270cf1407baa0b330d474e17ec3931
|
||||
size: 7735
|
||||
include: driver/bes2600/factory-series/0002-bes2600-default-STANDARD_FACTORY_EFUSE_FLAG-off-for-PineTab2.patch
|
||||
sha256: 577d7024ce0b342c4381365872fc29e75a93427ad61223907fead8b829b5a86c
|
||||
size: 3499
|
||||
- apply_order: 3
|
||||
from_series: true
|
||||
include: arch/arm64/xor-neon-ffixed-x18-scs-build-fix-danctnix/0001-arm64-xor-neon-ffixed-x18-build-fix.patch
|
||||
sha256: a49c50f0ebffc499970c24908b832c3e61c96ed87de35b3a82178eff587f94f1
|
||||
size: 1574
|
||||
include: driver/bes2600/factory-thread-dev/0001-bes2600-thread-struct-device-through-factory-request_firmware.patch
|
||||
sha256: e3fac725e6addc11147341836600c2c5cd0116abba960f34ba50bb8094581c75
|
||||
size: 4406
|
||||
- apply_order: 4
|
||||
from_series: true
|
||||
include: driver/bes2600/pm-gate-on-handshake/0001-bes2600-gate-device-LP-mode-entry-on-successful-handshake.patch
|
||||
sha256: 9842c0dd66f59fe28898041ba5a816be56965b0665f202410cd461c3e6565474
|
||||
size: 3914
|
||||
- apply_order: 5
|
||||
from_series: true
|
||||
include: driver/bes2600/remove-chardev-user-interface/0001-bes2600-remove-userspace-dev-bes2600-character-device-interface.patch
|
||||
sha256: c67d340ae5923aada613ea9c5133e3efa3aeb7986749f4bf3619d1752a1b61fb
|
||||
size: 22445
|
||||
- apply_order: 6
|
||||
from_series: true
|
||||
include: driver/bes2600/enable-testmode/0001-bes2600-enable-CONFIG_BES2600_TESTMODE-by-default-fix-bitrot.patch
|
||||
sha256: 5dee74e8753d332fd380882994ea43aa907d1ff97466b0c48aedf38d4076e446
|
||||
size: 6152
|
||||
- apply_order: 7
|
||||
from_series: true
|
||||
include: driver/bes2600/tx-sdio-dma-oob-danctnix/0001-bes2600-bounce-SDIO-TX-buffers-to-avoid-DMA-OOB-read.patch
|
||||
sha256: 0dce2fe35450b8376c2d2a7c007119f28c888c1c30b489a67841039caedeebfc
|
||||
size: 4544
|
||||
- apply_order: 8
|
||||
from_series: true
|
||||
include: driver/bes2600/factory-drop-kernel-write-danctnix/0001-bes2600-drop-kernel_write-persistence-from-factory-cali-save.patch
|
||||
sha256: a7995b38e210af16b73d284a58ab39b8aecac36ff4a671af3d894b1983f961b3
|
||||
size: 5704
|
||||
- apply_order: 9
|
||||
from_series: true
|
||||
include: driver/bes2600/drop-dpd-file-paths-danctnix/0001-bes2600-drop-BES2600_WRITE_DPD_TO_FILE-kernel-file-paths.patch
|
||||
sha256: 0cd8780c245c97c65e4845e42d712c6256a0449658641aea18e4c7d400f63e41
|
||||
size: 9661
|
||||
- apply_order: 10
|
||||
from_series: true
|
||||
include: driver/bes2600/drop-orphan-file-io-danctnix/0001-bes2600-drop-orphan-DATA_DUMP_OBSERVE-and-access_file-IO.patch
|
||||
sha256: fd8c297223e6a985c2898f919ae1ab27eb56ab44f09f44d84d75eb35a187527b
|
||||
size: 5327
|
||||
- apply_order: 11
|
||||
from_series: true
|
||||
include: driver/bes2600/pm-timeout-silence-danctnix/0001-bes2600-demote-wait-pm-ind-timeout-from-bes_err-to-bes_devel.patch
|
||||
sha256: 3a4fd3255facbcef0419e0e0332cb980316529aa5c225b35bcfd244a42736667
|
||||
size: 2332
|
||||
- apply_order: 12
|
||||
from_series: true
|
||||
include: driver/bes2600/scan-defer-on-reject-danctnix/0001-bes2600-defer-scan-and-soften-WARN-on-firmware-reject.patch
|
||||
sha256: 55e16c176bc147c371a20f57b3a57da38c719d3b42417e88f9de243e10102d35
|
||||
size: 8393
|
||||
- apply_order: 13
|
||||
from_series: true
|
||||
include: driver/bes2600/scan-defer-backoff-tune-danctnix/0001-bes2600-widen-scan-defer-backoff-30s-and-decay-on-quiet.patch
|
||||
sha256: 70a5b25baaf41c8090701b069c30cbad378883d828bdd06e4eb560a35bc077f1
|
||||
size: 4924
|
||||
- apply_order: 14
|
||||
from_series: true
|
||||
include: driver/bes2600/lmac-recover-via-mmc-hw-reset-danctnix/0001-bes2600-recover-wedged-firmware-via-mmc_hw_reset-on-link-break.patch
|
||||
sha256: 3decf33c9684b3aba64004d5ad97ae3d54e1d6dc176d0b0ae539036c65e6dc6c
|
||||
size: 10604
|
||||
- apply_order: 15
|
||||
from_series: true
|
||||
include: driver/bes2600/lmac-recover-via-mmc-hw-reset-danctnix/0002-bes2600-handle-multi-function-SDIO-cards-in-mmc_hw_reset-bus_reset.patch
|
||||
sha256: a1acfcc401afc699a9c3676b6df2ec0f092e78826a32616268f90b509d538e33
|
||||
size: 3321
|
||||
- apply_order: 16
|
||||
from_series: true
|
||||
include: driver/bes2600/pm-state-resync-danctnix/0001-bes2600-gate-PM-indication-completion-on-pending-request-and-track-state.patch
|
||||
sha256: 049cf3ff9c01fdd10ff73bd18497e14ef0cd8fd1a65486ba86fbc6c1935a5f8e
|
||||
size: 10269
|
||||
- apply_order: 17
|
||||
from_series: true
|
||||
include: driver/bes2600/pm-wake-consume-state-danctnix/0001-bes2600-short-circuit-wake-handshake-when-chip-confirmed-ACTIVE.patch
|
||||
sha256: c9d19a73816f4c82b418dcd18008176bbb0c49fd4138be53cad45ae142224112
|
||||
size: 8100
|
||||
- apply_order: 18
|
||||
from_series: true
|
||||
include: driver/bes2600/pm-detect-firmware-unsupported-danctnix/0001-bes2600-self-detect-firmware-does-not-honor-PSM-skip-cycle.patch
|
||||
sha256: 196dc9d51ffea268718a290d434b6237fb60119f10c2b050a58724c8a775c7a8
|
||||
size: 9041
|
||||
- apply_order: 19
|
||||
from_series: true
|
||||
include: driver/bes2600/decrypt-storm-fast-recover-danctnix/0001-bes2600-pre-empt-AP-deauth-6-mac80211-reassoc-on-decrypt-fail-storm.patch
|
||||
sha256: b57ed316005f402c95ccae8ab24ac761bdf34162d73f108f5790af8f8ad2d1fe
|
||||
size: 9249
|
||||
- apply_order: 20
|
||||
from_series: true
|
||||
include: driver/bes2600/connection-loss-fast-recover-danctnix/0001-bes2600-bus_reset-on-connection-loss-storm-to-dodge-assoc-comeback-blackhole.patch
|
||||
sha256: cd1eaff97c3f08c58e7b1588e19a12200e8bb2a1f39afe554284f1d818610a67
|
||||
size: 12184
|
||||
- apply_order: 21
|
||||
from_series: true
|
||||
include: driver/bes2600/cw1200-fix-backports-danctnix/0001-bes2600-replace-atomic_add-with-atomic_inc-cw1200-backport.patch
|
||||
sha256: 3876c9e512f556c7f2e8d4cfaba1d7df2945ee48af8edfab5f8d09d9de9adf23
|
||||
size: 3080
|
||||
- apply_order: 22
|
||||
from_series: true
|
||||
include: driver/bes2600/cw1200-fix-backports-danctnix/0002-bes2600-fix-missing-destroy_workqueue-on-error-in-init_common.patch
|
||||
sha256: 2b82ecb127748349780404479205b952337c244e715278e6d40471c6ecad7602
|
||||
size: 2230
|
||||
- apply_order: 23
|
||||
from_series: true
|
||||
include: driver/bes2600/cw1200-fix-backports-danctnix/0003-bes2600-fix-concurrency-UAF-in-bes2600_hw_scan-and-sched_scan.patch
|
||||
sha256: 4c1850ad003ddcac543d3d61edd15c18ccd0cc601367cf4c6dd31e1fbb39ab16
|
||||
size: 4476
|
||||
- apply_order: 24
|
||||
from_series: true
|
||||
include: driver/bes2600/sdio-rx-no-relay-danctnix/0001-bes2600-drop-sdio_rx_work-relay-IRQ-bh-direct-no-relay-architecture.patch
|
||||
sha256: f1182150c5893f2497f942900b34c9c4aeb8d5901d9786ae2753dcce38ed6c78
|
||||
size: 19313
|
||||
- apply_order: 25
|
||||
from_series: true
|
||||
include: driver/bes2600/license-spdx-restore-attribution-danctnix/0001-bes2600-Patch-G-restore-SPDX-identifiers-ST-Ericsson-attribution.patch
|
||||
sha256: 91dadab0b58f8b8ad2dca80fd04796d478ecb83ce94a1e4b6e97ef8634d97ef1
|
||||
size: 41521
|
||||
- apply_order: 26
|
||||
from_series: true
|
||||
include: driver/bes2600/ba-lock-atomic-danctnix/0001-bes2600-Patch-D-atomicize-ba_lock-counters-drop-the-spinlock.patch
|
||||
sha256: a5d4ed2bf545458a756e65670c7eed31997bd0be9262344a10313bee31ea4963
|
||||
size: 11987
|
||||
- apply_order: 27
|
||||
from_series: true
|
||||
include: driver/bes2600/ps-state-lock-skip-pm-disabled-danctnix/0001-bes2600-Patch-E-skip-ps_state_lock-when-PSM-known-disabled.patch
|
||||
sha256: 18040a563b37cc95c558703f01bfbf6b7fa23a52f2f4f0f8f1254ad4fa0fe0d6
|
||||
size: 3396
|
||||
- apply_order: 28
|
||||
from_series: true
|
||||
include: driver/bes2600/rx-list-batch-delivery-danctnix/0001-bes2600-Patch-C2-replace-ieee80211_rx_irqsafe-with-ieee80211_rx_ni.patch
|
||||
sha256: ffeffd085a9d052c126a717b845d50120ea302e76c12e53c0c3c891291cababf
|
||||
size: 8377
|
||||
- apply_order: 29
|
||||
from_series: true
|
||||
include: driver/bes2600/bh-c-fossil-cleanup-danctnix/0001-bes2600-Patch-H-bh.c-hygiene-cleanup-drop-fossil-blocks-dead-stubs.patch
|
||||
sha256: 8fb0c799e3a8ee5ad7bfb647fceaf370c6a1a5f24d8621776fd07bf18a976f81
|
||||
size: 21082
|
||||
- apply_order: 30
|
||||
from_series: true
|
||||
include: driver/bes2600/scan-filter-5ghz-danctnix/0001-bes2600-filter-5-GHz-scans-at-the-driver-boundary.patch
|
||||
sha256: 31e67569e00daead0784214aced1e077d3270cf1407baa0b330d474e17ec3931
|
||||
size: 7735
|
||||
- apply_order: 31
|
||||
from_series: true
|
||||
include: arch/arm64/scs-arm-neon-build-fix/0001-arm64-xor-neon-ffixed-x18-build-fix.patch
|
||||
sha256: 105e32edc54743d8107c4dcd846833ae97d2df5f918aebc9fe3e67d6f23249cc
|
||||
size: 1562
|
||||
- apply_order: 32
|
||||
from_series: true
|
||||
include: driver/bes2600/queue-pending-record-lock-bh-danctnix/0001-bes2600-take-pending-record-lock-with-bh.patch
|
||||
sha256: 089862e5f6da5783ed0db979144e4fa07cff7f743809a0bebd715c75a3bb8eb5
|
||||
size: 5258
|
||||
sha256: e0894371c43f750590e1704ae3c77b27b6910548afa4a5b61ebc4d9919580ca2
|
||||
size: 5270
|
||||
schema_version: 1
|
||||
|
||||
+4
-4
@@ -14,9 +14,9 @@
|
||||
# Sibling userspace package: ../daedalus-v4l2/build-deb.sh
|
||||
set -euo pipefail
|
||||
|
||||
UPSTREAM_COMMIT=f55b2cdab8a8c0bc04e8c1bb1d0b6ca85e7d96d2
|
||||
PKGVER=0.1.0+r16+gf55b2cd
|
||||
PKGREL=1
|
||||
UPSTREAM_COMMIT=481279c9bffd19e32c8f3299897e9b63fc5a24aa
|
||||
PKGVER=0.1.0+r18+g481279c
|
||||
PKGREL=1 # reset for new upstream pin (481279c — Phase 8.13 close)
|
||||
MODULE_NAME=daedalus_v4l2
|
||||
|
||||
HERE=$(dirname "$(readlink -f "$0")")
|
||||
@@ -153,7 +153,7 @@ Section: kernel
|
||||
Priority: optional
|
||||
Architecture: all
|
||||
Depends: dkms (>= 2.1.0.0)
|
||||
Recommends: daedalus-v4l2, linux-headers-generic | linux-headers
|
||||
Recommends: daedalus-v4l2, linux-headers-rpi-2712 | linux-headers-rpi | linux-headers-generic | linux-headers
|
||||
Maintainer: Markus Fritsche <mfritsche@reauktion.de>
|
||||
Homepage: https://git.reauktion.de/reauktion/daedalus-v4l2
|
||||
Description: V4L2 stateless decoder shim kernel module (DKMS) — Pi 5 / CM5
|
||||
|
||||
+25
@@ -1,3 +1,28 @@
|
||||
daedalus-v4l2-dkms (0.1.0+r18+g481279c-1) bookworm trixie; urgency=medium
|
||||
|
||||
* Bump to 481279c in lockstep with the userspace daedalus-v4l2
|
||||
package (which ships the new systemd unit + modules-load.d
|
||||
drop-in). No kernel-module behaviour change in this commit —
|
||||
bump is purely to keep DKMS pkgver and userspace pkgver aligned
|
||||
so /etc/modules-load.d/daedalus-v4l2.conf has a module to load.
|
||||
|
||||
-- Markus Fritsche <mfritsche@reauktion.de> Wed, 20 May 2026 16:00:00 +0000
|
||||
|
||||
daedalus-v4l2-dkms (0.1.0+r17+gf0cd29a-1) bookworm trixie; urgency=medium
|
||||
|
||||
* Bump to f0cd29a — Linux 6.18 compatibility fix. v4l2_fh_add /
|
||||
v4l2_fh_del gained a `struct file *filp` second argument at
|
||||
v6.18; module source now uses LINUX_VERSION_CODE conditional so
|
||||
it builds against 6.12 (Pi 5 stock RPi-2712 kernel) AND 6.18+
|
||||
(RPi-2712 / arm64). Verified DKMS rebuild on higgs
|
||||
(6.18.29+rpt-rpi-2712) succeeds + /dev/daedalus-v4l2 appears.
|
||||
* Recommends widened so apt pulls the right kernel-headers
|
||||
metapackage on RPi OS: linux-headers-rpi-2712 first, then
|
||||
linux-headers-rpi, then linux-headers-generic, then
|
||||
linux-headers.
|
||||
|
||||
-- Markus Fritsche <mfritsche@reauktion.de> Tue, 20 May 2026 10:30:00 +0000
|
||||
|
||||
daedalus-v4l2-dkms (0.1.0+r16+gf55b2cd-1) bookworm trixie; urgency=medium
|
||||
|
||||
* Initial Debian DKMS packaging for the daedalus_v4l2 kernel module.
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ Package: daedalus-v4l2-dkms
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends}, dkms (>= 2.1.0.0)
|
||||
Recommends: daedalus-v4l2,
|
||||
linux-headers-generic | linux-headers
|
||||
linux-headers-rpi-2712 | linux-headers-rpi | linux-headers-generic | linux-headers
|
||||
Description: V4L2 stateless decoder shim kernel module (DKMS) — Pi 5 / CM5
|
||||
Out-of-tree V4L2 m2m kernel module for the daedalus-v4l2 stack on
|
||||
Raspberry Pi 5 / CM5. Registers /dev/videoNN (V4L2 stateless m2m
|
||||
|
||||
Vendored
+81
-6
@@ -11,13 +11,13 @@
|
||||
# Upstream repo: https://git.reauktion.de/reauktion/daedalus-v4l2
|
||||
set -euo pipefail
|
||||
|
||||
# Same pin as the Arch PKGBUILD. f55b2cd = "Phase 8.13: byte-exact
|
||||
# Same pin as the Arch PKGBUILD. 481279c = "Phase 8.13: byte-exact
|
||||
# end-to-end via libva (consumer target hit)" — first commit where the
|
||||
# full ffmpeg -hwaccel vaapi → libva → /dev/video0 → daemon path lands
|
||||
# a pixel-correct decoded frame back in ffmpeg.
|
||||
UPSTREAM_COMMIT=f55b2cdab8a8c0bc04e8c1bb1d0b6ca85e7d96d2
|
||||
PKGVER=0.1.0+r16+gf55b2cd
|
||||
PKGREL=1
|
||||
UPSTREAM_COMMIT=481279c9bffd19e32c8f3299897e9b63fc5a24aa
|
||||
PKGVER=0.1.0+r18+g481279c
|
||||
PKGREL=1 # reset for new upstream pin (481279c — Phase 8.13 close)
|
||||
|
||||
HERE=$(dirname "$(readlink -f "$0")")
|
||||
|
||||
@@ -50,7 +50,9 @@ mkdir -p "$ROOT/DEBIAN" \
|
||||
"$ROOT/usr/bin" \
|
||||
"$ROOT/usr/libexec/daedalus-v4l2" \
|
||||
"$ROOT/usr/include" \
|
||||
"$ROOT/usr/share/doc/daedalus-v4l2"
|
||||
"$ROOT/usr/share/doc/daedalus-v4l2" \
|
||||
"$ROOT/lib/systemd/system" \
|
||||
"$ROOT/usr/lib/modules-load.d"
|
||||
|
||||
install -m 755 "$work/$SRCDIR/daemon/build/daedalus_v4l2_daemon" \
|
||||
"$ROOT/usr/bin/daedalus_v4l2_daemon"
|
||||
@@ -65,6 +67,14 @@ install -m 755 "$work/$SRCDIR/tools/test_m2m_stream" \
|
||||
install -m 644 "$work/$SRCDIR/include/daedalus_v4l2_proto.h" \
|
||||
"$ROOT/usr/include/daedalus_v4l2_proto.h"
|
||||
|
||||
# systemd unit + module autoload — without these the daemon never
|
||||
# starts and the libva/VAAPI consumer's REQ_DECODE has nobody on
|
||||
# the other end of /dev/daedalus-v4l2.
|
||||
install -m 644 "$work/$SRCDIR/packaging/systemd/daedalus-v4l2.service" \
|
||||
"$ROOT/lib/systemd/system/daedalus-v4l2.service"
|
||||
install -m 644 "$work/$SRCDIR/packaging/systemd/daedalus-v4l2.modules-load" \
|
||||
"$ROOT/usr/lib/modules-load.d/daedalus-v4l2.conf"
|
||||
|
||||
install -m 644 "$work/$SRCDIR/README.md" \
|
||||
"$ROOT/usr/share/doc/daedalus-v4l2/README.md"
|
||||
for d in "$work/$SRCDIR/docs/"*.md; do
|
||||
@@ -75,13 +85,78 @@ install -Dm644 "$HERE/debian/copyright" "$ROOT/usr/share/doc/daedalus-v4l2/copyr
|
||||
install -Dm644 "$HERE/debian/changelog" "$ROOT/usr/share/doc/daedalus-v4l2/changelog.Debian"
|
||||
gzip -9 -n "$ROOT/usr/share/doc/daedalus-v4l2/changelog.Debian"
|
||||
|
||||
# DEBIAN/postinst — enable service + reload modules-load.d so the
|
||||
# kernel module loads now if daedalus-v4l2-dkms is also installed.
|
||||
# Does NOT auto-start the service — that requires /dev/daedalus-v4l2
|
||||
# to already exist (the ConditionPathExists= in the .service file)
|
||||
# which may not be true on the very first install before the user
|
||||
# reboots or manually modprobes. Operator decides when to start.
|
||||
cat > "$ROOT/DEBIAN/postinst" <<'POSTINST'
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ "$1" = "configure" ]; then
|
||||
# Reload systemd so the new unit file is visible.
|
||||
if command -v systemctl >/dev/null 2>&1; then
|
||||
systemctl daemon-reload >/dev/null 2>&1 || true
|
||||
systemctl enable daedalus-v4l2.service >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
# Trigger /usr/lib/modules-load.d/daedalus-v4l2.conf without a
|
||||
# reboot. Harmless if the module is already loaded; logs to
|
||||
# journal if it can't load (most common cause: dkms hasn't built
|
||||
# the module yet for the running kernel — see daedalus-v4l2-dkms
|
||||
# postinst for the loud-warning path).
|
||||
if command -v systemd-modules-load >/dev/null 2>&1; then
|
||||
systemd-modules-load >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
# Auto-start if /dev/daedalus-v4l2 came up (i.e. module loaded
|
||||
# successfully). ConditionPathExists in the unit file means
|
||||
# `systemctl start` is a no-op if the device isn't there yet —
|
||||
# avoids spurious failures during apt install on a host where
|
||||
# daedalus-v4l2-dkms hasn't built yet.
|
||||
if [ -e /dev/daedalus-v4l2 ] && command -v systemctl >/dev/null 2>&1; then
|
||||
systemctl start daedalus-v4l2.service >/dev/null 2>&1 || true
|
||||
fi
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
POSTINST
|
||||
chmod 755 "$ROOT/DEBIAN/postinst"
|
||||
|
||||
cat > "$ROOT/DEBIAN/prerm" <<'PRERM'
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ "$1" = "remove" ] && command -v systemctl >/dev/null 2>&1; then
|
||||
systemctl stop daedalus-v4l2.service >/dev/null 2>&1 || true
|
||||
systemctl disable daedalus-v4l2.service >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
PRERM
|
||||
chmod 755 "$ROOT/DEBIAN/prerm"
|
||||
|
||||
cat > "$ROOT/DEBIAN/postrm" <<'POSTRM'
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if command -v systemctl >/dev/null 2>&1; then
|
||||
systemctl daemon-reload >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
#DEBHELPER#
|
||||
POSTRM
|
||||
chmod 755 "$ROOT/DEBIAN/postrm"
|
||||
|
||||
cat > "$ROOT/DEBIAN/control" <<EOF
|
||||
Package: daedalus-v4l2
|
||||
Version: ${PKGVER}-${PKGREL}
|
||||
Section: video
|
||||
Priority: optional
|
||||
Architecture: arm64
|
||||
Depends: ffmpeg (>= 7.1), libdrm2
|
||||
Depends: ffmpeg-v4l2-request-fourier (>= 2:8.1+rfourier), libdrm2
|
||||
Recommends: daedalus-v4l2-dkms
|
||||
Maintainer: Markus Fritsche <mfritsche@reauktion.de>
|
||||
Homepage: https://git.reauktion.de/reauktion/daedalus-v4l2
|
||||
|
||||
+25
@@ -1,3 +1,28 @@
|
||||
daedalus-v4l2 (0.1.0+r18+g481279c-1) bookworm trixie; urgency=medium
|
||||
|
||||
* Bump to 481279c. Upstream landed the systemd unit + modules-load.d
|
||||
drop-in (packaging/systemd/daedalus-v4l2.{service,modules-load}).
|
||||
* Package now ships /lib/systemd/system/daedalus-v4l2.service and
|
||||
/usr/lib/modules-load.d/daedalus-v4l2.conf.
|
||||
* postinst: daemon-reload, enable the service, trigger
|
||||
systemd-modules-load, and start if /dev/daedalus-v4l2 is already
|
||||
present. Operator no longer needs to remember the modprobe +
|
||||
systemctl-enable dance after install.
|
||||
* prerm/postrm: stop + disable + daemon-reload.
|
||||
|
||||
-- Markus Fritsche <mfritsche@reauktion.de> Wed, 20 May 2026 16:00:00 +0000
|
||||
|
||||
daedalus-v4l2 (0.1.0+r17+gf0cd29a-1) bookworm trixie; urgency=medium
|
||||
|
||||
* Bump to f0cd29a alongside daedalus-v4l2-dkms. No userspace
|
||||
change — the daemon binary in this release is bit-identical to
|
||||
the f55b2cd one (the f0cd29a commit only touches kernel/). Bump
|
||||
keeps the userspace + DKMS pkgver lockstep so depmod /
|
||||
LIBVA_DRIVER_NAME selection stays correct on hosts that
|
||||
upgrade.
|
||||
|
||||
-- Markus Fritsche <mfritsche@reauktion.de> Tue, 20 May 2026 10:30:00 +0000
|
||||
|
||||
daedalus-v4l2 (0.1.0+r16+gf55b2cd-1) bookworm trixie; urgency=medium
|
||||
|
||||
* Initial Debian packaging for the daedalus-v4l2 userspace daemon.
|
||||
|
||||
+67
-23
@@ -8,14 +8,18 @@
|
||||
# mpv-fourier (and the kdirect bit-exact reference test rig) work
|
||||
# end-to-end without a stock-Debian FFmpeg fallback.
|
||||
#
|
||||
# Conflicts: ffmpeg, libav* — this is a drop-in replacement. Pi 5 /
|
||||
# CM5 (BCM2712) hosts using daedalus_v4l2 + libva-v4l2-request-fourier
|
||||
# DON'T strictly need this package (stock Debian ffmpeg + libva path
|
||||
# is sufficient for the VAAPI route), but the kdirect bit-exact
|
||||
# reference + firefox-fourier / mpv-fourier consumers do.
|
||||
# **Private prefix /opt/fourier** (Path A per fourier-debian
|
||||
# architecture discussion 2026-05-19). Stock Debian trixie ships
|
||||
# FFmpeg 7.1.x = libavcodec.so.61; this package ships FFmpeg 8.1 =
|
||||
# libavcodec.so.62 — different SOVERSION, NOT a drop-in for trixie's
|
||||
# KDE/VLC/etc. Living in /opt/fourier/lib keeps the stock system
|
||||
# intact; only fourier-aware consumers (firefox-fourier, mpv-fourier,
|
||||
# daedalus-v4l2) RPATH into /opt/fourier/lib. Postinst drops an
|
||||
# ld.so.conf.d entry so dlopen-based consumers (firefox at runtime)
|
||||
# find the libs by SONAME without LD_LIBRARY_PATH wrappers.
|
||||
#
|
||||
# Big build: 25-40 min on a runner. Output is a single .deb that
|
||||
# bundles ffmpeg/ffprobe + libavcodec.so.61 + libavformat.so.61 etc.
|
||||
# bundles ffmpeg/ffprobe + libavcodec.so.62 + libavformat.so.62 etc.
|
||||
# all together — no split per-library subpackages. Easier to consume,
|
||||
# trades off finer-grained downgrades.
|
||||
#
|
||||
@@ -29,7 +33,7 @@ FFMPEG_VERSION=8.1
|
||||
# epoch 2 matches Debian's stock ffmpeg (currently 7:7.1.x in trixie);
|
||||
# +rfourier suffix to avoid colliding with upstream/Debian rebuilds.
|
||||
PKGVER=2:${FFMPEG_VERSION}+rfourier+gb57fbbe
|
||||
PKGREL=1
|
||||
PKGREL=2 # pkgrel=2 — Path A move to /opt/fourier prefix (2026-05-19)
|
||||
|
||||
HERE=$(dirname "$(readlink -f "$0")")
|
||||
|
||||
@@ -60,10 +64,15 @@ patch -Np1 -i "$HERE/0002-nv15-to-p010-unpack.patch"
|
||||
# JACK, GSM, Speex) — not needed on the Fourier fleet, keeps the .deb
|
||||
# smaller and the dependency graph tighter.
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--libdir=/usr/lib/aarch64-linux-gnu \
|
||||
--shlibdir=/usr/lib/aarch64-linux-gnu \
|
||||
--incdir=/usr/include/aarch64-linux-gnu \
|
||||
--prefix=/opt/fourier \
|
||||
--bindir=/opt/fourier/bin \
|
||||
--libdir=/opt/fourier/lib \
|
||||
--shlibdir=/opt/fourier/lib \
|
||||
--incdir=/opt/fourier/include \
|
||||
--datadir=/opt/fourier/share/ffmpeg \
|
||||
--mandir=/opt/fourier/share/man \
|
||||
--extra-ldexeflags='-Wl,-rpath,/opt/fourier/lib' \
|
||||
--extra-ldsoflags='-Wl,-rpath,/opt/fourier/lib' \
|
||||
--disable-debug \
|
||||
--disable-static \
|
||||
--disable-doc \
|
||||
@@ -104,7 +113,23 @@ make tools/qt-faststart
|
||||
# Stage
|
||||
ROOT="$work/pkgroot"
|
||||
make DESTDIR="$ROOT" install
|
||||
install -Dm755 tools/qt-faststart "$ROOT/usr/bin/qt-faststart"
|
||||
install -Dm755 tools/qt-faststart "$ROOT/opt/fourier/bin/qt-faststart"
|
||||
|
||||
# ld.so.conf.d entry so dlopen-based consumers (firefox-fourier at
|
||||
# runtime) find /opt/fourier/lib/libavcodec.so.62 by SONAME without an
|
||||
# LD_LIBRARY_PATH wrapper. No risk of contaminating stock binaries:
|
||||
# stock KDE/VLC link against libavcodec.so.61 (different SONAME), so
|
||||
# the loader never sees our .so.62 as a match for their .so.61.
|
||||
install -Dm644 /dev/stdin "$ROOT/etc/ld.so.conf.d/fourier.conf" <<EOF
|
||||
# fourier campaign: FFmpeg 8.1 fork + libVA fork in private prefix.
|
||||
/opt/fourier/lib
|
||||
EOF
|
||||
|
||||
# Optional /usr/bin shims so users can call ffmpeg-fourier without
|
||||
# remembering the /opt path. No conflict with stock /usr/bin/ffmpeg.
|
||||
install -d "$ROOT/usr/bin"
|
||||
ln -sf /opt/fourier/bin/ffmpeg "$ROOT/usr/bin/ffmpeg-fourier"
|
||||
ln -sf /opt/fourier/bin/ffprobe "$ROOT/usr/bin/ffprobe-fourier"
|
||||
|
||||
# Doc
|
||||
mkdir -p "$ROOT/usr/share/doc/ffmpeg-v4l2-request-fourier" "$ROOT/DEBIAN"
|
||||
@@ -143,19 +168,9 @@ Depends: libc6,
|
||||
libv4l-0,
|
||||
libva2,
|
||||
libva-drm2
|
||||
Conflicts: ffmpeg, libavcodec61, libavformat61, libavutil59,
|
||||
libswresample5, libswscale8, libavdevice61, libavfilter10,
|
||||
libpostproc58
|
||||
Replaces: ffmpeg, libavcodec61, libavformat61, libavutil59,
|
||||
libswresample5, libswscale8, libavdevice61, libavfilter10,
|
||||
libpostproc58
|
||||
Provides: ffmpeg (= ${PKGVER}-${PKGREL}),
|
||||
libavcodec.so.61,
|
||||
libavformat.so.61,
|
||||
libavutil.so.59
|
||||
Maintainer: Markus Fritsche <mfritsche@reauktion.de>
|
||||
Homepage: https://github.com/Kwiboo/FFmpeg
|
||||
Description: FFmpeg with V4L2 Request API hwaccel (Kwiboo fork)
|
||||
Description: FFmpeg with V4L2 Request API hwaccel (Kwiboo fork, /opt/fourier prefix)
|
||||
FFmpeg ${FFMPEG_VERSION} patched with the V4L2 Request API stateless
|
||||
video decoder hwaccel — Kwiboo's long-running rebase of Jernej
|
||||
Škrabec's v4l2-request patchset onto FFmpeg release tags.
|
||||
@@ -167,11 +182,40 @@ Description: FFmpeg with V4L2 Request API hwaccel (Kwiboo fork)
|
||||
backing FFmpeg, and as the kdirect bit-exact reference in libva-v4l2-
|
||||
request-fourier validation.
|
||||
.
|
||||
INSTALLED TO /opt/fourier (NOT /usr): this is FFmpeg 8.1 (libav*.so.62)
|
||||
sitting alongside Debian trixie's stock FFmpeg 7.1 (libav*.so.61) —
|
||||
different SONAMEs, no symbol clash. Consumer binaries RPATH into
|
||||
/opt/fourier/lib; ld.so.conf.d/fourier.conf adds the path to ld.so
|
||||
cache for dlopen-by-SONAME (firefox). /usr/bin/ffmpeg-fourier and
|
||||
/usr/bin/ffprobe-fourier are convenience symlinks to /opt/fourier/bin.
|
||||
Stock 'ffmpeg' command unaffected.
|
||||
.
|
||||
Drops X11/AMF/CUDA/Bluray/JACK/Vulkan/SDL2/Theora/XVid/Speex/JPEG-XL
|
||||
per Fourier fleet policy (Wayland + ARM + video-decode focus).
|
||||
No 'ffplay' binary; mpv-fourier covers interactive playback.
|
||||
EOF
|
||||
|
||||
# ldconfig must be re-run after install so /opt/fourier/lib is in the cache.
|
||||
cat > "$ROOT/DEBIAN/postinst" <<'PEOF'
|
||||
#!/bin/sh
|
||||
set -e
|
||||
if [ "$1" = "configure" ]; then
|
||||
ldconfig
|
||||
fi
|
||||
#DEBHELPER#
|
||||
PEOF
|
||||
chmod 755 "$ROOT/DEBIAN/postinst"
|
||||
|
||||
cat > "$ROOT/DEBIAN/postrm" <<'PEOF'
|
||||
#!/bin/sh
|
||||
set -e
|
||||
if [ "$1" = "remove" ] || [ "$1" = "purge" ]; then
|
||||
ldconfig
|
||||
fi
|
||||
#DEBHELPER#
|
||||
PEOF
|
||||
chmod 755 "$ROOT/DEBIAN/postrm"
|
||||
|
||||
DEB_OUT="ffmpeg-v4l2-request-fourier_${PKGVER//:/%3a}-${PKGREL}_arm64.deb"
|
||||
dpkg-deb --root-owner-group --build "$ROOT" "$HERE/$DEB_OUT"
|
||||
echo "built: $HERE/$DEB_OUT"
|
||||
|
||||
Vendored
+1
-1
@@ -109,7 +109,7 @@ Depends: ffmpeg-v4l2-request-fourier (>= 2:8.1+rfourier),
|
||||
libxkbcommon0, libxext6, libxpresent1,
|
||||
libxrandr2, libxss1, libxv1, libx11-6,
|
||||
zlib1g
|
||||
Conflicts: mpv, libmpv2 | libmpv1
|
||||
Conflicts: mpv, libmpv2, libmpv1
|
||||
Replaces: mpv, libmpv2, libmpv1
|
||||
Provides: mpv (= ${PKGVER}-${PKGREL}), libmpv.so.2
|
||||
Maintainer: Markus Fritsche <mfritsche@reauktion.de>
|
||||
|
||||
Reference in New Issue
Block a user