Mot-clé - blender

Fil des billets - Fil des commentaires

samedi, juillet 30 2011

Radeon et Blender font mauvais ménage

En fait, ce n'est pas seulement pour Blender que je vais parler, mais certaines applications 3D qui peuvent avoir tendance à planter misérablement en utilisant une carte ATI (AMD) sur notre Fedora 15... Car voilà, depuis mon passage à Fedora 15, tout se passe bien sauf un truc: travailler sous Blender. J'ai tout tenté: passage à Xfce pour éviter Mutter, recompilation de Blender, debugage, ... et rien n'y faisait. Après quelques minutes, un plantage et pas moyen de trouver une solution. Sauf que j'ai trouvé un tour de passe-passe qui permet, pour le moment, de palier le souci.

Bon avant toutes chose, un petit tour vers le rapport de bug que j'ai commenté: libllvmcore-2.8.so.debug has no usable debug info Ça donne pas envie hein... En fait pour faire court, un souci bien dégoûtant apparaît avec le pilote radeon et en plus de cela on a pas les infos de débogage pour notre problème. Raaa la rage m'envahissait et comme je voulais finir un boulot sur Blender, me fallait vite une solution.

Et bien j'ai finis par y aller "bourrin"... en utilisant une compilation du pilote "gallium". C'est en fait une compilation "grotesque" qui va me permettre d'utiliser une librairie openGL très épurée. Donc certes je vais perdre l'antialiasing et certainement avoir une visu assez moche dans Blender, mais au moins ça ne plantera pas. Et pour vous rassurer, seule la vue 3D est impactée, le rendu et le traitement image/vidéo ne sont pas impactés.

Bon et bien voici la méthode:

#on va dans notre répertoire perso
cd ~
#on clone le dépot mesa
git clone git://anongit.freedesktop.org/git/mesa/mesa
cd mesa

#on compile le driver gallium, donc pas de DRI pour radeon et consorts
make  linux-x86-64 -j4
#make  linux-x86-32 -j4 pour les cpu 32 bits

#si vous avez un core i7, vous pouvez mettre -j8 au lieu de -j4
#on attend un peu la fin de la compilation puis
cd lib64 #ou cd lib si vous êtes sur un pc 32 bits

#à faire avant de lancer blender...
export LD_LIBRARY_PATH=~/mesa/lib64
#puis on lance blender
cd ~/blender-2.58
./blender -w

Deux choses, d'une part évitez le mode plein écran, perso ça fait un truc tout bizarre sur mon pc... et secondo, utilisez l'option "-w" comme spécifié, ça évitera des ennuis de bordure que j'ai vu sur mon poste.

Si vous avez des soucis, passez de Gnome à Xfce. Ca limitera les appels OpenGL et les court-circuits d'affichage. Toujours est-il que ça marche, ça marche même pas mal du tout... c'est moins beau, oui, mais ça marche.

Aussi, pour couper l'herbe sous les pieds des trolls qui vont arriver en commentaire: oui, ATI sur linux c'est pas bien, je sais, mais j'ai pas le choix pour deux raisons: d'une j'ai un laptop (ordinateur portable) et le prix était intéressant avec cette carte, et secondo j'utilise de temps en temps un kernel RT qui ne marche pas avec les pilotes nvidia. Donc je sais, j'ai pas une bonne config, mais je suis pas le seul. Et quand bien même, un matériel ne doit pas engendrer un souci de ce genre alors qu'il est récent.

Soit dit en passant, bien que le bug soit là, on apprécie tout de même d'avoir utilisé des logiciels libres. Car si tout ce que j'utilise était propritaire, je n'aurai pas de solution pour contourner le problème. Là, encore une fois, en suivant quelques indications, on arrive à se dépêtrer d'un gros problème parce que nous pouvons compiler et/ou modifier des sources.

Alors dans notre malheur, vous et moi qui avons des soucis avec cette radeon, réjouissons nous de pouvoir travailler en mode dégradé grâce à la philosophie du logiciel libre, et de ne pas rester coincé !