Skip to content

Fix VAAPI hardware decode on LibreELEC x86_64 by building from source#2

Merged
echocabinet merged 2 commits into
claude/happy-babbage-qhtdiufrom
main
Jun 25, 2026
Merged

Fix VAAPI hardware decode on LibreELEC x86_64 by building from source#2
echocabinet merged 2 commits into
claude/happy-babbage-qhtdiufrom
main

Conversation

@echocabinet

Copy link
Copy Markdown
Owner

No description provided.

claude added 2 commits June 25, 2026 03:12
The upstream moonlight-qt AppImage was compiled without SDL_VIDEO_DRIVER_KMSDRM,
causing vaapi.cpp's KMSDRM display path to be excluded at compile time. On
LibreELEC (headless KMS), SDL reports subsystem SDL_SYSWM_KMSDRM (13), which
fell through to "Unsupported VAAPI rendering subsystem" and forced software decode.

Fix: build moonlight-qt from source using Debian bookworm's libsdl2-dev, which
has SDL_VIDEO_DRIVER_KMSDRM defined in its headers. Also add runtime libs:
- libSDL2.so* (previously came from AppImage, now must be bundled explicitly)
- libGLESv2.so* (rendering stability on GLES2/EGLFS path)
- libdrm.so* (required by the VAAPI DRM display path at runtime)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JCvMzW9nTj4VvqGiyFdt8T
- Add GitHub Action to build and push the amd64 Docker image to GHCR on
  every push to main, with GitHub Actions cache to speed up rebuilds
- build.sh now pulls the pre-built image from GHCR instead of compiling
  locally; falls back to a local build if the pull fails
- Pin Dockerfile base image to a specific Debian bookworm-slim digest
- Pin MOONLIGHT_VERSION to v6.1.0 (was master)
- MOONLIGHT_VERSION is also set as a repo variable so it can be bumped
  without editing the Dockerfile

Co-Authored-By: Claude <noreply@anthropic.com>
@echocabinet echocabinet merged commit a72048a into claude/happy-babbage-qhtdiu Jun 25, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants