Houdini Apprentice in distrobox
Two images built from the same Dockerfile, pushed to a private registry,
used via distrobox:
houdini-amd— Houdini + Mesa, for AMD/Intel GPUshoudini-nvidia— Houdini only; the NVIDIA driver is injected at runtime bydistrobox --nvidia
Registry: docker.slambin.fr. Files: Dockerfile, houdini-run (in-image
launcher).
Houdini binaries are baked into these images under a personal SideFX account. Keep the registry private — never push these images publicly.
Prerequisites
- Your Houdini Linux tarball from your SideFX account (e.g.
houdini-22.0.429-linux_x86_64_gcc14.2.tar.gz), placed next to theDockerfile. - A SideFX account (Apprentice is free) to activate the license on first launch.
Build & push
REGISTRY=docker.slambin.fr
VERSION=22.0.429
TARBALL=houdini-22.0.429-linux_x86_64_gcc14.2.tar.gz
# Date the EULA at https://www.sidefx.com/legal/license-agreement/ was last
# updated, format YYYY-MM-DD, no "SideFX-" prefix.
EULA_DATE=2021-10-13
# Build amd image
podman build -f Dockerfile \
--build-arg "HOUDINI_TARBALL=${TARBALL}" \
--build-arg "HOUDINI_EULA_DATE=${EULA_DATE}" \
--target "amd" \
-t "${REGISTRY}/houdini-amd:${VERSION}" \
-t "${REGISTRY}/houdini-amd:latest" .
# Build nvidia image
podman build -f Dockerfile \
--build-arg "HOUDINI_TARBALL=${TARBALL}" \
--build-arg "HOUDINI_EULA_DATE=${EULA_DATE}" \
--target "nvidia" \
-t "${REGISTRY}/houdini-nvidia:${VERSION}" \
-t "${REGISTRY}/houdini-nvidia:latest" .
Install / run
One-time, on the host — persists the Apprentice license across container recreation:
mkdir -p ~/.houdini-apprentice && touch ~/.houdini-apprentice/licenses
Create the box (pick the image matching your GPU):
# AMD / Intel
distrobox create \
--name houdini \
--image docker.slambin.fr/houdini-amd:latest \
--additional-flags "--hostname houdini-apprentice -v $HOME/.houdini-apprentice/licenses:/usr/lib/sesi/licenses"
# NVIDIA
distrobox create \
--name houdini \
--image docker.slambin.fr/houdini-nvidia:latest \
--nvidia \
--additional-flags "--hostname houdini-apprentice -v $HOME/.houdini-apprentice/licenses:/usr/lib/sesi/licenses"
Then:
distrobox enter houdini
houdini-run
First launch prompts to install the free Apprentice license — log in with your SideFX account. Two things worth knowing:
- The
--hostname houdini-apprenticeflag must stay the same every time you recreate the box — Apprentice licenses node-lock to hostname as well as hardware. - Apprentice licenses expire after 30 days; re-activate the same way (a quick re-login in the same dialog).
App menu entry (icon, no terminal)
Houdini doesn't ship its own .desktop file, and distrobox doesn't have a
built-in way to generate a proper GUI-app entry from a binary —
distrobox-generate-entry only makes the generic "Terminal entering X"
shortcut. So write one by hand and export it:
distrobox enter houdini
cat > /tmp/houdini.desktop << 'EOF'
[Desktop Entry]
Type=Application
Name=Houdini FX
Comment=Houdini Apprentice (distrobox)
Exec=houdini-run
Icon=/opt/hfs/houdini/cloudsubmit/houdini_icon.png
Terminal=false
Categories=Graphics;3DGraphics;Education;
StartupWMClass=houdinifx-bin
EOF
distrobox-export --app /tmp/houdini.desktop
This copies the icon to ~/.local/share/icons/ on the host and writes
~/.local/share/applications/houdini-houdini.desktop. Distrobox also
auto-creates a generic houdini.desktop ("Terminal entering Houdini") when
the box is created — set NoDisplay=true in that file, or delete it, if you
don't want both entries in the app menu.