Mesa 9 sur squeeze

Bon je me suis lancer un défit, arriver a avoir l’OpenGL 3 avec mes driver libre radeon r600g sur ma squeeze.
pour info:

$ lspci | grep Radeon 01:05.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RS780L [Radeon HD 3000]

$ glxinfo | grep Open OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD RS780 OpenGL version string: 2.1 Mesa 8.0.4 OpenGL shading language version string: 1.20

après quelque recherche, cela serai possible avec mesa 9.1.2 + kernel 3.9
j’ai donc compiler plus instaler le kernel 3.9.2 sans difficulté mi a par que c’est long…
a parementer il faut en premier up le kernel (sa c’est fait) puis libdrm2 puis mesa puis xserver-xorg-video-ati
Instalation des prés requit:

apt-get install build-essential git checkinstall
apt-get build-dep libdrm mesa
apt-get libtool libxcb-xfixes0-dev llvm-dev libudev-dev libexpat1-dev libxdamage-dev libxfixes-dev libxcb-dri2-0-dev libxcb-glx0-dev libx11-xcb-dev x11proto-gl-dev xutils-dev xserver-xorg-dev libxi-dev libxmu-dev x11proto-xf86vidmode-dev git-core autoconf automake libtool

il faux aussi installer libdrm2 2.4.44, qui bien sur n’est pas dans les dépots debian même en expérimental.
sa confirme ce que je penser du coup je me suis lancer la compilation libdrm2 2.4.39:

wget http://dri.freedesktop.org/libdrm/libdrm-2.4.44.tar.bz2 tar -xvzf libdrm-2.4.44.tar.bz2 $cd libdrm-2.4.44

[code]$./autogen.sh --prefix=/usr/ --libdir=/usr/lib/x86_64-linux-gnu/ --enable-libkms=yes --enable-intel=yes --enable-radeon=yes --enable-nouveau=yes



libdrm 2.4.44 will be compiled with:

libkms yes
Intel API yes
vmwgfx API yes
Radeon API yes
Nouveau API yes
OMAP API no
EXYNOS API no[/code]

$ make -j3 $ make install # en user pas en root sa install pas vraiment mais sa permet de lancer un chekinstall en root par la suite

[code]$ su -c checkinstall


======================== Installation successful ==========================

Copying documentation directory…
./
./README

Copying files to the temporary directory…OK

Stripping ELF binaries and libraries…OK

Compressing man pages…OK

Building file list…OK

Building Debian package…OK

Installing Debian package… FAILED!

*** Failed to install the package

Do you want to see the log file? [y]:

Erasing temporary files…OK

Writing backup package…OK
OK

Deleting temp dir…OK
[/code]
redémarrer en mode debug puis:

# cd /chemin ver deb libdrm2/ dpkg -i libdrm_2.4.39-1_amd64.deb
ce fichier deb remplace ceux si dans les dépot officiel (il écrase tous leur fichiers) est va rompre des dépendances:
libdrm2_2.4.33-3_amd64.deb libdrm-nouveau1a_2.4.33-3_amd64.deb
libdrm-dev_2.4.33-3_amd64.deb libdrm-radeon1_2.4.33-3_amd64.deb
libdrm-intel1_2.4.33-3_amd64.deb libkms1_2.4.33-3_amd64.deb
ils seront donc a réinstaller pour revenir en arrier.
j’ai modifier le deb initial pour le couper comme les deb officiels a installer dans cet ordre sa évite les rupture de dépendances ici libdrm-2.4.44_debs.tar.gz (1.07 MB)

dpkg -i libdrm2_2.4.44_amd64.deb dpkg -i libkms1_2.4.44_amd64.deb dpkg -i libdrm-intel1_2.4.44_amd64.deb dpkg -i libdrm-nouveau1a_2.4.44_amd64.deb dpkg -i libdrm-radeon1_2.4.44_amd64.deb dpkg -i libdrm-dev_2.4.44_amd64.deb

après redémarrage , toujours mon interface graphique :slightly_smiling: , j’ai rien cassé ouf.

cd Mesa-9.1.2 ./autogen.sh --prefix=/usr/ --libdir=/usr/lib/x86_64-linux-gnu/ --with-dri-drivers="" --with-gallium-drivers="r600" --enable-gallium-egl --enable-openvg --enable-gles1 --enable-gles2 --enable-texture-float --with-dri-driverdir=/opt/xorg/lib/dri/ LLVM_CONFIG=/usr/lib/llvm-3.0/bin/llvm-config --with-egl-platforms=x11,drm --enable-gbm --enable-shared-glapi --enable-glx-tls
ce termine par un jolie

