Ceci est une ancienne révision du document !



OpenChrome: S3 Unichrome

OpenChrome est un projet de pilote libre pour les puces graphiques VIA/S3G UniChrome et UniChrome Pro (CLE266, KN400, KM400, K8M800, PM800, CN400, VN800, K8M890 Chrome9 IGP).

Pour de plus amples informations sur le projet, visitez http://www.openchrome.org/ (en anglais).

Ce tutoriel vous aidera à compiler les fichiers sources du projet pour Ubuntu 6.06 (Dapper), 6.10 (Edgy) et suivantes. Cela devrait aussi fonctionner sur la distribution debian et les distributions basées sur Debian comme Kanotix et Knoppix.

Si le tutoriel ne marche pas pour certains, se rendre sur la page de Documentation anglophone : https://help.ubuntu.com/community/OpenChrome

Installez les paquets nécessaires à la compilation

Sous Ubuntu 8.10 (Intrepid):

sudo apt-get build-dep xserver-xorg-video-openchrome 

Sous Ubuntu 6.10 (Edgy) (et probablement suivants, fonctionne sous 8.04), tapez dans un terminal :

sudo apt-get build-dep xserver-xorg-video-via

Sous Ubuntu 6.06.1, Debian et les distributions basées sur Debian, tapez :

sudo apt-get build-dep xserver-xorg-driver-via

Vous devez aussi installer les outils de compilation suivants :

sudo apt-get install subversion autoconf automake1.9 libtool git-arch 

Pour compiler les sources 3D vous aurez aussi besoin des fichiers d'entêtes 1) :

sudo apt-get install linux-headers-`uname -r`

Compilons gaiement !

Nous allons maintenant compiler les sources.

Créez un nouveau répertoire et allez dedans :

mkdir openchrome
cd openchrome

Pour toutes les puces autres que K8M890, téléchargez les sources avec :

svn co http://svn.openchrome.org/svn/trunk/

Pour la puce K8M890 tapez la ligne suivante à la place :

svn co http://svn.openchrome.org/svn/branches/release_0_3_0/
Si vous ne savez pas quelle puce est installée, tapez auparavant :
sudo lshw | grep K8M890

Si grep retourne une puce, c'est que vous aurez besoin de la version spéciale K8M890.

Allez dans le répertoire des sources

cd trunk

Pour la puce K8M890 tapez ce qui suit à la place :

cd release_0_3_0

La ligne de commande suivante prépare l'installation des pilotes :

./autogen.sh --prefix=/usr/

Compilez les sources :

make

Installez les pilotes :

sudo make install

Prise en compte des pilotes openchrome par le serveur graphique

Avant de passer à la procédure d'installation, je vous conseille de faire une sauvegarde de votre fichier « xorg.conf » (qui est le fichier de configuration du serveur X) :

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.backup

Ainsi, en cas de problèmes, il suffit de restaurer l'ancien fichier, ceci vous évitera peut-être bien des maux de tête :

sudo cp /etc/X11/xorg.backup /etc/X11/xorg.conf

Éditez le fichier xorg.conf pour adopter le pilote « via » :

sudo gedit /etc/X11/xorg.conf

Allez dans la section « "Device" » :

  Section "Device"

et changez

  Driver		"blahblah"

pour

  Driver		"via"
Attention, pour la version 0.3.0, il ne faut plus utiliser "via" mais "openchrome" !

Enregistrez le fichier.

Au final, relancez l'interface graphique X par la combinaison de touches <Ctrl><Alt>< ↔

Attention

Si le serveur graphique Xorg ne se relance pas (vous aurez un écran bleu avec des symboles bizarres et du texte en anglais), il faudra soit rétablir la version sauvegardée de xorg.conf, soit éditer de nouveau le fichier xorg.conf pour remettre l'ancien pilote dans la section Device. Notez la ligne de commande suivante avant de relancer :

sudo nano /etc/X11/xorg.conf

