Skip to content
>_ StalkerLabs
STALKERLABS / EXPERIMENT 619

EXP B3 — Quand Ubuntu ne suffit plus : fabriquer notre propre paquet Debian pour Blender 5.2

● EXPERIMENT COMPLETED ✦ RESULT VERIFIED 26 août 2026 Blender 3D & Linux

EXP B3 — Quand Ubuntu ne suffit plus : fabriquer notre propre paquet Debian pour Blender 5.2

Dans l’expérience précédente, nous avions enfin obtenu la réponse que nous cherchions.

Blender 5.0.1, installé depuis les dépôts de Kubuntu, fonctionnait, mais Cycles ne parvenait pas à utiliser CUDA.

Puis nous avons lancé la version officielle de Blender 5.2.0, directement depuis son archive Linux.

Et là :

CUEW initialization succeeded
Found precompiled kernels
Added device "NVIDIA GeForce GTX 1080"

La GTX 1080 fonctionnait.

Le pilote NVIDIA fonctionnait.

Kubuntu fonctionnait.

Et surtout, nous n’avions pas eu besoin d’installer le CUDA Toolkit.

Il ne restait donc plus qu’un problème : comment installer proprement cette version de Blender dans notre système ?

Nous ne voulions pas conserver une archive extraite quelque part dans /tmp.

Nous voulions un véritable paquet Debian.

Nous n’allons pas compiler Blender

Commençons par une précision importante.

Le titre de cette expérience parle de fabrication d’un paquet Debian, mais nous ne compilons pas Blender.

Nous partons de l’archive officielle :

blender-5.2.0-linux-x64.tar.xz

et nous allons transformer son contenu en paquet .deb.

Notre objectif est donc :

Official Blender 5.2.0 archive
              │
              ▼
       packaging script
              │
              ▼
blender-5.2.0-1axehgo_amd64.deb

Le Blender contenu dans le paquet reste celui fourni par Blender.

Nous ne reconstruisons ni le moteur, ni Cycles, ni CUDA.

Pourquoi fabriquer notre propre .deb ?

Nous aurions très bien pu conserver l’archive officielle et lancer Blender directement depuis /opt.

Mais nous voulions quelque chose de mieux intégré à notre système.

Un paquet Debian permet notamment à dpkg et apt de connaître l’installation.

Nous pouvons avoir :

/usr/bin/blender

comme point d’entrée, tandis que l’installation réelle de Blender reste sous :

/opt/blender/5.2.0/

Et surtout, nous pouvons inspecter le paquet avant de l’installer.

C’est exactement ce que nous allons faire.

Première tentative : V1

Nous commençons par un premier script d’empaquetage.

Cette première version utilise le nom de paquet :

blender-5.2

et ajoute plusieurs éléments d’intégration au bureau :

  • un lanceur /usr/bin/blender ;
  • une entrée .desktop ;
  • une icône SVG ;
  • une déclaration MIME pour les fichiers .blend.

Le script place également Blender sous :

/opt/blender/5.2.0/

Pour construire le paquet, nous utilisons simplement :

chmod +x build-blender-5.2.0-deb.sh
./build-blender-5.2.0-deb.sh

Au cœur du script, c’est dpkg-deb qui fait le travail :

dpkg-deb --build --root-owner-group "$PKGROOT" "$OUT"

C’est notre première rencontre avec la mécanique réelle d’un paquet Debian.

Il n’y a rien de magique.

Nous construisons simplement une arborescence qui ressemble à la racine du système :

pkgroot/
├── DEBIAN/
├── opt/
├── usr/
└── ...

puis dpkg-deb transforme cette arborescence en .deb.

V2 : essayer de faire les choses plus proprement.

La deuxième version change légèrement d’approche.

Nous revenons au nom de paquet :

blender

et nous définissons :

Version: 5.2.0-1axehgo
Architecture: amd64

Le script crée également :

/usr/bin/blender
/usr/share/applications/blender.desktop

et ajoute une icône Blender, une association MIME pour les fichiers .blend et un postinst destiné à actualiser les bases de données du bureau et des types MIME.

Sur le papier, tout cela semble raisonnable.

Mais c’est précisément ici que nous rencontrons notre premier véritable problème.

dpkg refuse notre paquet

Au moment de l’installation, dpkg nous signale un conflit autour de :

/usr/share/icons/hicolor/scalable/apps/blender.svg

Le fichier appartient déjà au paquet Ubuntu :

blender-data

Notre paquet essaie pourtant de l’installer lui aussi.

dpkg refuse donc de laisser deux paquets devenir propriétaires du même fichier.

Ce n’est pas un problème de Blender.

Ce n’est pas un problème de CUDA.

Et ce n’est certainement pas la GTX 1080.

C’est simplement un conflit de fichiers entre paquets Debian.

Et cette petite erreur va nous permettre de simplifier sérieusement notre approche.

V3 : faire moins.

Nous n’avons finalement pas besoin de reconstruire toute l’intégration de Blender au bureau.

