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 subversion scons build-essential fournissant des outils de base ;
- Avoir installé les paquets python2.5-dev libjpeg62-dev libpng12-dev zlib1g-dev libopenal-dev libalut-dev libsdl1.2-dev libtiff4-dev libopenexr-dev libxi-dev libfreetype6-dev gettext 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 repertoire 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/ ».
Personnaliser les options de compilation
(ajouter comment modifier les options, à quoi elle servent & compagnie.)
Un fichier qui contient les options de compilation par défaut de Blender se trouve dans « ../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 « ../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. 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.
Voici ceux que j'utilise sur un Core2Duo, et qui me permettent d'obtenir un gain minimum de 25% de performances au rendu :
### flags d'optim ## CCFLAGS.extend( [ '-march=pentium-m', '-msse3', '-O3', '-ffast-math', '-fomit-frame-pointer', '-mfpmath=sse' ] ) CXXFLAGS.extend( [ '-march=pentium-m', '-msse3', '-O3', '-ffast-math', '-fomit-frame-pointer', '-mfpmath=sse' ] ) REL_CFLAGS = ['-O3'] REL_CCFLAGS = ['-O3']
Note sur les fichiers de libs manquantes :
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 !
Patcher Blender
Il est possible d'appliquer des patchs a Blender afin de profiter de diverses fonctionnalités supplementaires.
Pour ce faire recuperer les patchs que vous desirez sur BlenderProject ou sur un autre site et placé les fichier a la source de votre repertoire des sources telechargées precedemment.
Ouvrez un teminal et rendez vous dans les repertoire 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 procedure par un script) et de relancer la compilation pour profiter des nouvelles fonctionnalités.
Liens
- Un article intéressent d'OlivS (prévu pour Kubuntu 6.06 LTS) expliquant la même chose que ce tutoriel est disponible ici.