Pour savoir si la 3D est activée (mais ça m'étonnerait franchement beaucoup), tapez

 glxinfo | grep rendering

vous devriez obtenir une ligne du style

  Direct rendering: Yes

À moins que ça ne fasse planter votre serveur X. :-D

Si ca ne marche pas, vous pouvez toujours tenter les manips suivantes (c'est un peu long et sans garantie) :

Il y a de fortes chances que ça ne fonctionne pas sous Edgy car la version de mesa dri installée, 6.5, a subi des régressions par rapport à la version 6.4 (celle qui est recommandée par le projet OpenChrome).

Revenez dans votre répertoire personnel :

cd ~

Récupérez le code source du DRM 2), 4 Mio environ :

git-clone git://anongit.freedesktop.org/git/mesa/drm

Compilez les sources « libdrm »

La bibliothèque est en général déjà installée sous Edgy ; à n'installer que si vous souhaitez avoir la dernière version.

Allez dans le répertoire des sources de « libdrm » :

cd drm

Préparez l'installation :

./autogen.sh --prefix=/usr

Compilez les sources :

make

Installez les fichiers compilés :

sudo make install

Compilez les modules DRM du noyau Linux

Cette étape ne devrait pas être nécessaire sous Edgy car les pilotes sont installés par défaut. Vous devrez tout de même lancer les modules « drm » et « via » (voir plus loin).

Pour la puce K8M890, la compilation sera nécessaire avec en plus l'adjonction d'un patch sur le fichier « dri_pciids.txt » pour y adjoindre le support de cette puce : http://www.openchrome.org/trac/attachment/ticket/82/drm_k8m890.patch. Vous trouverez ce fichier dans le répertoire « ~/drm/shared-core ».

Revenez dans votre répertoire personnel :

cd ~

Allez dans le répertoire du module et compilez les modules du noyau :

cd drm/linux-core
make LINUXDIR=/lib/modules/`uname -r`/build DRM_MODULES=via

Copiez les modules du noyau au bon endroit

sudo cp *.ko /lib/modules/`uname -r`/kernel/drivers/char/drm/

On lance « depmod » pour régénérer les dépendances du noyau :

sudo depmod -ae

On lance les modules :

sudo modprobe drm
sudo modprobe via

Refaites le test « glxinfo ». Si c'est bon, tant mieux, il vous reste à inscrire les modules pour qu'ils se lancent au démarrage de votre machine

sudo echo "drm" >>/etc/modules
sudo echo "via" >>/etc/modules

Sinon, il vous reste toujours la 2D : c'est mieux que rien !

Mon système se glace avec des applications OpenGL, des jeux, ecran de veille, ou avec Wine

Ceci est dû à un bug dans drm. Pour y remédier ouvrez xorg.conf et remplacer load par Disable :

    Section "Module"
       ...
       Disable    "dri"
       ...
    EndSection

Cela aura pour effet de supprimer l'accélération 3D et d'avoir un rendu logiciel à la place d'un rendu matériel, mais votre système ne se glacera plus.

Je n'ai pas d'image lorsque je lis des vidéos

Cela arrive le plus souvent sur des ordinateurs portables et est dû au fait que Openchrome ne gère pas correctement Xv ? sur certains modèles. Vous pouvez essayer de changer le pilote vidéo de votre lecteur (dans Xine) pour "gl" ou "x11" et tester. Ce problème n'apparaît plus lorsqu'on utilise un moniteur externe. Les développeurs du projet Openchrome travaillent sur la résolution du problème.

Avec VLC : Ouvrez VLC, puis cliquez sur Paramètres ⇒ Préférences ⇒ Vidéo ⇒ Output Modules, cocher la case « Options Avancées », puis changer le mode de sortie vidéo pour le mode « X11 ». extrait de http://doc.ubuntu-fr.org/aiglx , ça fonctionne très bien avec VIA/S3G UniChrome Pro IPL de mon portable.

Ma souris disparait parfois

C'est un bug connu qui affecte la gestion des puces VN800 et VM800. Vous pouvez essayer d'ajouter l'option suivante dans la section Device de « xorg.conf » :

        Option          "SWCursor" "true"

Je n'ai plus de 3D après une mise à jour du noyau linux

Si vous avez installé manuellement les DRM du noyau, il va vous falloir les recompiler à nouveau avec les nouveaux headers du noyau. la procédure est la même que celle déjà expliquée.

Contributeurs : :?:


1)
La commande uname -r donne la version de votre noyau Linux.
2)
Module de rendu 3D du noyau.
  • openchrome.1233390320.txt.gz
  • Dernière modification: Le 18/04/2011, 14:45
  • (modification externe)