Notre objectif est beaucoup plus simple :

prendre la distribution officielle de Blender et en faire un paquet Debian propre.

La V3 retire donc précisément les éléments qui nous ont posé problème.

Le script le dit lui-même :

# No custom blender.svg: the previous version conflicted with blender-data.
# No postinst: keep the package minimal and let the desktop/MIME system handle it.

La structure finale est volontairement simple :

/opt/blender/5.2.0/
/usr/bin/blender
/usr/share/applications/blender.desktop

Et c’est cette version que nous allons utiliser.

Le script V3.

Nous avons décidé de publier le script utilisé pendant l’expérience.

Il est intéressant justement parce qu’il est très simple.

Créez le fichier :

nano build-blender-5.2.0-deb-v3.sh

puis copiez-y le script suivant :

The original script was run on a French-localized Kubuntu system, where the
Downloads directory is named Téléchargements. In the version
shown here, it is written as Downloads for an English-language
system.

#!/usr/bin/env bash
set -euo pipefail

PACKAGE="blender"
VERSION="5.2.0-1axehgo"
ARCHIVE="$HOME/Downloads/blender-5.2.0-linux-x64.tar.xz"
WORK="$HOME/blender-5.2.0-deb-build"
PKGROOT="$WORK/pkgroot"
OUT="$HOME/Downloads/blender-5.2.0-1axehgo_amd64.deb"

echo "==> Verifying archive..."
if [[ ! -f "$ARCHIVE" ]]; then
    echo "ERROR: archive not found: $ARCHIVE"
    exit 1
fi

echo "==> Cleaning old build directory..."
rm -rf "$WORK"
mkdir -p "$PKGROOT/DEBIAN"

echo "==> Extracting official archive..."
tar -xJf "$ARCHIVE" -C "$PKGROOT"

SRC="$PKGROOT/blender-5.2.0-linux-x64"
OPT="$PKGROOT/opt/blender/5.2.0"

if [[ ! -d "$SRC" ]]; then
    echo "ERROR: expected Blender directory not found: $SRC"
    exit 1
fi

mkdir -p "$PKGROOT/opt/blender"
mv "$SRC" "$OPT"

cat > "$PKGROOT/DEBIAN/control" <
Description: Blender 5.2.0 official Linux distribution
 Blender 5.2.0 packaged from the official Blender Linux x64 tarball.
 Includes the official Blender runtime and Cycles precompiled kernels.
EOF

mkdir -p "$PKGROOT/usr/bin"

cat > "$PKGROOT/usr/bin/blender" <<'EOF'
#!/bin/sh
exec /opt/blender/5.2.0/blender "$@"
EOF

chmod 755 "$PKGROOT/usr/bin/blender"

mkdir -p "$PKGROOT/usr/share/applications"

cat > "$PKGROOT/usr/share/applications/blender.desktop" <<'EOF'
[Desktop Entry]
Name=Blender 5.2.0
Comment=3D Creation Suite
Exec=/usr/bin/blender %f
Icon=blender
Terminal=false
Type=Application
Categories=Graphics;3DGraphics;
MimeType=application/x-blender;
StartupWMClass=Blender;
EOF

echo "==> Building Debian package..."
rm -f "$OUT"
dpkg-deb --build --root-owner-group "$PKGROOT" "$OUT"

echo
echo "=== BLENDER 5.2.0 PACKAGE CREATED ==="
ls -lh "$OUT"
echo
echo "Package      : $PACKAGE"
echo "Version      : $VERSION"
echo "Architecture : $ARCH"
echo "Install path : /opt/blender/5.2.0/"
echo "Launcher     : /usr/bin/blender"
echo "Desktop      : /usr/share/applications/blender.desktop"
echo
echo "This package is NOT installed by this script."

Ce script est celui de notre V3 retrouvée dans les archives du laboratoire ; je n’en ai pas modifié la logique.

Que fait exactement le script ?

La première partie vérifie que l’archive officielle existe :

if [[ ! -f "$ARCHIVE" ]]; then

Si elle n’est pas trouvée, le script s’arrête immédiatement.

Ensuite, il prépare un répertoire de construction :

~/blender-5.2.0-deb-build/

puis extrait l’archive Blender.

Le contenu est finalement déplacé vers :

/opt/blender/5.2.0/

dans l’arborescence temporaire du paquet.

Le fichier :

DEBIAN/control

décrit ensuite le paquet pour dpkg.

C’est là que nous indiquons :

Package: blender
Version: 5.2.0-1axehgo
Architecture: amd64

Enfin, le script crée le petit lanceur :

#!/bin/sh
exec /opt/blender/5.2.0/blender "$@"

Il permet de taper simplement :

blender

au lieu de devoir connaître le chemin réel du programme.

Et dpkg-deb transforme finalement toute cette arborescence en paquet Debian.

Construire le paquet.

Rendons le script exécutable :

chmod +x build-blender-5.2.0-deb-v3.sh

Puis lançons-le :

./build-blender-5.2.0-deb-v3.sh

