Skip to content

WebView-v2026.04.1

Pre-release
Pre-release

Choose a tag to compare

@vpetersson vpetersson released this 30 Apr 14:54
· 2 commits to trixie-upgrade since this release
1d8c3be

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 the webview-<calver>-<debian>-<board>.tar.gz artifact 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.7 from bullseye archive (trixie main dropped py2; pyenv was effectively broken because its PATH only loaded via ~/.bashrc, never reached docker run)
    • sysroot now ships harfbuzz/lcms2/re2/xml2 dev libs (chromium pdfium needed them on host and sysroot)
    • bzip2.pc copied from /usr/share/pkgconfig — was silently missing, made fontconfig probe fail and QtWebEngine quietly skipped
    • -webengine-proprietary-codecs enabled — H.264, AAC, MP3 in the resulting QtWebEngine
    • MAKE_CORES capped at min(nproc, 8) so chromium under qemu-arm doesn't OOM on >8-core hosts
    • trixie apt renames in webview/Dockerfile: libpng16-16libpng16-16t64 (time64 transition), libgst-devlibgstreamer1.0-dev, libsqlite0-devlibsqlite3-dev, libsrtp0-devlibsrtp2-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-keyring and raspbian-archive-keyring .debs (the .deb is 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-builderghcr.io/screenly/anthias-webview-qt5-builder (image + :buildcache tag), aligning with the rest of the anthias-* 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 root declared explicitly in webview/Dockerfile builder stage (sonar finding)

Viewer / pi4-64

  • pi4-64 routes to mpv with HW decode via v4l2m2m-copy (not drm-copy)
  • 64-bit balena base for pi4-64 viewer image
  • libraspberrypi0 skipped on arm64 (it's armhf-only)
  • audio_output setting honored in mpv

Webview UX (forum Tier-A bundle, #2778)

  • No more white flash on dark URL assetssetBackgroundColor(Qt::black) on QWebEnginePage so the gap between load start and first paint is no longer white (forum t/6610)
  • URL assets refresh every loopQWebEngineProfile switched to memory HTTP cache + clearHttpCache on startup, instead of lingering stale for days from the on-disk cache (forum t/983)
  • Auto Qt scaling on 4K+ screensbin/start_viewer.sh now reads the active mode from /sys/class/drm/card*-*/modes and exports QT_SCALE_FACTOR (3840→2x, 5120→3x, 7680→4x); manual overrides win (forum t/6538)

Install / deps

  • bin/install.sh accepts Python >=3.11 (was pinned to 3.11)
  • Resolves release tags via refs/tags/ in clone_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.