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), build-and-push.sh.
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
Edit the variables at the top of build-and-push.sh (version, tarball name,
EULA date if it changed), then:
./build-and-push.sh
Builds both variants and pushes all tags to docker.slambin.fr.
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.