chore: remove mpv and its build dependencies from Flatpak manifest

mpv was replaced by hls.js in v0.4.0 but its five build modules
(libass, libplacebo, libXpresent, Lua 5.2, mpv itself) and the
ffmpeg7 patch were never removed — dead weight in every build since.
This commit is contained in:
Andre
2026-05-12 20:20:00 +02:00
parent 78d67de35a
commit 1fe2093ebe
3 changed files with 6 additions and 113 deletions
-1
View File
@@ -265,7 +265,6 @@ Wenn der User während der Wiedergabe das Kapitel-Panel öffnet (Y-Taste), läuf
| Flaggen-Emojis auf Windows | Nur Rechtecke | Unicode Regional Indicators brauchen Noto Color Emoji (Linux). Im Dev-Mode ignorieren. | | Flaggen-Emojis auf Windows | Nur Rechtecke | Unicode Regional Indicators brauchen Noto Color Emoji (Linux). Im Dev-Mode ignorieren. |
| Browser Gamepad API in Gaming Mode | Nicht nutzbar | Steam Input + Flatpak-Sandbox blockiert udev-Events für Chromium. Deshalb evdev direkt im Main-Process. | | Browser Gamepad API in Gaming Mode | Nicht nutzbar | Steam Input + Flatpak-Sandbox blockiert udev-Events für Chromium. Deshalb evdev direkt im Main-Process. |
| Bluetooth-Controller-Deduplizierung | Aktiv | Mehrere `/dev/input/js*`-Devices (z.B. Raw-Device + Steam-Virtual-Device) → 40ms-Deduplizierungsfenster in `gamepadReader.ts` | | Bluetooth-Controller-Deduplizierung | Aktiv | Mehrere `/dev/input/js*`-Devices (z.B. Raw-Device + Steam-Virtual-Device) → 40ms-Deduplizierungsfenster in `gamepadReader.ts` |
| Flatpak-Manifest mpv-Einträge | Noch nicht bereinigt | `tv.twitch4steamdeck.App.yml` enthält noch mpv-Build-Schritte und den mpv-Patch — nach Steam Deck Test entfernen. |
| Direkt-Start: kein VOD-Support | By Design | AppShell-Overlay nur für Live-Streams. VODs nur über Kanalseite (ChannelScreen) mit Resume + Kapitel. | | Direkt-Start: kein VOD-Support | By Design | AppShell-Overlay nur für Live-Streams. VODs nur über Kanalseite (ChannelScreen) mit Resume + Kapitel. |
--- ---
@@ -1,8 +0,0 @@
--- a/audio/decode/ad_spdif.c
+++ b/audio/decode/ad_spdif.c
@@ -165,7 +165,7 @@ static int init_filter(struct dec_audio *da, AVCodec *codec)
-static int write_packet(void *opaque, uint8_t *buf, int buf_size)
+static int write_packet(void *opaque, const uint8_t *buf, int buf_size)
{
struct spdif_filter *sf = opaque;
+6 -104
View File
@@ -9,8 +9,8 @@ base-version: '24.08'
command: twitch4steamdeck command: twitch4steamdeck
# ffmpeg-full: Stellt den vollen FFmpeg-Codec-Stack bereit (h264, h264_vaapi, etc.). # ffmpeg-full: Stellt den vollen FFmpeg-Codec-Stack bereit (h264, h264_vaapi, etc.).
# Das freedesktop SDK 24.08 liefert nur ein reduziertes FFmpeg ohne patentbehaftete Codecs, # Das freedesktop SDK 24.08 liefert nur ein reduziertes FFmpeg ohne patentbehaftete Codecs —
# daher hat mpv sonst nur libopenh264 — zu langsam fuer Seek-Recovery bei HLS-VODs. # Electron/Chromium braucht h264 für hls.js (MediaSource Extensions).
add-extensions: add-extensions:
org.freedesktop.Platform.ffmpeg-full: org.freedesktop.Platform.ffmpeg-full:
directory: lib/ffmpeg directory: lib/ffmpeg
@@ -24,7 +24,7 @@ finish-args:
- --share=ipc # X11 shared memory (Wayland-Fallback) - --share=ipc # X11 shared memory (Wayland-Fallback)
- --socket=wayland - --socket=wayland
- --socket=fallback-x11 - --socket=fallback-x11
- --socket=pulseaudio # Audio für mpv - --socket=pulseaudio # Audio
- --device=all # GPU + /dev/input/* (Gamepad API braucht Input-Devices) - --device=all # GPU + /dev/input/* (Gamepad API braucht Input-Devices)
- --talk-name=org.freedesktop.Notifications - --talk-name=org.freedesktop.Notifications
# Electron userData liegt automatisch in ~/.var/app/tv.twitch4steamdeck.App/config/ # Electron userData liegt automatisch in ~/.var/app/tv.twitch4steamdeck.App/config/
@@ -40,105 +40,7 @@ finish-args:
modules: modules:
# ───────────────────────────────────────────────────────────────────────────── # ─────────────────────────────────────────────────────────────────────────────
# 1a) libass — Untertitel-Rendering (nicht im freedesktop SDK 24.08 enthalten) # 1) streamlink (Python) — liefert HLS-URLs aus Twitch-Streams
# ─────────────────────────────────────────────────────────────────────────────
- name: libass
config-opts:
- --disable-static
- --libdir=/app/lib
sources:
- type: archive
url: https://github.com/libass/libass/releases/download/0.17.3/libass-0.17.3.tar.gz
sha256: da7c348deb6fa6c24507afab2dee7545ba5dd5bbf90a137bfe9e738f7df68537
# ─────────────────────────────────────────────────────────────────────────────
# 1b) libplacebo — Pflicht-Abhängigkeit für mpv 0.38+ (gpu-next renderer)
# vulkan=disabled: kein Vulkan-Renderer, OpenGL/EGL+VAAPI reicht für uns.
# shaderc + lcms2 kommen aus dem freedesktop SDK 24.08.
# ─────────────────────────────────────────────────────────────────────────────
- name: libplacebo
buildsystem: meson
config-opts:
- -Dlibdir=lib
- -Dvulkan=disabled
- -Dglslang=disabled
- -Dshaderc=enabled
- -Dlcms=enabled
- -Ddemos=false
- -Dtests=false
sources:
- type: archive
# Lokaler Tarball mit glad2-Submodul (GitHub-Tarball enthält Submodule nicht).
# Erstellen: siehe flatpak/build-flatpak.sh oder README.
# In WSL2: liegt unter ~/twitch4steamdeck/flatpak/libplacebo-6.338.2-full.tar.gz
path: libplacebo-6.338.2-full.tar.gz
sha256: 7f5da41b872302208f0e10c22d3e108ab9fdb1f253eb47c18651698c65d6b426
# ─────────────────────────────────────────────────────────────────────────────
# 1c) libXpresent — X11-Extension für VSync/Frame-Timing (mpv X11-Dependency)
# ─────────────────────────────────────────────────────────────────────────────
- name: libxpresent
buildsystem: autotools
sources:
- type: archive
url: https://xorg.freedesktop.org/releases/individual/lib/libXpresent-1.0.1.tar.xz
sha256: b964df9e5a066daa5e08d2dc82692c57ca27d00b8cc257e8e960c9f1cf26231b
# ─────────────────────────────────────────────────────────────────────────────
# 1d) Lua 5.2 — Laufzeit + Dev-Dateien für mpv-Scripts/OSC/ytdl-Hooks
# ─────────────────────────────────────────────────────────────────────────────
- name: lua
buildsystem: simple
build-commands:
- make clean
- make linux MYCFLAGS="$CFLAGS -fPIC" MYLDFLAGS="$LDFLAGS"
- make INSTALL_TOP=/app INSTALL_INC=/app/include/lua5.2 INSTALL_LIB=/app/lib INSTALL_MAN=/app/share/man install
- mkdir -p /app/lib/pkgconfig
- |
cat > /app/lib/pkgconfig/lua52.pc <<'EOF'
prefix=/app
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include/lua5.2
Name: Lua
Description: Embedded scripting language
Version: 5.2.4
Libs: -L${libdir} -llua -lm -ldl
Cflags: -I${includedir}
EOF
- cp /app/lib/pkgconfig/lua52.pc /app/lib/pkgconfig/lua5.2.pc
- cp /app/lib/pkgconfig/lua52.pc /app/lib/pkgconfig/lua-5.2.pc
sources:
- type: archive
url: https://www.lua.org/ftp/lua-5.2.4.tar.gz
sha256: b9e2e4aad6789b3b63a056d442f7b39f0ecfca3ae0f1fc0ae4e9614401b69f4b
# ─────────────────────────────────────────────────────────────────────────────
# 1e) mpv — Media-Player für Live-Streams und VODs
# ffmpeg, libass, libplacebo, libva (VAAPI), X11 verfügbar.
# Lua aktiviert, damit das Bundle näher am Desktop-mpv liegt.
# ─────────────────────────────────────────────────────────────────────────────
- name: mpv
buildsystem: meson
config-opts:
- -Dvaapi=enabled
- -Dpulse=enabled
- -Dx11=enabled
- -Degl-x11=enabled
- -Dalsa=disabled
- -Dlua=enabled
- -Djavascript=disabled
- -Drubberband=disabled
- -Dvapoursynth=disabled
- -Dbuild-date=false
sources:
- type: archive
url: https://github.com/mpv-player/mpv/archive/refs/tags/v0.41.0.tar.gz
sha256: ee21092a5ee427353392360929dc64645c54479aefdb5babc5cfbb5fad626209
# ─────────────────────────────────────────────────────────────────────────────
# 2) streamlink (Python) — liefert HLS-URLs aus Twitch-Streams
# Wird von build-flatpak.sh via flatpak-pip-generator generiert: # Wird von build-flatpak.sh via flatpak-pip-generator generiert:
# python3 -m flatpak_pip_generator streamlink==6.11.0 \ # python3 -m flatpak_pip_generator streamlink==6.11.0 \
# --output flatpak/python3-streamlink # --output flatpak/python3-streamlink
@@ -148,7 +50,7 @@ modules:
- !include python3-streamlink.json - !include python3-streamlink.json
# ───────────────────────────────────────────────────────────────────────────── # ─────────────────────────────────────────────────────────────────────────────
# 2b) Mountpoint fuer ffmpeg-full Extension (muss vor App-Modul existieren) # 1b) Mountpoint fuer ffmpeg-full Extension (muss vor App-Modul existieren)
# ───────────────────────────────────────────────────────────────────────────── # ─────────────────────────────────────────────────────────────────────────────
- name: ffmpeg-full-mountpoint - name: ffmpeg-full-mountpoint
buildsystem: simple buildsystem: simple
@@ -156,7 +58,7 @@ modules:
- mkdir -p /app/lib/ffmpeg - mkdir -p /app/lib/ffmpeg
# ───────────────────────────────────────────────────────────────────────────── # ─────────────────────────────────────────────────────────────────────────────
# 3) Haupt-App # 2) Haupt-App
# Voraussetzung: npm install + @electron/rebuild + npm run build wurden # Voraussetzung: npm install + @electron/rebuild + npm run build wurden
# AUSSERHALB (in WSL2) ausgeführt. Dieses Modul kopiert nur die Artefakte. # AUSSERHALB (in WSL2) ausgeführt. Dieses Modul kopiert nur die Artefakte.
# ───────────────────────────────────────────────────────────────────────────── # ─────────────────────────────────────────────────────────────────────────────