Le script nous indique finalement :

=== PAQUET BLENDER 5.2.0 CRÉÉ ===

et produit :

~/Téléchargements/blender-5.2.0-1axehgo_amd64.deb

Il est important de noter une nouvelle fois que le script ne l’installe pas.

C’est volontaire.

Nous allons d’abord regarder ce que nous avons fabriqué.

Avant d’installer : regardons ce que nous avons fabriqué.

C’est ici que l’expérience devient particulièrement intéressante.

Un .deb n’est pas une boîte noire.

Nous pouvons l’inspecter avec :

dpkg-deb -I ~/Téléchargements/blender-5.2.0-1axehgo_amd64.deb

Cette commande permet de consulter les informations du paquet.

Puis :

dpkg-deb -c ~/Téléchargements/blender-5.2.0-1axehgo_amd64.deb

pour afficher son contenu.

Nous pouvons également rechercher les éléments importants :

dpkg-deb -c ~/Téléchargements/blender-5.2.0-1axehgo_amd64.deb \
  | grep -E '(/blender$|blender-launcher|kernel_sm_60|\.desktop$)'

Nous voulons notamment vérifier que notre paquet contient bien Blender et les kernels précompilés de Cycles.

C’est une étape que nous considérons désormais comme essentielle :

Avant de demander à dpkg d’installer quelque chose, regardons d’abord ce que nous lui demandons d’installer.

Installation du paquet.

Une fois le contenu vérifié, nous pouvons enfin installer notre paquet :

sudo apt install ~/Téléchargements/blender-5.2.0-1axehgo_amd64.deb

APT délègue alors l’installation du fichier local à dpkg.

Notre Blender officiel 5.2.0 devient ainsi un paquet connu du système.

Le point d’entrée est :

/usr/bin/blender

et l’installation réelle :

/opt/blender/5.2.0/

Vérification.

Première vérification :

blender --version

Nous obtenons :

Blender 5.2.0 LTS

Mais ce n’est pas encore suffisant.

Notre objectif initial était de retrouver CUDA et Cycles.

Nous lançons donc :

blender --debug-cycles

Et nous retrouvons :

cycles | CUEW initialization succeeded
cycles | Found precompiled kernels
cycles | Device has compute preemption or is not used for display.
cycles | Added device "NVIDIA GeForce GTX 1080"

La boucle est bouclée.

Notre chaîne est désormais :

/usr/bin/blender
        │
        ▼
/opt/blender/5.2.0/blender
        │
        ▼
      Cycles
        │
        ▼
       CUDA
        │
        ▼
    GTX 1080

Ce que nous avons réellement accompli.

Nous sommes partis d’une situation assez étrange :

Blender 5.0.1
     ↓
Ubuntu installation
     ↓
Cycles
     ↓
CUDA unusable

Nous avons ensuite découvert que :

Official Blender 5.2.0
     ↓
same computer
same GTX 1080
same NVIDIA driver
     ↓
CUDA works

Nous n’avons donc pas remplacé la carte graphique.

Nous n’avons pas installé le CUDA Toolkit.

Nous n’avons pas compilé Blender.

Nous avons simplement pris la distribution officielle de Blender 5.2.0, puis nous avons appris à en fabriquer notre propre paquet Debian.

Et notre premier paquet nous a même appris quelque chose d’utile :

Un paquet Debian minimal est parfois préférable à une intégration trop ambitieuse.

La V3 est finalement assez modeste :

Official Blender
       +
/opt/blender/5.2.0
       +
/usr/bin/blender
       +
blender.desktop
       =
our .deb package

Et cette fois, la GTX 1080 ne proteste plus.

Conclusion.

Nous étions partis à la recherche d’une explication à un problème CUDA.

Nous avons finalement découvert que notre matériel n’était probablement pas le problème.

Puis nous avons fabriqué notre propre solution d’installation.

Ce n’est pas une distribution de Blender.

Ce n’est pas une compilation personnalisée.

C’est simplement l’archive officielle de Blender 5.2.0 transformée en paquet Debian reproductible.

Et maintenant, nous avons quelque chose que nous pouvons installer, supprimer, inspecter et reconstruire.

Pour un ordinateur de laboratoire, c’est exactement ce que nous voulions.

ÉlémentÉtat
Blender 5.0.1 — paquet Ubuntu🔴
Blender officiel 5.2.0🟢
GTX 1080🟢
Pilote NVIDIA🟢
CUDA🟢
CUDA Toolkit🔴 Non installé
Paquet Debian V3🟢
Installation via APT🟢
Vérification Cycles🟢
Paquet reproductible🟢

The GTX 1080 refuses to retire.

Et nous non plus. ;)

À suivre …

(B4) — Blender 5.2 LTS : la validation finale de CUDA sur notre GTX 1080


AxehGo & DebIA — Independent Research & Experiments in Linux, AI and Statistical Computing.

// discussion

No comments

● DISCUSSION OPEN

// contribute

Leave a comment

Questions, corrections and alternative approaches are welcome.