ce qui veut sûrement dir que mes deb sont bien prit en compte dans le system.

me reste a trouver comment paramétré ma conf pour mesa --prefix=/usr/ --libdir=/usr/lib/x86_64-linux-gnu/ est peut ètre d’autre répertoire a modifier comme ou ce trouve gallium …

$ glxinfo | grep Open OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD RS780 OpenGL version string: 2.1 Mesa 8.0.5 OpenGL shading language version string: 1.20 OpenGL extensions: $ export LIBGL_DRIVERS_PATH=/home/toto/Mesa-9.1.2/x86_64-linux-gnu/gallium $ export LD_LIBRARY_PATH=/home/toto/Mesa-9.1.2/x86_64-linux-gnu $ glxinfo | grep Open OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD RS780 OpenGL version string: 3.0 Mesa 9.1.2 OpenGL shading language version string: 1.30 OpenGL extensions:

Qu’est-ce qui t’ennuie, que les libs compilées n’aillent pas se loger quelque part dans le système ? Bizarre, en effet, mais pour les premiers essais ce n’est peut-être pas un mal de les laisser parqués dans un coin. Sinon pour les mettre directement ailleurs je ne verrais guère que modifier le SConstruct ; ou même à la main, ces SConstruct étant souvent l’enfer…

oui c’est bien sa il a rien installer sur le système, du coût impossible de tester si j’arrive a avoir de l’opengl3.
je pence qu’il faudrait placer les différent fichier qui ce trouve dans Mesa-9.0/build/linux-x86_64 a différend endroit du système, le tous est de savoir ou

$ ls Mesa-9.0/build/linux-x86_64 bin egl gallium glsl glx lib mapi mesa
pour le contenu de bin je pense a /usr/bin ou /usr/local/bin
pour lib a priori c’est dans /usr/lib/x86_64-linux-gnu/

Si je comprends bien, ce que tu veux, c’est l’accélération matérielle de ta carte, ce que le driver libre, en son état actuel, ne permet qu’incomplètement ? Dans ce cas il y a une chose à essayer :

  • ouvrir un terminal ;
  • exporter un LD_LIBRARY_PATH de l’endroit où sont actuellement tes libs de Mesa 9, donc ton build de Scons ;
  • immédiatement après, toujours de ce terminal, lancer une appli graphique, Glxgears, Blender ou n’importe quoi que tu as.

Cela te dira tout de suite quoi, et entre autres tu verras s’il y a des messages d’erreur. Il m’est arrivé de faire ce genre de chose pour comparer les différentes réactions de mes modeleurs 3D, et j’ai été tout de suite renseigné sur ce que je voulais savoir. Ensuite, il sera toujours temps, si l’expérience est concluante, de réfléchir à l’endroit où poser définitivement ces libs ; perso j’éviterais les répertoires système, car tu ne sais pas ce que te réserve l’avenir en matière de drivers, je verrais plutôt le /usr/local, qui est dans le LD_LIBRARY_PATH standard et, je crois, en tête. Il faudrait également bien repérer où sont les librairies graphiques, s’il y en a, correspondant au driver libre, histoire de faire le point.

Salut,
Les commandes, il faut les commandes!

j’ai ajouter les infos pour la compilation est install du kernel 3.6.3 ici

bonne nouvelle sa avance .
pour la compilation de mesa j’utilise plus la méthode avec scons car je voi pas comment passer de paramètres.
bref un peut de lignes de commandes pour ce faire plaisir :wink:

