WebView-v2026.04.1
Pre-release
Pre-release
·
2 commits
to trixie-upgrade
since this release
This release completes the Debian Trixie + Python 3.13 migration across the entire WebView stack — the Qt 5 toolchains for pi2/pi3 are rebuilt on trixie, and the Qt 6 webviews for pi4-64, pi5, and x86 are rebuilt against trixie's qt6-webengine-dev.
Supersedes
WebView-v2026.04.0(the first CalVer-tagged WebView release, which carried the Anthias rebrand of D-Bus / install paths / on-disk resources, the new pi4-64 Qt 6 path, and thewebview-<calver>-<debian>-<board>.tar.gzartifact naming on bookworm). Use 2026.04.1 — 2026.04.0's bookworm tarballs are obsolete.
Build pipeline
- Qt 5 cross-build Dockerfile end-to-end fixes for trixie
python2.7from bullseye archive (trixie main dropped py2; pyenv was effectively broken because its PATH only loaded via~/.bashrc, never reacheddocker run)- sysroot now ships
harfbuzz/lcms2/re2/xml2dev libs (chromium pdfium needed them on host and sysroot) bzip2.pccopied from/usr/share/pkgconfig— was silently missing, made fontconfig probe fail and QtWebEngine quietly skipped-webengine-proprietary-codecsenabled — H.264, AAC, MP3 in the resulting QtWebEngineMAKE_COREScapped at min(nproc, 8) so chromium under qemu-arm doesn't OOM on >8-core hosts- trixie apt renames in
webview/Dockerfile:libpng16-16→libpng16-16t64(time64 transition),libgst-dev→libgstreamer1.0-dev,libsqlite0-dev→libsqlite3-dev,libsrtp0-dev→libsrtp2-dev
- Trixie + Python 3.13 across all containers (server, celery, viewer, webview) — drops Balena base images, which never published a trixie tag and last refreshed in May 2025
- Pi keyring fetch hardened: HTTPS-only + SHA256 pinning on
raspberrypi-archive-keyringandraspbian-archive-keyring.debs(the.debis the trust anchor for everything fetched after it, so TLS alone wouldn't catch an upstream archive-side swap) bin/rebuild_qt5_toolchain.sh— out-of-band toolchain rebuild helper for pi2/pi3- pi1 + 32-bit pi4 retired — surviving build matrix is pi2, pi3, pi4-64, pi5, x86; Qt 5 path is pi2/pi3 only
CI / release infrastructure
- Qt 5 builder image moved off Docker Hub onto GHCR:
screenly/ose-qt-builder→ghcr.io/screenly/anthias-webview-qt5-builder(image +:buildcachetag), aligning with the rest of theanthias-*packages - Qt 5 builder built inline in
compile-webview-part-1(no separate publish job) - Registry-cache backend for the Qt 5 builder, mirroring
docker-build.yaml USER rootdeclared explicitly inwebview/Dockerfilebuilder stage (sonar finding)
Viewer / pi4-64
- pi4-64 routes to mpv with HW decode via
v4l2m2m-copy(notdrm-copy) - 64-bit balena base for pi4-64 viewer image
libraspberrypi0skipped on arm64 (it's armhf-only)audio_outputsetting honored in mpv
Webview UX (forum Tier-A bundle, #2778)
- No more white flash on dark URL assets —
setBackgroundColor(Qt::black)onQWebEnginePageso the gap between load start and first paint is no longer white (forum t/6610) - URL assets refresh every loop —
QWebEngineProfileswitched to memory HTTP cache +clearHttpCacheon startup, instead of lingering stale for days from the on-disk cache (forum t/983) - Auto Qt scaling on 4K+ screens —
bin/start_viewer.shnow reads the active mode from/sys/class/drm/card*-*/modesand exportsQT_SCALE_FACTOR(3840→2x, 5120→3x, 7680→4x); manual overrides win (forum t/6538)
Install / deps
bin/install.shaccepts Python>=3.11(was pinned to 3.11)- Resolves release tags via
refs/tags/inclone_repo - Django 4.2.30 → 5.2.13 (LTS)
Release artifacts
| Board | Qt | Tarball(s) |
|---|---|---|
| pi2 | 5.15.14 + WebEngine (this release's trixie toolchain) | qt5-5.15.14-trixie-pi2.tar.gz, webview-2026.04.1-trixie-pi2.tar.gz |
| pi3 | 5.15.14 + WebEngine (this release's trixie toolchain) | qt5-5.15.14-trixie-pi3.tar.gz, webview-2026.04.1-trixie-pi3.tar.gz |
| pi4-64 | Qt 6 + WebEngine (trixie apt) | webview-2026.04.1-trixie-pi4-64.tar.gz |
| pi5 | Qt 6 + WebEngine (trixie apt) | webview-2026.04.1-trixie-pi5.tar.gz |
| x86 | Qt 6 + WebEngine (trixie apt) | webview-2026.04.1-trixie-x86.tar.gz |
Bookworm tarballs (pi1, pi2, pi3, pi4 32-bit) remain on WebView-v0.3.5 for legacy installs.