Contenu | Rechercher | Menus

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…

Nouvelle évolution ce jour de la dépendance liée à Python, Blender est très récemment passé sur la version 3.2 de Python, version pas encore disponible sur Ubuntu 10.10 à l'heure où je vous parle, et ce commentaire deviendra obsolète avec la sortie d'Ubuntu Natty 11.04 qui fournit Python 3.2 dans les dépôts. En attendant, je vous propose de lire le commentaire que j'ai posté ICI sur le Blender Clan.

La compilation de la version de développement Blender 2.5 nécessite l'installation des paquets de développement de Python 3.1. Nous nous contenterons ici d'installer les paquets d'Ubuntu 10.04 Lucid Lynx, alors que dans une version plus ancienne il aurait fallu compiler Python 3.1 à la main.

Prérequis

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

Attention ! Les sources de Blender prennent environ 180 Mo d'espace sur le disque dur, veillez à avoir une marge suffisante pour pouvoir compiler ; ce qui va encore prendre de l'espace disque.

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

Pour les heureux possesseurs de processeurs multicœurs, vous pouvez spécifier l'option -j N pour une compilation utilisant N cœurs. Par exemple, sur un Core2Duo, la compilation sera plus rapide avec :

scons -j 2

La compilation avec la commande scons résulte en une erreur si vous tentez de compiler le SVN avec Ubuntu 8.04. Il faut utiliser plutôt la commande python scons/scons.py

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.

Liens


Contributeurs : ebrain (rédaction), Ban, olivS, M@dinko12



Le contenu de ce wiki est sous licence : CC BY-SA v3.0