$ apt-get build-dep libdrm mesa xserver-xorg-video-ati xorg-server $ apt-get install libxcb-glx0-dev libxmu-dev libxi-dev llvm-3.1-dev git autoconf libtool make flex bison libxcb-xfixes0-dev libxcb-dri2-0-dev libudev-dev libx11-xcb-dev python-lxml libbison-dev libvdpau-dev checkinstall $wget -c http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-9.0.tar.gz $cd Mesa-9.0 $autoreconf -vfi ... ... $./configure --prefix=/usr/ --libdir=/usr/lib/x86_64-linux-gnu/ \ --with-dri-drivers=r600 \ --enable-gallium-r600 \ --with-gallium-drivers=r600 \ --with-dri-drivers= \ --with-egl-platforms=x11,drm \ --enable-texture-float \ --enable-gles1 \ --enable-gles2 \ --enable-egl \ --enable-xa \ --enable-gallium-g3dvl \ --enable-glx-tls \ --enable-glu \ --enable-gbm \ --enable-gallium-gbm \ --enable-shared-glapi \ --enable-gallium-llvm \ --enable-openvg \ --enable-gallium-egl \ --enable-osmesa \ --enable-r600-llvm-compiler \ LLVM_CONFIG=/usr/lib/llvm-3.1/bin/llvm-config ... ... $ make -j1 ... ... ... $ cd x86_64-linux-gnu $ glxinfo | grep -i open OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD RS780 OpenGL version string: 2.1 Mesa 8.0.4 OpenGL shading language version string: 1.20 OpenGL extensions: $ export LIBGL_DRIVERS_PATH=`pwd`/gallium $ export LD_LIBRARY_PATH=`pwd` $ glxinfo | grep -i openOpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD RS780 OpenGL version string: 3.0 Mesa 9.0 OpenGL shading language version string: 1.30 OpenGL extensions:

a par quelque warning a la compile rien a signaler. le résultat semble marcher avec les export de variables , me reste donc a savoir comment pacager tous sa pour une install system.

Salut,

Ce sont ces commandes que je demandais, pas la façon de compiler un noyau.

Les paquets créés par checkinstall ne font pas l’affaire ?

non sa marche pas avec checkinstall sa me retourne une erreur de changement de droit .

[code]# checkinstall



/usr/bin/install -c -d /usr/lib/x86_64-linux-gnu/gallium
/usr/bin/install: impossible de changer les permissions de « /usr/lib/x86_64-linux-gnu/gallium »: Aucun fichier ou dossier de ce type
make[3]: *** [install] Erreur 1
make[3]: quittant le répertoire « /home/hulk/mesa/Mesa-9.0/src/gallium/targets/dri-r600 »
make[2]: *** [install] Erreur 1
make[2]: quittant le répertoire « /home/hulk/mesa/Mesa-9.0/src/gallium/targets »
make[1]: *** [install-recursive] Erreur 1
make[1]: quittant le répertoire « /home/hulk/mesa/Mesa-9.0/src »
make: *** [install-recursive] Erreur 1

**** Installation failed. Aborting package creation.

Cleaning up…OK

Bye.

[/code]

[quote=“hulk”]non sa marche pas avec checkinstall sa me retourne une erreur de changement de droit .

/usr/bin/install: impossible de changer les permissions de « /usr/lib/x86_64-linux-gnu/gallium »: Aucun fichier ou dossier de ce type [/quote]

Que donne:

[code]# mkdir /usr/lib/x86_64-linux-gnu/egl

mkdir /usr/lib/x86_64-linux-gnu/gbm

mkdir /usr/lib/x86_64-linux-gnu/gallium

checkinstall




Copying files to the temporary directory…OK
Stripping ELF binaries and libraries…OK
Compressing man pages…OK
Building file list…OK
Building Debian package…OK
Installing Debian package… FAILED!
*** Failed to install the package
Do you want to see the log file? [y]:
Erasing temporary files…OK
Writing backup package…
^C
*** SIGINT received ***
Cleaning up…OK
Bye.
[/code]

par contre l’install ce passe mal car il y a des conflit avec plusieurs paquet de bien , j’ai déjà rencontrer le problème avec libdrm2
je vais donc appliquer la même méthode a savoir identifier les paquet en conflit les télécharger pour un éventuel retour en arrière .
les décortiquer est me créer leur équivalent pour mesa 9.0.
une autre option reste l’install avec l’est option de forçage de dpkg mais je préfère évité.
bon j’ai pas la paciance ya trop de dépendance .
j’ai donc fait :

un redémarrage de machine est ouf sa marche encore.

glxinfo | grep -i open OpenGL vendor string: X.Org OpenGL renderer string: Gallium 0.4 on AMD RS780 OpenGL version string: 3.0 Mesa 9.0 OpenGL shading language version string: 1.30 OpenGL extensions:
plus besoins de modifier des variable env …
par contre sous 0ad c’est pas beaucoup mieux je gagne en virons 2 fps.

Bien joué.
Je pensais aussi qu’il manquait les fichiers, comme le message d’erreur le laissait supposer! :023