Install this version:
emerge -a =app-local-ai/stablediffusion-ggml-4.9.0
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =app-local-ai/stablediffusion-ggml-4.9.0
Or alternatively:
emerge --autounmask-write -a =app-local-ai/stablediffusion-ggml-4.9.0
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 4.9.0 | 8 | ~amd64 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# LocalAI image-generation backend for GGUF-format diffusion models, built
# from stable-diffusion.cpp at the exact commit this LocalAI release pins.
# Upstream publishes CPU, CUDA, Vulkan, and SYCL variants of this backend
# but no ROCm build at all; USE=rocm here fills that gap.
EAPI=8
LOCAL_AI_ENGINE_LIB="libgosd.so"
# sd.cpp wraps the ggml backend toggles in its own option names.
LOCAL_AI_CUDA_CMAKE_VARS="SD_CUDA"
LOCAL_AI_VULKAN_CMAKE_VARS="SD_VULKAN"
LOCAL_AI_HIP_CMAKE_VARS="SD_HIPBLAS"
# ggml RPC backend on, as upstream builds it: generation can be sharded
# across the same rpc-server workers the llama.cpp backend uses.
LOCAL_AI_EXTRA_CMAKE_ARGS=( -DSD_RPC=ON )
inherit local-ai-ggml-go
# The stable-diffusion.cpp commit LocalAI v4.9.0 builds against. Source of
# truth: backend/go/stablediffusion-ggml/Makefile
# (STABLEDIFFUSION_GGML_VERSION) at the upstream release tag; the ggml pin
# is that commit's submodule gitlink (leejet's ggml fork).
SD_COMMIT="de298c225bed97c3f9026b73cd7b71e7879bd41b"
GGML_COMMIT="8e800cef2948046cc47f9db6090491c6128ca42c"
DESCRIPTION="LocalAI image-generation backend (stable-diffusion.cpp gRPC server)"
SRC_URI="
${LOCAL_AI_GO_SRC_URI}
https://github.com/leejet/stable-diffusion.cpp/archive/${SD_COMMIT}.tar.gz -> stable-diffusion.cpp-${SD_COMMIT}.tar.gz
https://github.com/leejet/ggml/archive/${GGML_COMMIT}.tar.gz -> leejet-ggml-${GGML_COMMIT}.tar.gz
"
S="${WORKDIR}/LocalAI-${PV}/backend/go/stablediffusion-ggml"
KEYWORDS="~amd64"
src_unpack() {
local-ai-backend_go_unpack
# The unused thirdparty submodules (libwebp/libwebm, web frontend)
# stay empty and sd.cpp's cmake correctly treats them as unavailable.
local ggml=( "leejet-ggml-${GGML_COMMIT}.tar.gz" "ggml-${GGML_COMMIT}" ggml )
local-ai-backend_engine_unpack "stable-diffusion.cpp-${SD_COMMIT}.tar.gz" stablediffusion-ggml.cpp "${ggml[@]}"
}