Skip to content

docker: Add KDE kimageformats for AVIF, JXL and other formats#3

Open
nickv2002 wants to merge 283 commits into
feat/docker-multistage-optimizationfrom
feat/docker-kimageformats-v2
Open

docker: Add KDE kimageformats for AVIF, JXL and other formats#3
nickv2002 wants to merge 283 commits into
feat/docker-multistage-optimizationfrom
feat/docker-kimageformats-v2

Conversation

@nickv2002
Copy link
Copy Markdown
Owner

Stacked on PR YACReader#504

@nickv2002 nickv2002 force-pushed the feat/docker-kimageformats-v2 branch from d85787f to 1b480e6 Compare February 17, 2026 05:34
luisangelsm added 29 commits May 1, 2026 09:42
Content and settings can vary at any moment and we need to be prepared for always have a consistent context
We need to initialize marks separated from populate
There now some dither to avoid banding in the gradients.
This simplifies the code base A LOT.
YACReader 10: Replace the flow OpenGL implementation with a QRhi based one
We can add here all the built-in themes, plus a custom one that could be loaded from a file.
It can listen to system changes and update the current theme, widgets can use it to get the current theme.
@nickv2002 nickv2002 force-pushed the feat/docker-kimageformats-v2 branch 2 times, most recently from 283e526 to 19edf75 Compare May 11, 2026 05:13
luisangelsm and others added 4 commits May 11, 2026 21:38
…rmats

Upgrade the Docker image from Ubuntu Noble (24.04) to Ubuntu Resolute
(26.06 LTS), adopt the cmake build system, and add support for AVIF,
JXL, HEIC, and 20+ additional image formats via kimageformat6-plugins.

Changes from upstream develop:
- Base: ghcr.io/linuxserver/baseimage-ubuntu:resolute (Ubuntu 26.06 LTS)
  with Qt 6.10 — avoids Noble's backport packaging complexity
- Multi-stage build: separate sevenzip-builder and runtime stages keep
  the final image lean
- RAR support: 7z.so is still built from source (YACReader/yacreader-7z-deps)
  in a dedicated sevenzip-builder stage and copied into the runtime image;
  apt 7zip-rar alone does not provide the same RAR codec behavior
- kimageformat6-plugins: available directly from Ubuntu Resolute apt
  (KF6 6.24.0) — no source build required; brings AVIF (libavif16),
  JXL (libjxl0.11), HEIC (libheif), WebP, and more
- Package updates for Resolute: libqt6network6 (was libqt6network6t64),
  removed libqt6opengl6-dev and libunarr-dev (not available on Resolute)
- Fix COPY root.tar.gz path to docker/root.tar.gz to match build context

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…text

Upstream builds with the docker/ directory as the build context, so
root.tar.gz is referenced without the docker/ prefix.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@luisangelsm luisangelsm force-pushed the feat/docker-kimageformats-v2 branch from 58e6ae6 to 1363642 Compare May 11, 2026 19:59
nickv2002 and others added 2 commits May 11, 2026 14:21
Mirror the amd64 changes onto the arm64 image: rebase both stages
onto ghcr.io/linuxserver/baseimage-ubuntu:resolute (Ubuntu 26.04),
drop the noble-era t64 package suffixes for libqt6gui6/libqt6network6,
and add kimageformat6-plugins to the runtime stage for AVIF/JXL.

Verified natively on arm64: image builds, server starts on Qt 6.10.2,
kimg_avif.so/kimg_jxl.so load, and avif.cbz / jxl.cbz pages render
end-to-end through the HTTP API.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Mirror the amd64 layout: extract the 7z.so build into a dedicated
sevenzip-builder stage that fetches the prebuilt source archive, so
yacreader-builder no longer reaches into the cloned tree to compile
RAR support. The two builder stages now share a 'base' image and run
in parallel.

After this change docker/Dockerfile and docker/Dockerfile.aarch64 are
byte-identical. Verified natively on arm64: 7z.so is present in the
final image and avif.cbz / jxl.cbz pages render end-to-end.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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.

3 participants