Ceci est une ancienne révision du document !
Compiler Blender depuis les sources
Blender est une suite de modélisation, d'animation et de rendu 3D. Si vous voulez simplement installer Blender, allez donc voir cette page ; celle-ci étant dédiée uniquement à la compilation de la version de développement de Blender…
Prérequis
Pour récupérer et compiler les sources de Blender, nous utiliserons subversion et scons.
- Disposer d'une connexion à Internet configurée et activée ;
- Avoir installé les paquets: apt://g++ libx11-dev libgl1-mesa-dev libxi-dev zlib1g-dev libpng12-dev libglu1-mesa-dev libjpeg62-dev libfreetype6-dev libtiff4-dev libopenexr-dev libsdl1.2-dev libopenal-dev python3-dev libfftw3-dev libsamplerate0-dev libjack-dev libavformat-dev libxvidcore-dev libx264-dev libmp3lame-dev libavdevice-dev spécifiques à la compilation de Blender.
Récupérer les sources de Blender
Pour récupérer l'arbre complet des sources de Blender, utilisez subversion avec la commande suivante dans un terminal : Les sources récupérées seront dans le dossier courant dans un répertoire blender
svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/blender blender
Il vous faudra en tout environ 260 Mo d'espace libre sur votre disque dur pour pouvoir compiler Blender. Bien entendu, une fois la compilation achevée, vous pouvez supprimer tout les fichiers servant à la compilation, ce qui n'utilisera plus qu'environ 10 Mo.
Mettre les sources à jour
Comme les sources de Blender évoluent très vite, vous voudrez sans-doute mettre à jour les sources à la dernière révision de temps en temps. Pour cela, lancez simplement, une fois rendu dans le répertoire « blender », la commande suivante :
svn update
Il vous suffira alors de relancer la compilation pour utiliser les nouvelles sources.
Compilation
Une fois les dépendances installées, rendez-vous dans le dossier « blender » puis lancez simplement la compilation avec scons :
scons
scons -j 2
Une fois la compilation terminée, votre Blender tout chaud se trouve dans le dossier « ../build/linux2/bin/ ».
Note sur les fichiers de bibliothèques manquantes
La compilation lancée, il est possible qu'elle s'arrête malheureusement sur une erreur… Pas de panique ! La chose à faire, c'est de bien observer le message d'erreur, qui indique quelle bibliothèque est manquante, et d'ensuite installer le paquet Ubuntu qui lui correspond. Par exemple, si l'erreur est à propos d'un certain "glut.h", le paquet à installer sera libglut-dev. A chaque fois que vous installez la bibliothèque, prenez bien sa version -dev. Une fois la bibliothèque installée, relancez scons, puis au prochain message d'erreur installez la nouvelle librairie manquante.
A un moment la compilation va se terminer avec succès. Allez dans le répertoire build, vous y trouverez le binaire de votre compilation !
Personnaliser les options de compilation
Un fichier qui contient les options de compilation par défaut de Blender se trouve dans « build_files/scons/config/linux2-config.py ». Parce qu'il peut être mis à jour à tout moment au travers du SVN, il est très déconseillé de le modifier directement. Ne vous inquiétez pas tout est prévu : il vous suffit de créer un fichier « user-config.py » vide à la base du dossier Blender. Vous le remplirez à votre guise afin de définir une option qui diffère de celle par défaut. Au besoin, n'hésitez pas à consulter l'aide comment modifier un fichier.
Activer le moteur de jeu
Le fichier d'origine « build_files/scons/config/linux2-config.py » contient la variable
WITH_BF_GAMEENGINE=False
Ajoutez donc dans votre fichier personnalisé « user-config.py » la variable comme suit :
WITH_BF_GAMEENGINE=True
Relancez la compilation via scons, et normalement, le moteur de jeu est alors activé.
Activer Verse
Si vous souhaitez utiliser Blender à plusieurs, Verse se fait vite indispensable. Pour l'activer, ajoutez au fichier « user-config.py » ceci :
WITH_BF_VERSE = True
plutôt que
WITH_BF_VERSE = False
Il faudra de même relancer une compilation via scons.
Activer YafRay (dans le cas d'une compilation personnelle de ce dernier)
On remarque que Blender ne peut pas utiliser YafRay s'il a été compilé. Afin de remédier à cela, cherchez la ligne (toujours dans votre fichier de configuration) :
WITH_BF_YAFRAY = True
(On remarque que YafRay est activé par défaut, et qu'il est donc intéressant de le télécharger directement depuis les dépôts). Rajoutez ensuite la ligne suivante :
BF_YAFRAY = '[Chemin vers YafRay]'
Optimiser la compilation pour son type de processeur
Par défaut la compilation qui s'effectue est capable de tourner aussi bien sur un vieux processeur Pentium® de première génération que sur votre tout dernier petit bijou de technologie qui équipe votre machine actuelle. En d'autres termes, cela signifie qu'il y a un réel manque à gagner en utilisant les spécificités de votre processeur moderne.
On appelle cela les flags GCC, et vous pourrez facilement trouver ceux qui correspondent le mieux à votre processeur via n'importe quel bon moteur de recherche ou avec la commande cat /proc/cpuinfo
, à la ligne flags. Comme toutes les options précédentes, il s'ajoutent dans votre fichier de configuration personnel. Ils diffèrent complètement d'un processeur à l'autre, et chercher à optimiser sans savoir où l'on va peut évidemment se traduire en perte de performances et autres plantages, donc prudence et n'hésitez pas à valider vos flags avec des tests.
Prenez le temps de lire cette page de documentation de gcc pour trouver quelles options correspondent à votre architecture de microprocesseur (option -march).
Voici ceux que j'utilise sur un Core2Duo, et qui me permettent d'obtenir un gain minimum de 25% de performances au rendu en 32 bits :
### flags d'optimisation ## CCFLAGS.extend( [ '-march=core2', '-O2' ] ) CXXFLAGS.extend( [ '-march=core2', '-O2' ] ) REL_CFLAGS = ['-O2'] REL_CCFLAGS = ['-O2']
Patcher Blender
Il est possible d'appliquer des patchs à Blender afin de profiter de diverses fonctionnalités supplémentaires.
Pour ce faire, récupérez les patchs que vous désirez sur BlenderProject ou sur un autre site et placez les fichiers à la racine de votre répertoire des sources téléchargées précédemment.
Ouvrez un terminal et rendez-vous dans le répertoire des sources puis tapez :
patch -p0 < nom_de_votre_fichier_patch
Pour restaurer les sources d'avant l'application d'un patch il suffit de rajouter l'option -R:
patch -p0 -R < nom_de_votre_fichier_patch
Il vous suffit de faire cette manipulation pour chaque patch (ou d'automatiser la procédure par un script) et de relancer la compilation pour profiter des nouvelles fonctionnalités.