sci-misc/stable-diffusion-cpp
Diffusion model(SD,Flux,Wan,Qwen Image,Z-Image,...) inference in pure C/C++
-
stable-diffusion-cpp-9999cpu_flags_x86_amx_bf16 cpu_flags_x86_amx_int8 cpu_flags_x86_amx_tile cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512_bf16 cpu_flags_x86_avx512_vnni cpu_flags_x86_avx512f cpu_flags_x86_avx512vbmi cpu_flags_x86_avx_vnni cpu_flags_x86_bmi2 cpu_flags_x86_f16c cpu_flags_x86_fma3 cpu_flags_x86_sse4_2 blis cuda flexiblas openblas opencl +openmp rocm vulkan webm webp +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151
View
Download
Browse License: MIT Overlay: guru -
stable-diffusion-cpp-9999~amd64cpu_flags_x86_amx_bf16 cpu_flags_x86_amx_int8 cpu_flags_x86_amx_tile cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512_bf16 cpu_flags_x86_avx512_vnni cpu_flags_x86_avx512f cpu_flags_x86_avx512vbmi cpu_flags_x86_avx_vnni cpu_flags_x86_bmi2 cpu_flags_x86_f16c cpu_flags_x86_fma3 cpu_flags_x86_sse4_2 blis cuda flexiblas hip openblas opencl +openmp vulkan webm webp +amdgpu_targets_gfx942 +amdgpu_targets_gfx1010 +amdgpu_targets_gfx1011 +amdgpu_targets_gfx1012 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1031 +amdgpu_targets_gfx1032 +amdgpu_targets_gfx1033 +amdgpu_targets_gfx1034 +amdgpu_targets_gfx1035 +amdgpu_targets_gfx1036 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1102 +amdgpu_targets_gfx1103 +amdgpu_targets_gfx1150 +amdgpu_targets_gfx1151 +amdgpu_targets_gfx1152 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx908 amdgpu_targets_gfx90a amdgpu_targets_gfx90c amdgpu_targets_gfx950 amdgpu_targets_gfx1153 amdgpu_targets_gfx1250
View
Download
Browse License: MIT Overlay: FireBurn -
stable-diffusion-cpp-9999debug openblas blis flexiblas rocm cuda opencl vulkan webm webp cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_avx512vbmi cpu_flags_x86_bmi2 cpu_flags_x86_f16c cpu_flags_x86_fma3 cpu_flags_x86_sse4_2 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx950 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151
View
Download
Browse License: MIT Overlay: stuff -
stable-diffusion-cpp-964~amd64cpu_flags_x86_amx_bf16 cpu_flags_x86_amx_int8 cpu_flags_x86_amx_tile cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512_bf16 cpu_flags_x86_avx512_vnni cpu_flags_x86_avx512f cpu_flags_x86_avx512vbmi cpu_flags_x86_avx_vnni cpu_flags_x86_bmi2 cpu_flags_x86_f16c cpu_flags_x86_fma3 cpu_flags_x86_sse4_2 blis cuda flexiblas hip openblas opencl +openmp vulkan webm webp +amdgpu_targets_gfx942 +amdgpu_targets_gfx1010 +amdgpu_targets_gfx1011 +amdgpu_targets_gfx1012 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1031 +amdgpu_targets_gfx1032 +amdgpu_targets_gfx1033 +amdgpu_targets_gfx1034 +amdgpu_targets_gfx1035 +amdgpu_targets_gfx1036 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1102 +amdgpu_targets_gfx1103 +amdgpu_targets_gfx1150 +amdgpu_targets_gfx1151 +amdgpu_targets_gfx1152 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx908 amdgpu_targets_gfx90a amdgpu_targets_gfx90c amdgpu_targets_gfx950 amdgpu_targets_gfx1153 amdgpu_targets_gfx1250
View
Download
Browse License: MIT Overlay: FireBurn -
stable-diffusion-cpp-0_pre964~amd64 ~arm64debug openblas blis flexiblas rocm cuda opencl vulkan webm webp cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_avx512vbmi cpu_flags_x86_bmi2 cpu_flags_x86_f16c cpu_flags_x86_fma3 cpu_flags_x86_sse4_2 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx950 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151
View
Download
Browse License: MIT BSD-2 Overlay: stuff -
stable-diffusion-cpp-0_pre959~amd64 ~arm64debug openblas blis flexiblas rocm cuda opencl vulkan webm webp cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_avx512vbmi cpu_flags_x86_bmi2 cpu_flags_x86_f16c cpu_flags_x86_fma3 cpu_flags_x86_sse4_2 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx950 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151
View
Download
Browse License: MIT BSD-2 Overlay: stuff -
stable-diffusion-cpp-0_pre956~amd64 ~arm64debug openblas blis flexiblas rocm cuda opencl vulkan webm webp cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_avx512f cpu_flags_x86_avx512vbmi cpu_flags_x86_bmi2 cpu_flags_x86_f16c cpu_flags_x86_fma3 cpu_flags_x86_sse4_2 +amdgpu_targets_gfx908 +amdgpu_targets_gfx90a +amdgpu_targets_gfx942 +amdgpu_targets_gfx950 +amdgpu_targets_gfx1030 +amdgpu_targets_gfx1100 +amdgpu_targets_gfx1101 +amdgpu_targets_gfx1200 +amdgpu_targets_gfx1201 amdgpu_targets_gfx803 amdgpu_targets_gfx900 amdgpu_targets_gfx906 amdgpu_targets_gfx940 amdgpu_targets_gfx941 amdgpu_targets_gfx1010 amdgpu_targets_gfx1011 amdgpu_targets_gfx1012 amdgpu_targets_gfx1031 amdgpu_targets_gfx1102 amdgpu_targets_gfx1103 amdgpu_targets_gfx1150 amdgpu_targets_gfx1151
View
Download
Browse License: MIT BSD-2 Overlay: stuff
ChangeLog
commit 3c6d37be1e12195cca6026bfd5f2c525fcb93175
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 14 10:20:41 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre951
Superseded; the last three snapshots stay.
commit 865baadef9c0e0cba1d39f8b9b04d85d052386ff
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 14 10:20:28 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre964
The ggml gitlink is unchanged from 0_pre959. Upstream added a HIP
block that links hip::host when SD_HIPBLAS is on.
commit d7c7151b9ae9cb0991d4725d02f3eb52e0be45d1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 13 11:33:25 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre947-r1
Superseded by three newer snapshots.
commit 9de071553e8ecd2b48ce77fc07f3013c742ab73d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 13 11:33:25 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre959
Adds TAEQI2.1 for Qwen Image 2.1, the MoSR upscaler and a Qwen Image
2.1 Turbo sigma preset. The ggml gitlink and the CMake files are
unchanged from 956.
commit b26b11c8b65b788f5f2c0cc1c9f25e5d4de003f5
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Oct 11 00:10:50 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre945-r1
commit 84f50b99c37e38adf1f179aa2f10f33ec51791b3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Oct 11 00:10:38 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre956
The ggml submodule pin is unchanged from 0_pre951.
commit 73576830c4ad0c620168f80f56bfe6c5ac8cf6f0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Oct 10 13:39:18 2026 +0200
sci-misc/stable-diffusion-cpp: name libomp under hipcc, revbump
The vendored ggml enables OpenMP by default, and with ROCm 10.1 the
rocm build fails at link for the same reason as llama-cpp: under hipcc
CMake finds the OpenMP flag but no library. Pass the hints from
rocm_hipcc_openmp_args and declare llvm-runtimes/openmp for USE=rocm,
because the hipcc build links libomp directly, in the versions that
lack both; 0_pre951 was added with them.
The new dependency bumps the revision of 0_pre945 and 0_pre947.
commit 4a1e47b8c849708197c286c9ff131cdb516a6aee
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Oct 10 12:19:36 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre929-r1
commit f62c5421528172b31f70e3cc2eb12abfe520a73b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Oct 10 12:19:30 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre951
Skips 948: it moved the ggml pin to a commit that added an operation
without updating the count ggml-rpc.h asserts, and the ebuild enables
that backend. Upstream corrected the assert in 949.
For hipcc builds the ebuild calls rocm_hipcc_openmp_args and declares
llvm-runtimes/openmp from the start; the versions already in the tree
gain both separately.
commit ac90d8c332faf165a0d7f949cecf256d254db938
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 9 10:51:36 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre920-r1
commit c90ad20227de4ebace3b4c9df55d1fff944ae5ea
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 9 10:51:22 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre947
Stops one snapshot short of the tip. 948 moves the ggml pin to a commit
that adds an operation without updating the count ggml-rpc.h asserts,
and the ebuild enables that backend.
commit 9cece037dddbf943320e0526648da82d9772a6f1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 6 23:54:46 2026 +0200
sci-misc/stable-diffusion-cpp: build the OpenCL backend for Intel GPUs
ggml's OpenCL backend accepts only Adreno and Intel GPUs, and with its
Adreno kernels enabled (upstream's default) it rejects every other
device, so USE=opencl gave no usable backend on amd64. Those kernels
are now enabled on arm64 only.
The backend also runs a stdlib-only Python script at build time to
embed its kernels, which BDEPEND now declares.
Applied in place to the 0_pre945 snapshot and the live ebuild, and as
revbumps to the published 920 and 929 snapshots; both pinned ggml
trees carry the same OpenCL device gate.
commit 1ec9b63aec4383683755047a8dc2eaf653735acf
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 6 21:44:44 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre913
Retention keeps the last three snapshots, now 920, 929 and 945. 920
still pins ggml 4bf5f60, so the Manifest keeps that tarball.
commit 8c00659dd31c91506958845b9ffe7fba8da64137
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 6 21:44:24 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre945
Snapshot master-945-a1ded76 adds Z-Image L2P support, LoRA merging on
model conversion and server previews, fixes an f16 overflow in Z-Image
quantized matmuls on CUDA, and keeps MiniMax-H3 VAE weights resident
across temporal chunks. The ggml gitlink stays at 89c4413 and no CMake
file changed, so the configure arguments carry over.
commit 87715129206c2858a68e2313b4e2ceed5ebe383d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 28 09:56:04 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre900, 0_pre908
Retention keeps the last three snapshots, now 913, 920 and 929. Both
dropped versions pinned ggml 4bf5f60, which 913 and 920 still use, so
the Manifest keeps that tarball.
commit a39c2ac93106b9cbcfb5fa5673743401ea1238e3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 28 09:55:42 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre929
Snapshot master-929-3f8527a adds Ming-Image Design support, fixes
INT8 convrot loading and backend fallback, and enables INT8
tensorwise matmul on HIP. The ggml gitlink moves to 89c4413 (ggml
0.25.3). Every GGML_* and SD_* option the ebuild passes still exists,
so the configure arguments carry over.
commit 3c2beda6468d206a9b3b6d29685df6adf6c1a162
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 26 12:53:54 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre920
The master-920 snapshot keeps the same ggml gitlink as master-913. The
only build change is pnpm flags for the server frontend, which the
ebuild does not build.
commit dc083fa8aafc635be1ebd551aeb4092ff1b67524
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 25 11:28:18 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre898
Superseded by the 900, 908 and 913 snapshots.
commit 4f8f59d2a0370c62ce97d2e7f9d33fe19047229f
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 25 11:28:06 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre913
Snapshot tag master-913-b167b94. The ggml gitlink is unchanged and no
CMake option moved since 908.
commit 68df447ecb099aa564c2ab2d401eb8d0b224a580
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 24 13:03:32 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre881
Retention keeps the last three snapshots. 0_pre881 pinned its own ggml
gitlink, so the Manifest also loses that ggml tarball.
commit d8e82ddf325ee79130c596de3fe480995763cf61
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 24 10:36:05 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre908
master-908-88411ef pins the same ggml gitlink as 0_pre900 and its
CMakeLists is unchanged, so only the snapshot commit moves. The
embed-version patch applies unchanged.
commit a3eba2a9b218cc7aa4f184f1c1ca68925dc7222e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 23 11:39:10 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre900
Takes the current tip rather than the 899 the drift scan named, since
900 landed while this was being prepared. It pins the same ggml gitlink
as 0_pre898 and its CMakeLists is byte-identical, so the bump carries
only the snapshot commit.
commit 11f6cc4ac18bff98ef9b9c82c0700ba4c2e32570
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 22 23:09:17 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre829 through 0_pre879
Retention keeps the last two snapshots. Each dropped version pinned its
own ggml gitlink, so the Manifest loses those tarballs with them.
commit e3b51920b0d9cc23c11267bd9f01fed92b83923b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 22 21:45:07 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre898
Snapshots 889 and 890 were held because the ggml revision they pinned
tripped an assertion in the RPC backend. 898 pins a newer ggml, and the
RPC backend configures, compiles and installs again, so the hold ends
here rather than at the snapshot that caused it.
Upstream moved its ggml wiring into cmake/ggml.cmake and added
SD_USE_UPSTREAM_GGML and SD_GGML_SOURCE_DIR. The new source-directory
default is still the in-tree ggml, which is where the ebuild stages the
pinned gitlink, so neither switch needs setting. # verified 2026-09-22
commit 3abe1b8a5572bf80916bd7e0845b08efac7076c8
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 21 10:52:52 2026 +0200
sci-misc/stable-diffusion-cpp: define NDEBUG unless USE=debug
Upstream ships Release builds, which define NDEBUG; cmake.eclass blanks
the per-build-type flag variables, so the overlay has been building a
configuration upstream never exercises, one in which an assert-only
failure aborts where upstream's own binaries walk the same path
silently.
Low risk here because the vendored ggml's GGML_ASSERT is unconditional
and most of this tree's checks use it, so only the plain assert() calls
go. USE=debug brings them back for diagnosing an abort.
commit ef8d7791d0be3468faff7339f6f62915f4b95e90
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Sep 20 15:00:12 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre881
Snapshot tag master-881-17860c0. The ggml gitlink is unchanged from 879,
so the second SRC_URI entry stays as it is. Upstream adds a Threads
dependency and a new src/core/parallel unit; both are satisfied by the
toolchain, so no CMake option or dependency moves.
commit b196c8bd479540bcc6a710bab0548392351dd00b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 19 17:34:48 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre879
commit e124f3dc2a003dbb7f60853eae39d04bea453670
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 19 15:50:07 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre874
commit 701df78ca861de3eec4f65d7b31e29de19ad18be
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 17 08:23:52 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre872
The snapshot's ggml submodule gitlink is unchanged from 869, so the
second distfile and its Manifest entry carry over as they are -- that
pin is the thing that usually moves between snapshots, and here it
did not.
Upstream's delta is tokenizer work (bpe, clip, gemma, mistral, qwen2
and the shared tokenize_util) plus rng_philox and model_loader. No
CMake option appears or disappears, so src_configure is untouched.
commit 63671e76276735a2e05ffe109e2614e8d32badc7
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 16 13:00:34 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre859
Superseded by 0_pre866 and 0_pre869. 0_pre829 stays as the last build
against the previous ggml commit.
commit d91e86c1a8794cfab57458b7d5f8687af67216c8
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 16 09:47:44 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre869
The pinned ggml submodule does not move, so this is a source-only
step. Upstream now vendors Oniguruma and utf8proc for its new regex
and tokenizer handling, which the licence line reflects. Gemma 2 and
GPT-OSS now need their tokenizer JSON supplied externally, since the
built-in vocabularies were removed.
commit 4c2e90c0c9ec48a06c3dbf99b33c94983522fc68
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 14 14:20:11 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre845, 0_pre849, 0_pre853
Retention: 0_pre859 and 0_pre866 are the last two and pin the same ggml
gitlink, so these three are superseded exactly. 0_pre829 stays as the
rollback anchor for the older ggml pin.
commit ecfaa4649100f58fbc5b4e1e02180e7882f9cc57
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 14 14:19:48 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre866
This snapshot adds Wan2.2 speech-to-video support, keeps explicit
backend assignments during auto-fit, and guards GPU memory capacity.
Its only CMake change is MSVC-specific, and the pinned ggml revision
is unchanged.
commit 84d399f85e287f3311921c30910ef9f213c0ef3d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 12 14:07:54 2026 +0200
sci-misc/stable-diffusion-cpp: bump to snapshot 859
This snapshot adds SenseNova U1.5 support, scale overrides, and runtime
fixes. Its six commits do not change the build interface or pinned ggml
revision.
A full staged install passed with FlexiBLAS, Vulkan, WebP, and RPC
enabled. The staged CLI reports the expected snapshot and commit.
commit 8dde2166f8289dd018e8016b7a1426f7a89e5e7e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 02:54:11 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre853
commit 2b85ab037b2fc1eb46661f2817d96980a2cb49fb
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 02:54:08 2026 +0200
sci-misc/stable-diffusion-cpp: disable implicit ccache in live ebuild
Upstream enables ccache merely when it is present, bypassing Portage's
feature control and making builds depend on the host environment.
commit 0ef71db259a653a257cc2fe5eef8ea6c6d42efb4
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 02:54:05 2026 +0200
sci-misc/stable-diffusion-cpp: disable implicit ccache in 0_pre849
Upstream enables ccache merely when it is present, bypassing Portage's
feature control and making builds depend on the host environment.
commit 4aefb4983d11a409546435e67612e8f734411db2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 02:54:02 2026 +0200
sci-misc/stable-diffusion-cpp: disable implicit ccache in 0_pre845
Upstream enables ccache merely when it is present, bypassing Portage's
feature control and making builds depend on the host environment.
commit 5a32e624f64b8e903838f20e7c4c67eda92a636f
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 02:53:59 2026 +0200
sci-misc/stable-diffusion-cpp: disable implicit ccache in 0_pre829
Upstream enables ccache merely when it is present, bypassing Portage's
feature control and making builds depend on the host environment.
commit 3d1b0587838780dfdd2e3e04bffd163364c08564
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 02:27:48 2026 +0200
sci-misc/stable-diffusion-cpp: trim live comment prose
commit c2864521e4c755f3dd18605d9dcc9415a80c692d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 02:26:58 2026 +0200
sci-misc/stable-diffusion-cpp: trim 0_pre829 comment prose
commit 98a5fc82e9d05cd59f5928cb78f0246053a7a08b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 02:26:12 2026 +0200
sci-misc/stable-diffusion-cpp: trim 0_pre845 comment prose
commit e7d85b0bb02542e953176d525334eb9cb9f42ec3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 02:25:11 2026 +0200
sci-misc/stable-diffusion-cpp: trim 0_pre849 comment prose
commit 0d92af3baafbae006ce626453aae54a74a7a126b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 8 08:49:29 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre841
Retention: 0_pre845 and 0_pre849 are the last two and pin the same ggml
gitlink as 0_pre841, so it is superseded exactly.
0_pre829 stays even though the retention tool also reports it droppable.
That tool buckets a series by the leading version field, so every 0_preNNN
collapses into one bucket and the last-of-series protection disappears. The
real boundary here is the vendored ggml pin: 829 is the last snapshot on
8e800cef, while 841 onward are all on e20c3a14, which makes 829 the rollback
anchor for the older ggml.
commit c1bfcb939f0e12a4070cb2f30f1474ac68c37c8a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 8 08:49:02 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre849
MY_COMMIT re-read from the master-849-d04e895 tag. The ggml gitlink still
has not moved -- 0_pre841, 0_pre845 and 0_pre849 all pin e20c3a14 -- so the
rocWMMA finding recorded against that tree continues to hold and the comment
now spans all three.
The upstream delta is large (76 files) but carries no arch-named file and no
SIMD intrinsic, and the root CMakeLists is untouched, so the embed-version
patch context is intact and the ~arm64 keyword carries forward on the same
basis as 0_pre845.
commit 33f41b284a04015d0ffebe89ff3e81401644774f
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 7 11:42:38 2026 +0200
sci-misc/stable-diffusion-cpp: Keyword 0_pre845 for ~arm64
Carries the keyword forward from 0_pre841, which is already ~arm64.
Without it the arm64 line stalls at 0_pre841 while amd64 moves on.
This was NOT built on arm64. The vendored ggml, where the SIMD actually
lives, is pinned to the same gitlink e20c3a14 as 0_pre841, and the delta
between the two snapshots touches no arch-named file and no intrinsic, so
the arm64 build surface is unchanged from the version already keyworded.
commit 2bd05f92979f719686d62c96d620dfd3ced06d87
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 7 10:46:41 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre827
Retention: 0_pre829 supersedes it exactly -- same IUSE, same ggml gitlink
8e800cef -- so 0_pre829 anchors that older pin on its own and 0_pre827
adds nothing.
commit 80fb5feafd410ca408ce6f58d95ceb508ea676fe
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 7 10:46:19 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre845
MY_COMMIT re-read from the master-845-80bac2d tag. The ggml gitlink did NOT
move this time -- 0_pre841 and 0_pre845 both point at e20c3a14 -- so the
rocWMMA finding recorded against that exact tree still holds verbatim, and
the ebuild comment now says so instead of describing a moved gitlink.
The upstream delta is large (105 files) but confined to sd.cpp's own
sources; the root CMakeLists option() surface is unchanged and its only
edit is an MSVC /bigobj block. None of the touched src/core files carry
CUDA or HIP preprocessor guards, so the GPU backends compile the same code
the default build already covers. The embed-version patch still applies,
with the SDCPP_BUILD_VERSION guard landing as intended.
commit aefa01663692236ae0c6a363b2f1408ab5aebbcc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 5 12:23:48 2026 +0200
sci-misc/stable-diffusion-cpp: Keyword 0_pre841 for ~arm64
The ggml CPU and Vulkan backends support aarch64, while x86 feature flags remain conditional.
commit bfafdd3183c6aad10d2c477537b06c92d17bae6a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 5 12:23:48 2026 +0200
sci-misc/stable-diffusion-cpp: Keyword 0_pre829 for ~arm64
The ggml CPU and Vulkan backends support aarch64, while x86 feature flags remain conditional.
commit 7b09b3205e825421380297004805ecfcfd955dc7
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 5 12:23:48 2026 +0200
sci-misc/stable-diffusion-cpp: Keyword 0_pre827 for ~arm64
The ggml CPU and Vulkan backends support aarch64, while x86 feature flags remain conditional.
commit afd611bea21c7c2305b72c1614e1b209b3864e77
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 30 21:58:31 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre820
Superseded by 0_pre841. Keeps the established three-version window on this
snapshot track (827 + 829 + 841).
commit 4e30bd61d1879a99332700cab0d23ba741de4cf3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 30 21:58:27 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre841
Snapshot bump, tag master-841-6b3edaa. Both pins re-read per the header
comment's instruction: MY_COMMIT 0a565f2 -> 6b3edaa, and the ggml submodule
gitlink MOVED for the first time in several bumps, 8e800cef -> e20c3a14
(read from the tag's tree, not assumed).
That moved gitlink is why the rocWMMA rationale was rewritten rather than
carried over. 0_pre829's note was verified against 8e800cef, so it said
nothing about the tree this ebuild actually ships. Re-verified against the
unpacked e20c3a14: zero GGML_HIP_ROCWMMA_FATTN occurrences, and the only
rocWMMA mention anywhere is a "TODO add support for AMD cards via rocWMMA"
comment in ggml-cuda/lightning-indexer.cu whose actual include is
nvcuda::wmma via <mma.h> -- NVIDIA-only, no rocWMMA dependency. So the flag
drop remains correct on the new pin.
Build interface reassessed from the unpacked trees on both sides: the
stable-diffusion.cpp option() surface is 16 knobs at 829 and 841 with a
byte-identical diff, and the ggml option() surface is identical across the
two gitlinks. No ebuild change needed beyond the two pins.
Build-verified as root with USE=rocm against the migrated ROCm 10.0 stack:
"HIP and hipBLAS found", every compile through hipcc (217 -c invocations, 222
hipcc calls in all), and sd-cli links libamdhip64.so.7, libhipblas.so.3,
libhipblaslt.so.1 and libamd_comgr.so.3 with gfx1150 device code embedded.
Installs exactly sd-cli and sd-server (ggml is static here --
SD_BUILD_SHARED_LIBS=OFF -- so there is no libggml-hip.so to look for).
commit e5296d3072d1394f6dc64084972d332fe8384690
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 30 20:48:08 2026 +0200
sci-misc/stable-diffusion-cpp: drop the dead wmma USE flag
The flag did nothing except pull in a dependency that blocked the ROCm 10.0
stack.
src_configure passed -DGGML_HIP_ROCWMMA_FATTN=$(usex wmma), but the vendored
ggml has no such option. Verified against the unpacked tree at the pinned
GGML_COMMIT 8e800cef, which all three release ebuilds share: zero occurrences
of that string anywhere in the source, the only hits in the entire build being
the -D this ebuild passed and the environment file derived from it. CMake
accepts an unknown -D silently, so the flag never changed a single byte of the
build -- while USE=wmma still pulled >=sci-libs/rocWMMA-$.
That dependency had a real cost. ::gentoo ships rocWMMA only to 7.2.0, and its
subslot is 0/7.2, so anything holding it pinned the whole ROCm closure to the
7.2 stack. Together with dev-util/amdsmi it is why `emerge -uvDN @world` could
not resolve against the installed 10.0 cohort: emerge tried to pull
hipcc-7.2.4:0/7.2 and rocm-smi-7.2.4:0/7.2 back in beside their 0/10.0
counterparts, which share SLOT 0.
sci-misc/llama-cpp already went through this at 0.3.0: upstream removed the
option in b10121 (PR #26046, "HIP: remove rocWMMA FlashAttention") and HIP
FlashAttention now runs through the shared ggml-cuda fattn-mma template
instances. Same reasoning applies here, so the flag, its REQUIRED_USE
constraint, its dependency and its metadata.xml description all go.
No revision bump: the flag was a no-op, so the installed artifact is
bit-identical either way, and nothing on this host had it enabled.
Applied to 9999 as well. Its ggml pin was not re-verified against live master,
and the comment there says so -- but the option is gone upstream, so a live
checkout cannot have it.
commit e79cb142a4706ddf0308d7ceaeaa2a65260ed067
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Aug 26 02:06:49 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre829
Upstream release tag is master-829-0a565f2, so MY_COMMIT moves to 0a565f2.
GGML_COMMIT deliberately stays at 8e800cef: the ggml submodule gitlink is
byte-identical at master-827 and master-829, so the unchanged pin is
current, not stale. The top-level CMakeLists.txt is also byte-identical
between the two tags, so every -D flag the ebuild sets still exists and no
build-interface adjustment is needed.
commit b93a466208bbf8e43efd9c70f51737f94e6db511
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 20 09:58:18 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre817
commit 3255d0e85e1d976914c52941ebc195927db85c89
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 20 09:58:07 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre827
commit 3e8fa0b533cc2fbb76b8334beb398329d2024408
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Aug 14 06:29:41 2026 +0200
sci-misc/stable-diffusion-cpp: pass compiler executable to CUDAHOSTCXX
cuda_gccdir returns the compiler bindir, while CMake expects CUDAHOSTCXX to name an
executable. Append g++ so CUDA configuration selects the supported compiler
deterministically.
commit e1bb5b792e386c632ce20027bf50b4c4614980d6
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Aug 14 14:43:10 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre813
commit b87aaa4c65a8b12dbb08565262c486636a495426
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Aug 14 14:43:06 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre820
commit ca6850d5c4e186aa1610c09e3ee16645bc6e1525
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Aug 11 23:25:41 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre809
commit 54441d4ee27945b8ef8a08f23eda8211c8ac19af
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Aug 11 23:25:37 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre817
commit b7a266798064a1a76bac54924f32f3b992f8e6fc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 6 19:09:19 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre805
Retention: keep 0_pre809/0_pre813 (last two) plus the 9999 live ebuild.
commit bbacd130797c171dacfc0b6ad1d08b24c477f17c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 6 19:09:06 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre813
MY_COMMIT eb7f35c -> bfbef5b (tag master-813-bfbef5b); the ggml submodule
gitlink is unchanged (eced84c...).
commit ab64bcd1e858c8ce410e1019d494c7fb02774e7d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 3 09:40:01 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre802
commit 15255d4bc2fc38bc8aa3e719b017d57106c0deaa
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 3 09:39:55 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre809
commit a2bfde341f7c15bd3d8397e661af3412e6567b18
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 31 09:52:15 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre797
Superseded snapshot; retention keeps the last two master snapshots
(0_pre802, 0_pre805) plus the live ebuild.
commit 0e7d63aa24fdb0ab69a66923255b84c757befec2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 31 09:52:10 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre805
Upstream master snapshot master-805-e31a86c. The ggml submodule gitlink
is unchanged from 0_pre802 (eced84c), so only MY_COMMIT is refreshed.
commit 755b9983c27f3d758ff0700bfea613ba4ecef9e8
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jul 30 10:53:59 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre796
Superseded snapshot; retention keeps the last two master snapshots
(0_pre797, 0_pre802) plus the live ebuild.
commit 720f63f317ca905df706bd6b2bf1717a64afa2ba
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jul 30 10:53:31 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre802
Upstream master snapshot master-802-e92e86f. The ggml submodule gitlink
is unchanged from 0_pre797 (eced84c), so only MY_COMMIT is refreshed.
commit 12e0028e2fe7ae454cfedc1f0a3eaa6632c8f288
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jul 28 09:46:49 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre795
Retention: 0_pre796 and 0_pre797 are the last two snapshots. Nothing
pins the older one.
commit 200526faeeb5a3b670759b55e5ade542b377a2c2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jul 28 09:46:33 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre797
Snapshot bump to master-797-5ef4a75. The ggml submodule gitlink is
unchanged (eced84c8, same distfile), and the 796..797 diff is three
files under examples/ (common.cpp, the server routes, and api.md docs)
with no CMakeLists or option-surface change.
commit 21d42c56fe1b2fd7d13001858e5546ca9838d5ce
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jul 27 11:13:33 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre796, drop 0_pre789
Snapshot bump to upstream tag master-796-2d0385b. The ebuild differs
from 0_pre795 only in MY_COMMIT, which together with PV composes the
tag name.
sci-ml/lemonade is the only consumer and depends on this package
unversioned under USE=system-sdcpp, so no pin follows the snapshot
counter.
0_pre789 drops, leaving the two most recent snapshots alongside the
live ebuild.
commit 6cefeccf45f0bbe7f6b4c733bcb2daa19307a020
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 25 10:58:15 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre788
commit 630f7bbd9aec4db916a2b015259753bfb8d06b17
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 25 10:58:14 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre795
Snapshot bump to master-795-87a0177. ggml submodule gitlink unchanged (eced84c8) and
no cmake option-surface changes over master-789, so a straight MY_COMMIT bump.
commit 28d229ed1fc76b8e1697dde54b24e27d274fc8aa
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 24 11:42:03 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre775, 0_pre778, 0_pre782
commit c0a87149c6627f9fdee5eef58bf18a9fd384e4ce
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 24 11:18:51 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre789
commit 55067c7022017192b3941a6aca2e451caea87d96
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 22 23:50:39 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre788
commit 8be7041e0a250ae97abb748a51b1c1fd83fdadd4
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 17 15:06:52 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre782
commit 121e74ba44944ea118be84e499f13c08fe13f79c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 15 11:09:37 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre769
commit 0f97a68cfe681e37097e1281f2094c7d37d9cf9b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 15 11:09:25 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre778
commit 83d5826c0d978626e2da690f5956fa220ee7e6f0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jul 12 09:16:56 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre767
commit b421a9ebfb2e9949d37e12a201f04e9d90897d12
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jul 12 09:16:40 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre775
commit aa99d9adab91b76225f0c4935848b400474f4ecf
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 10 15:20:52 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre769
commit 049141e9c629782d3f0dc4cbe067ea05b8a24601
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 8 12:01:39 2026 +0200
sci-misc/stable-diffusion-cpp: new package
Diffusion-model (Stable Diffusion, Flux, Wan, Qwen-Image) inference in pure
C/C++ -- the image-generation counterpart to the packaged ggml llama family.
A pinned release (0_pre767) plus a live ebuild, with CPU, BLAS, Vulkan,
OpenCL, CUDA and ROCm backends.
ggml is an upstream git submodule that GitHub's release tarball omits, so the
pinned ebuild fetches leejet's ggml fork as a second distfile and stages it
where add_subdirectory(ggml) expects. The pnpm-driven server web frontend is
disabled for a network-free build; a small patch lets the ebuild embed the
release version the tarball would otherwise report as "unknown".
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 14 10:20:41 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre951
Superseded; the last three snapshots stay.
commit 865baadef9c0e0cba1d39f8b9b04d85d052386ff
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Oct 14 10:20:28 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre964
The ggml gitlink is unchanged from 0_pre959. Upstream added a HIP
block that links hip::host when SD_HIPBLAS is on.
commit d7c7151b9ae9cb0991d4725d02f3eb52e0be45d1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 13 11:33:25 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre947-r1
Superseded by three newer snapshots.
commit 9de071553e8ecd2b48ce77fc07f3013c742ab73d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 13 11:33:25 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre959
Adds TAEQI2.1 for Qwen Image 2.1, the MoSR upscaler and a Qwen Image
2.1 Turbo sigma preset. The ggml gitlink and the CMake files are
unchanged from 956.
commit b26b11c8b65b788f5f2c0cc1c9f25e5d4de003f5
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Oct 11 00:10:50 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre945-r1
commit 84f50b99c37e38adf1f179aa2f10f33ec51791b3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Oct 11 00:10:38 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre956
The ggml submodule pin is unchanged from 0_pre951.
commit 73576830c4ad0c620168f80f56bfe6c5ac8cf6f0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Oct 10 13:39:18 2026 +0200
sci-misc/stable-diffusion-cpp: name libomp under hipcc, revbump
The vendored ggml enables OpenMP by default, and with ROCm 10.1 the
rocm build fails at link for the same reason as llama-cpp: under hipcc
CMake finds the OpenMP flag but no library. Pass the hints from
rocm_hipcc_openmp_args and declare llvm-runtimes/openmp for USE=rocm,
because the hipcc build links libomp directly, in the versions that
lack both; 0_pre951 was added with them.
The new dependency bumps the revision of 0_pre945 and 0_pre947.
commit 4a1e47b8c849708197c286c9ff131cdb516a6aee
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Oct 10 12:19:36 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre929-r1
commit f62c5421528172b31f70e3cc2eb12abfe520a73b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Oct 10 12:19:30 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre951
Skips 948: it moved the ggml pin to a commit that added an operation
without updating the count ggml-rpc.h asserts, and the ebuild enables
that backend. Upstream corrected the assert in 949.
For hipcc builds the ebuild calls rocm_hipcc_openmp_args and declares
llvm-runtimes/openmp from the start; the versions already in the tree
gain both separately.
commit ac90d8c332faf165a0d7f949cecf256d254db938
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 9 10:51:36 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre920-r1
commit c90ad20227de4ebace3b4c9df55d1fff944ae5ea
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Oct 9 10:51:22 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre947
Stops one snapshot short of the tip. 948 moves the ggml pin to a commit
that adds an operation without updating the count ggml-rpc.h asserts,
and the ebuild enables that backend.
commit 9cece037dddbf943320e0526648da82d9772a6f1
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 6 23:54:46 2026 +0200
sci-misc/stable-diffusion-cpp: build the OpenCL backend for Intel GPUs
ggml's OpenCL backend accepts only Adreno and Intel GPUs, and with its
Adreno kernels enabled (upstream's default) it rejects every other
device, so USE=opencl gave no usable backend on amd64. Those kernels
are now enabled on arm64 only.
The backend also runs a stdlib-only Python script at build time to
embed its kernels, which BDEPEND now declares.
Applied in place to the 0_pre945 snapshot and the live ebuild, and as
revbumps to the published 920 and 929 snapshots; both pinned ggml
trees carry the same OpenCL device gate.
commit 1ec9b63aec4383683755047a8dc2eaf653735acf
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 6 21:44:44 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre913
Retention keeps the last three snapshots, now 920, 929 and 945. 920
still pins ggml 4bf5f60, so the Manifest keeps that tarball.
commit 8c00659dd31c91506958845b9ffe7fba8da64137
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Oct 6 21:44:24 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre945
Snapshot master-945-a1ded76 adds Z-Image L2P support, LoRA merging on
model conversion and server previews, fixes an f16 overflow in Z-Image
quantized matmuls on CUDA, and keeps MiniMax-H3 VAE weights resident
across temporal chunks. The ggml gitlink stays at 89c4413 and no CMake
file changed, so the configure arguments carry over.
commit 87715129206c2858a68e2313b4e2ceed5ebe383d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 28 09:56:04 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre900, 0_pre908
Retention keeps the last three snapshots, now 913, 920 and 929. Both
dropped versions pinned ggml 4bf5f60, which 913 and 920 still use, so
the Manifest keeps that tarball.
commit a39c2ac93106b9cbcfb5fa5673743401ea1238e3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 28 09:55:42 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre929
Snapshot master-929-3f8527a adds Ming-Image Design support, fixes
INT8 convrot loading and backend fallback, and enables INT8
tensorwise matmul on HIP. The ggml gitlink moves to 89c4413 (ggml
0.25.3). Every GGML_* and SD_* option the ebuild passes still exists,
so the configure arguments carry over.
commit 3c2beda6468d206a9b3b6d29685df6adf6c1a162
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 26 12:53:54 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre920
The master-920 snapshot keeps the same ggml gitlink as master-913. The
only build change is pnpm flags for the server frontend, which the
ebuild does not build.
commit dc083fa8aafc635be1ebd551aeb4092ff1b67524
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 25 11:28:18 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre898
Superseded by the 900, 908 and 913 snapshots.
commit 4f8f59d2a0370c62ce97d2e7f9d33fe19047229f
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 25 11:28:06 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre913
Snapshot tag master-913-b167b94. The ggml gitlink is unchanged and no
CMake option moved since 908.
commit 68df447ecb099aa564c2ab2d401eb8d0b224a580
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 24 13:03:32 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre881
Retention keeps the last three snapshots. 0_pre881 pinned its own ggml
gitlink, so the Manifest also loses that ggml tarball.
commit d8e82ddf325ee79130c596de3fe480995763cf61
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 24 10:36:05 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre908
master-908-88411ef pins the same ggml gitlink as 0_pre900 and its
CMakeLists is unchanged, so only the snapshot commit moves. The
embed-version patch applies unchanged.
commit a3eba2a9b218cc7aa4f184f1c1ca68925dc7222e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 23 11:39:10 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre900
Takes the current tip rather than the 899 the drift scan named, since
900 landed while this was being prepared. It pins the same ggml gitlink
as 0_pre898 and its CMakeLists is byte-identical, so the bump carries
only the snapshot commit.
commit 11f6cc4ac18bff98ef9b9c82c0700ba4c2e32570
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 22 23:09:17 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre829 through 0_pre879
Retention keeps the last two snapshots. Each dropped version pinned its
own ggml gitlink, so the Manifest loses those tarballs with them.
commit e3b51920b0d9cc23c11267bd9f01fed92b83923b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 22 21:45:07 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre898
Snapshots 889 and 890 were held because the ggml revision they pinned
tripped an assertion in the RPC backend. 898 pins a newer ggml, and the
RPC backend configures, compiles and installs again, so the hold ends
here rather than at the snapshot that caused it.
Upstream moved its ggml wiring into cmake/ggml.cmake and added
SD_USE_UPSTREAM_GGML and SD_GGML_SOURCE_DIR. The new source-directory
default is still the in-tree ggml, which is where the ebuild stages the
pinned gitlink, so neither switch needs setting. # verified 2026-09-22
commit 3abe1b8a5572bf80916bd7e0845b08efac7076c8
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 21 10:52:52 2026 +0200
sci-misc/stable-diffusion-cpp: define NDEBUG unless USE=debug
Upstream ships Release builds, which define NDEBUG; cmake.eclass blanks
the per-build-type flag variables, so the overlay has been building a
configuration upstream never exercises, one in which an assert-only
failure aborts where upstream's own binaries walk the same path
silently.
Low risk here because the vendored ggml's GGML_ASSERT is unconditional
and most of this tree's checks use it, so only the plain assert() calls
go. USE=debug brings them back for diagnosing an abort.
commit ef8d7791d0be3468faff7339f6f62915f4b95e90
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Sep 20 15:00:12 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre881
Snapshot tag master-881-17860c0. The ggml gitlink is unchanged from 879,
so the second SRC_URI entry stays as it is. Upstream adds a Threads
dependency and a new src/core/parallel unit; both are satisfied by the
toolchain, so no CMake option or dependency moves.
commit b196c8bd479540bcc6a710bab0548392351dd00b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 19 17:34:48 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre879
commit e124f3dc2a003dbb7f60853eae39d04bea453670
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 19 15:50:07 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre874
commit 701df78ca861de3eec4f65d7b31e29de19ad18be
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 17 08:23:52 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre872
The snapshot's ggml submodule gitlink is unchanged from 869, so the
second distfile and its Manifest entry carry over as they are -- that
pin is the thing that usually moves between snapshots, and here it
did not.
Upstream's delta is tokenizer work (bpe, clip, gemma, mistral, qwen2
and the shared tokenize_util) plus rng_philox and model_loader. No
CMake option appears or disappears, so src_configure is untouched.
commit 63671e76276735a2e05ffe109e2614e8d32badc7
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 16 13:00:34 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre859
Superseded by 0_pre866 and 0_pre869. 0_pre829 stays as the last build
against the previous ggml commit.
commit d91e86c1a8794cfab57458b7d5f8687af67216c8
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Sep 16 09:47:44 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre869
The pinned ggml submodule does not move, so this is a source-only
step. Upstream now vendors Oniguruma and utf8proc for its new regex
and tokenizer handling, which the licence line reflects. Gemma 2 and
GPT-OSS now need their tokenizer JSON supplied externally, since the
built-in vocabularies were removed.
commit 4c2e90c0c9ec48a06c3dbf99b33c94983522fc68
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 14 14:20:11 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre845, 0_pre849, 0_pre853
Retention: 0_pre859 and 0_pre866 are the last two and pin the same ggml
gitlink, so these three are superseded exactly. 0_pre829 stays as the
rollback anchor for the older ggml pin.
commit ecfaa4649100f58fbc5b4e1e02180e7882f9cc57
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 14 14:19:48 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre866
This snapshot adds Wan2.2 speech-to-video support, keeps explicit
backend assignments during auto-fit, and guards GPU memory capacity.
Its only CMake change is MSVC-specific, and the pinned ggml revision
is unchanged.
commit 84d399f85e287f3311921c30910ef9f213c0ef3d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 12 14:07:54 2026 +0200
sci-misc/stable-diffusion-cpp: bump to snapshot 859
This snapshot adds SenseNova U1.5 support, scale overrides, and runtime
fixes. Its six commits do not change the build interface or pinned ggml
revision.
A full staged install passed with FlexiBLAS, Vulkan, WebP, and RPC
enabled. The staged CLI reports the expected snapshot and commit.
commit 8dde2166f8289dd018e8016b7a1426f7a89e5e7e
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 02:54:11 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre853
commit 2b85ab037b2fc1eb46661f2817d96980a2cb49fb
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 02:54:08 2026 +0200
sci-misc/stable-diffusion-cpp: disable implicit ccache in live ebuild
Upstream enables ccache merely when it is present, bypassing Portage's
feature control and making builds depend on the host environment.
commit 0ef71db259a653a257cc2fe5eef8ea6c6d42efb4
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 02:54:05 2026 +0200
sci-misc/stable-diffusion-cpp: disable implicit ccache in 0_pre849
Upstream enables ccache merely when it is present, bypassing Portage's
feature control and making builds depend on the host environment.
commit 4aefb4983d11a409546435e67612e8f734411db2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 02:54:02 2026 +0200
sci-misc/stable-diffusion-cpp: disable implicit ccache in 0_pre845
Upstream enables ccache merely when it is present, bypassing Portage's
feature control and making builds depend on the host environment.
commit 5a32e624f64b8e903838f20e7c4c67eda92a636f
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Sep 11 02:53:59 2026 +0200
sci-misc/stable-diffusion-cpp: disable implicit ccache in 0_pre829
Upstream enables ccache merely when it is present, bypassing Portage's
feature control and making builds depend on the host environment.
commit 3d1b0587838780dfdd2e3e04bffd163364c08564
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 02:27:48 2026 +0200
sci-misc/stable-diffusion-cpp: trim live comment prose
commit c2864521e4c755f3dd18605d9dcc9415a80c692d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 02:26:58 2026 +0200
sci-misc/stable-diffusion-cpp: trim 0_pre829 comment prose
commit 98a5fc82e9d05cd59f5928cb78f0246053a7a08b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 02:26:12 2026 +0200
sci-misc/stable-diffusion-cpp: trim 0_pre845 comment prose
commit e7d85b0bb02542e953176d525334eb9cb9f42ec3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Sep 10 02:25:11 2026 +0200
sci-misc/stable-diffusion-cpp: trim 0_pre849 comment prose
commit 0d92af3baafbae006ce626453aae54a74a7a126b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 8 08:49:29 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre841
Retention: 0_pre845 and 0_pre849 are the last two and pin the same ggml
gitlink as 0_pre841, so it is superseded exactly.
0_pre829 stays even though the retention tool also reports it droppable.
That tool buckets a series by the leading version field, so every 0_preNNN
collapses into one bucket and the last-of-series protection disappears. The
real boundary here is the vendored ggml pin: 829 is the last snapshot on
8e800cef, while 841 onward are all on e20c3a14, which makes 829 the rollback
anchor for the older ggml.
commit c1bfcb939f0e12a4070cb2f30f1474ac68c37c8a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Sep 8 08:49:02 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre849
MY_COMMIT re-read from the master-849-d04e895 tag. The ggml gitlink still
has not moved -- 0_pre841, 0_pre845 and 0_pre849 all pin e20c3a14 -- so the
rocWMMA finding recorded against that tree continues to hold and the comment
now spans all three.
The upstream delta is large (76 files) but carries no arch-named file and no
SIMD intrinsic, and the root CMakeLists is untouched, so the embed-version
patch context is intact and the ~arm64 keyword carries forward on the same
basis as 0_pre845.
commit 33f41b284a04015d0ffebe89ff3e81401644774f
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 7 11:42:38 2026 +0200
sci-misc/stable-diffusion-cpp: Keyword 0_pre845 for ~arm64
Carries the keyword forward from 0_pre841, which is already ~arm64.
Without it the arm64 line stalls at 0_pre841 while amd64 moves on.
This was NOT built on arm64. The vendored ggml, where the SIMD actually
lives, is pinned to the same gitlink e20c3a14 as 0_pre841, and the delta
between the two snapshots touches no arch-named file and no intrinsic, so
the arm64 build surface is unchanged from the version already keyworded.
commit 2bd05f92979f719686d62c96d620dfd3ced06d87
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 7 10:46:41 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre827
Retention: 0_pre829 supersedes it exactly -- same IUSE, same ggml gitlink
8e800cef -- so 0_pre829 anchors that older pin on its own and 0_pre827
adds nothing.
commit 80fb5feafd410ca408ce6f58d95ceb508ea676fe
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Sep 7 10:46:19 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre845
MY_COMMIT re-read from the master-845-80bac2d tag. The ggml gitlink did NOT
move this time -- 0_pre841 and 0_pre845 both point at e20c3a14 -- so the
rocWMMA finding recorded against that exact tree still holds verbatim, and
the ebuild comment now says so instead of describing a moved gitlink.
The upstream delta is large (105 files) but confined to sd.cpp's own
sources; the root CMakeLists option() surface is unchanged and its only
edit is an MSVC /bigobj block. None of the touched src/core files carry
CUDA or HIP preprocessor guards, so the GPU backends compile the same code
the default build already covers. The embed-version patch still applies,
with the SDCPP_BUILD_VERSION guard landing as intended.
commit aefa01663692236ae0c6a363b2f1408ab5aebbcc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 5 12:23:48 2026 +0200
sci-misc/stable-diffusion-cpp: Keyword 0_pre841 for ~arm64
The ggml CPU and Vulkan backends support aarch64, while x86 feature flags remain conditional.
commit bfafdd3183c6aad10d2c477537b06c92d17bae6a
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 5 12:23:48 2026 +0200
sci-misc/stable-diffusion-cpp: Keyword 0_pre829 for ~arm64
The ggml CPU and Vulkan backends support aarch64, while x86 feature flags remain conditional.
commit 7b09b3205e825421380297004805ecfcfd955dc7
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Sep 5 12:23:48 2026 +0200
sci-misc/stable-diffusion-cpp: Keyword 0_pre827 for ~arm64
The ggml CPU and Vulkan backends support aarch64, while x86 feature flags remain conditional.
commit afd611bea21c7c2305b72c1614e1b209b3864e77
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 30 21:58:31 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre820
Superseded by 0_pre841. Keeps the established three-version window on this
snapshot track (827 + 829 + 841).
commit 4e30bd61d1879a99332700cab0d23ba741de4cf3
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 30 21:58:27 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre841
Snapshot bump, tag master-841-6b3edaa. Both pins re-read per the header
comment's instruction: MY_COMMIT 0a565f2 -> 6b3edaa, and the ggml submodule
gitlink MOVED for the first time in several bumps, 8e800cef -> e20c3a14
(read from the tag's tree, not assumed).
That moved gitlink is why the rocWMMA rationale was rewritten rather than
carried over. 0_pre829's note was verified against 8e800cef, so it said
nothing about the tree this ebuild actually ships. Re-verified against the
unpacked e20c3a14: zero GGML_HIP_ROCWMMA_FATTN occurrences, and the only
rocWMMA mention anywhere is a "TODO add support for AMD cards via rocWMMA"
comment in ggml-cuda/lightning-indexer.cu whose actual include is
nvcuda::wmma via <mma.h> -- NVIDIA-only, no rocWMMA dependency. So the flag
drop remains correct on the new pin.
Build interface reassessed from the unpacked trees on both sides: the
stable-diffusion.cpp option() surface is 16 knobs at 829 and 841 with a
byte-identical diff, and the ggml option() surface is identical across the
two gitlinks. No ebuild change needed beyond the two pins.
Build-verified as root with USE=rocm against the migrated ROCm 10.0 stack:
"HIP and hipBLAS found", every compile through hipcc (217 -c invocations, 222
hipcc calls in all), and sd-cli links libamdhip64.so.7, libhipblas.so.3,
libhipblaslt.so.1 and libamd_comgr.so.3 with gfx1150 device code embedded.
Installs exactly sd-cli and sd-server (ggml is static here --
SD_BUILD_SHARED_LIBS=OFF -- so there is no libggml-hip.so to look for).
commit e5296d3072d1394f6dc64084972d332fe8384690
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Aug 30 20:48:08 2026 +0200
sci-misc/stable-diffusion-cpp: drop the dead wmma USE flag
The flag did nothing except pull in a dependency that blocked the ROCm 10.0
stack.
src_configure passed -DGGML_HIP_ROCWMMA_FATTN=$(usex wmma), but the vendored
ggml has no such option. Verified against the unpacked tree at the pinned
GGML_COMMIT 8e800cef, which all three release ebuilds share: zero occurrences
of that string anywhere in the source, the only hits in the entire build being
the -D this ebuild passed and the environment file derived from it. CMake
accepts an unknown -D silently, so the flag never changed a single byte of the
build -- while USE=wmma still pulled >=sci-libs/rocWMMA-$.
That dependency had a real cost. ::gentoo ships rocWMMA only to 7.2.0, and its
subslot is 0/7.2, so anything holding it pinned the whole ROCm closure to the
7.2 stack. Together with dev-util/amdsmi it is why `emerge -uvDN @world` could
not resolve against the installed 10.0 cohort: emerge tried to pull
hipcc-7.2.4:0/7.2 and rocm-smi-7.2.4:0/7.2 back in beside their 0/10.0
counterparts, which share SLOT 0.
sci-misc/llama-cpp already went through this at 0.3.0: upstream removed the
option in b10121 (PR #26046, "HIP: remove rocWMMA FlashAttention") and HIP
FlashAttention now runs through the shared ggml-cuda fattn-mma template
instances. Same reasoning applies here, so the flag, its REQUIRED_USE
constraint, its dependency and its metadata.xml description all go.
No revision bump: the flag was a no-op, so the installed artifact is
bit-identical either way, and nothing on this host had it enabled.
Applied to 9999 as well. Its ggml pin was not re-verified against live master,
and the comment there says so -- but the option is gone upstream, so a live
checkout cannot have it.
commit e79cb142a4706ddf0308d7ceaeaa2a65260ed067
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Aug 26 02:06:49 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre829
Upstream release tag is master-829-0a565f2, so MY_COMMIT moves to 0a565f2.
GGML_COMMIT deliberately stays at 8e800cef: the ggml submodule gitlink is
byte-identical at master-827 and master-829, so the unchanged pin is
current, not stale. The top-level CMakeLists.txt is also byte-identical
between the two tags, so every -D flag the ebuild sets still exists and no
build-interface adjustment is needed.
commit b93a466208bbf8e43efd9c70f51737f94e6db511
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 20 09:58:18 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre817
commit 3255d0e85e1d976914c52941ebc195927db85c89
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 20 09:58:07 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre827
commit 3e8fa0b533cc2fbb76b8334beb398329d2024408
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Aug 14 06:29:41 2026 +0200
sci-misc/stable-diffusion-cpp: pass compiler executable to CUDAHOSTCXX
cuda_gccdir returns the compiler bindir, while CMake expects CUDAHOSTCXX to name an
executable. Append g++ so CUDA configuration selects the supported compiler
deterministically.
commit e1bb5b792e386c632ce20027bf50b4c4614980d6
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Aug 14 14:43:10 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre813
commit b87aaa4c65a8b12dbb08565262c486636a495426
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Aug 14 14:43:06 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre820
commit ca6850d5c4e186aa1610c09e3ee16645bc6e1525
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Aug 11 23:25:41 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre809
commit 54441d4ee27945b8ef8a08f23eda8211c8ac19af
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Aug 11 23:25:37 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre817
commit b7a266798064a1a76bac54924f32f3b992f8e6fc
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 6 19:09:19 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre805
Retention: keep 0_pre809/0_pre813 (last two) plus the 9999 live ebuild.
commit bbacd130797c171dacfc0b6ad1d08b24c477f17c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Aug 6 19:09:06 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre813
MY_COMMIT eb7f35c -> bfbef5b (tag master-813-bfbef5b); the ggml submodule
gitlink is unchanged (eced84c...).
commit ab64bcd1e858c8ce410e1019d494c7fb02774e7d
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 3 09:40:01 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre802
commit 15255d4bc2fc38bc8aa3e719b017d57106c0deaa
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Aug 3 09:39:55 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre809
commit a2bfde341f7c15bd3d8397e661af3412e6567b18
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 31 09:52:15 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre797
Superseded snapshot; retention keeps the last two master snapshots
(0_pre802, 0_pre805) plus the live ebuild.
commit 0e7d63aa24fdb0ab69a66923255b84c757befec2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 31 09:52:10 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre805
Upstream master snapshot master-805-e31a86c. The ggml submodule gitlink
is unchanged from 0_pre802 (eced84c), so only MY_COMMIT is refreshed.
commit 755b9983c27f3d758ff0700bfea613ba4ecef9e8
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jul 30 10:53:59 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre796
Superseded snapshot; retention keeps the last two master snapshots
(0_pre797, 0_pre802) plus the live ebuild.
commit 720f63f317ca905df706bd6b2bf1717a64afa2ba
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Thu Jul 30 10:53:31 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre802
Upstream master snapshot master-802-e92e86f. The ggml submodule gitlink
is unchanged from 0_pre797 (eced84c), so only MY_COMMIT is refreshed.
commit 12e0028e2fe7ae454cfedc1f0a3eaa6632c8f288
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jul 28 09:46:49 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre795
Retention: 0_pre796 and 0_pre797 are the last two snapshots. Nothing
pins the older one.
commit 200526faeeb5a3b670759b55e5ade542b377a2c2
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Tue Jul 28 09:46:33 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre797
Snapshot bump to master-797-5ef4a75. The ggml submodule gitlink is
unchanged (eced84c8, same distfile), and the 796..797 diff is three
files under examples/ (common.cpp, the server routes, and api.md docs)
with no CMakeLists or option-surface change.
commit 21d42c56fe1b2fd7d13001858e5546ca9838d5ce
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Mon Jul 27 11:13:33 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre796, drop 0_pre789
Snapshot bump to upstream tag master-796-2d0385b. The ebuild differs
from 0_pre795 only in MY_COMMIT, which together with PV composes the
tag name.
sci-ml/lemonade is the only consumer and depends on this package
unversioned under USE=system-sdcpp, so no pin follows the snapshot
counter.
0_pre789 drops, leaving the two most recent snapshots alongside the
live ebuild.
commit 6cefeccf45f0bbe7f6b4c733bcb2daa19307a020
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 25 10:58:15 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre788
commit 630f7bbd9aec4db916a2b015259753bfb8d06b17
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sat Jul 25 10:58:14 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre795
Snapshot bump to master-795-87a0177. ggml submodule gitlink unchanged (eced84c8) and
no cmake option-surface changes over master-789, so a straight MY_COMMIT bump.
commit 28d229ed1fc76b8e1697dde54b24e27d274fc8aa
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 24 11:42:03 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre775, 0_pre778, 0_pre782
commit c0a87149c6627f9fdee5eef58bf18a9fd384e4ce
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 24 11:18:51 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre789
commit 55067c7022017192b3941a6aca2e451caea87d96
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 22 23:50:39 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre788
commit 8be7041e0a250ae97abb748a51b1c1fd83fdadd4
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 17 15:06:52 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre782
commit 121e74ba44944ea118be84e499f13c08fe13f79c
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 15 11:09:37 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre769
commit 0f97a68cfe681e37097e1281f2094c7d37d9cf9b
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 15 11:09:25 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre778
commit 83d5826c0d978626e2da690f5956fa220ee7e6f0
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jul 12 09:16:56 2026 +0200
sci-misc/stable-diffusion-cpp: drop 0_pre767
commit b421a9ebfb2e9949d37e12a201f04e9d90897d12
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Sun Jul 12 09:16:40 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre775
commit aa99d9adab91b76225f0c4935848b400474f4ecf
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Fri Jul 10 15:20:52 2026 +0200
sci-misc/stable-diffusion-cpp: add 0_pre769
commit 049141e9c629782d3f0dc4cbe067ea05b8a24601
Author: Ivan S. Titov <iohann.s.titov@gmail.com>
Date: Wed Jul 8 12:01:39 2026 +0200
sci-misc/stable-diffusion-cpp: new package
Diffusion-model (Stable Diffusion, Flux, Wan, Qwen-Image) inference in pure
C/C++ -- the image-generation counterpart to the packaged ggml llama family.
A pinned release (0_pre767) plus a live ebuild, with CPU, BLAS, Vulkan,
OpenCL, CUDA and ROCm backends.
ggml is an upstream git submodule that GitHub's release tarball omits, so the
pinned ebuild fetches leejet's ggml fork as a second distfile and stages it
where add_subdirectory(ggml) expects. The pnpm-driven server web frontend is
disabled for a network-free build; a small patch lets the ebuild embed the
release version the tarball would otherwise report as "unknown".

