Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
blender_compilation [Le 26/02/2012, 00:07] Gemnoc ancienne révision restaurée |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>compilation}} | ||
- | ----- | ||
- | |||
- | ====== 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 [[:blender|cette page]] ; celle-ci étant dédiée uniquement à la compilation de la version de développement de Blender... | ||
- | |||
- | <note important>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é [[http://blenderclan.tuxfamily.org/html/modules/newbb/viewtopic.php?post_id=368171#forumpost368171|ICI]] sur le Blender Clan.</note> | ||
- | |||
- | <note important>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.</note> | ||
- | |||
- | |||
- | ===== 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 [[:tutoriel:comment_installer_un_paquet|installé les paquets]]: **[[apt://subversion|subversion]], [[apt://scons|scons]]** et **[[apt://build-essential|build-essential]]** fournissant des outils de base ; | ||
- | * Avoir [[:tutoriel:comment_installer_un_paquet|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|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 | ||
- | <code>svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/blender blender</code> | ||
- | |||
- | <note important>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.</note> | ||
- | |||
- | |||
- | ==== 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 [[:tutoriel:console_commandes_de_base#cd|rendu dans le répertoire]] « blender », la commande suivante : | ||
- | |||
- | svn update | ||
- | |||
- | Il vous suffira alors de relancer la [[#Compilation|compilation]] pour utiliser les nouvelles sources. | ||
- | |||
- | |||
- | ===== Compilation ===== | ||
- | |||
- | Une fois les [[#Prérequis|dépendances]] installées, [[:tutoriel:console_commandes_de_base#cd|rendez-vous dans le dossier]] « blender » puis lancez simplement la compilation avec [[:scons]] : | ||
- | |||
- | scons | ||
- | |||
- | <note>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 : | ||
- | <code>scons -j 2</code></note> | ||
- | |||
- | <note>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**</note> | ||
- | |||
- | 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 [[:tutoriel:comment_editer_un_fichier|comment modifier un fichier]]. | ||
- | |||
- | === Activer le moteur de jeu === | ||
- | |||
- | Le fichier d'origine « build_files/scons/config/linux2-config.py » contient la variable <code>WITH_BF_GAMEENGINE=False</code>Ajoutez donc dans votre fichier personnalisé « user-config.py » la variable comme suit : <code>WITH_BF_GAMEENGINE=True</code>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 : <code>WITH_BF_VERSE = True</code> plutôt que <code>WITH_BF_VERSE = False</code> | ||
- | 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 [[wpfr>YafRay]] s'il a été compilé. Afin de remédier à cela, cherchez la ligne (toujours dans votre fichier de configuration) : <code>WITH_BF_YAFRAY = True</code> (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 : <code>BF_YAFRAY = '[Chemin vers YafRay]'</code> | ||
- | |||
- | === 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 [[http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options|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 :<code>### flags d'optimisation ## | ||
- | CCFLAGS.extend( [ '-march=core2', '-O2' ] ) | ||
- | CXXFLAGS.extend( [ '-march=core2', '-O2' ] ) | ||
- | REL_CFLAGS = ['-O2'] | ||
- | REL_CCFLAGS = ['-O2']</code> | ||
- | |||
- | ==== 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 [[https://projects.blender.org/tracker/?atid=127&group_id=9&func=browse|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 : | ||
- | |||
- | <code>patch -p0 < nom_de_votre_fichier_patch</code> | ||
- | |||
- | Pour restaurer les sources d'avant l'application d'un patch il suffit de rajouter l'option -R: | ||
- | |||
- | <code>patch -p0 -R < nom_de_votre_fichier_patch</code> | ||
- | |||
- | 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 ===== | ||
- | |||
- | * [[http://www.blender.org/|Site officiel de Blender]] | ||
- | * [[http://blenderclan.tuxfamily.org/html/modules/newbb/viewtopic.php?topic_id=12465|Source originale de cette page]] | ||
- | |||
- | ---- | ||
- | //Contributeurs : [[:utilisateurs:ebrain]] (rédaction), [[:utilisateurs:Ban]], [[:utilisateurs:olivS]], [[:utilisateurs:M@dinko12]]// |