Linux Xgl SuSE Acer 3023 WLMI
ajouté le Dimanche 29 avril 2007 à 23:23:13 par christophe
Ce tutoriel fait suite à l'installation de Fedora Core 4 sur un acer 3023 WLMI en juillet 2005. Depuis un bien joli cadeau est arrivé ce jeudi 11 mai 2006 : il se nomme SuSE 10.1. Plus simple, plus puissante et vraiment de toute beauté, c'est à mon avis la meilleure distrib pour ordinateur portable (et sans compter son côté facile d'utilisation pour les débutants).
Plan de l'article :
- Installation d'OpenSuSE 10.1 (45min).
- Carte graphique ATI (10min).
- Xgl et Compriz (15min).
- Acer et les Hotkey (5min).
- La carte wifi broadcom (5min).
- Gestion de l'énergie et du processeur (5min).
Les nouveautés :
- Kernel 2.6.16
- Gnome 2.12
- Prise en charge de quasiment tout le matériel ! (gestion d'énergie et de la batterie, modem, wifi, sensors...).
- Xgl et Compiz pour votre bureau !
Installation d'OpenSuSE 10.1
Grâce son installeur graphique, les différentes opérations d'installation se font très facilement : les utilisateurs débutants n'ont qu'à cliquer sur suivant et les confirmés peuvent passer en mode expert.
- téléchargez, gravez et bootez sur le 1er CD d'installation.
- Au premier écran choisissez "installation". (à proscrire le choix avec acpi=off qui nous empêcherait d'avoir la gestion d'énergie et le niveau de la batterie).
- Partitionnez le disque.
- Au moment du choix des packages n'oubliez pas d'ajouter : "make", "gcc" et "kernel-source" indispensable à l'installation du driver ATI.
- Après plusieurs écrans et une fois les fichiers copiés (40min après), l'installeur tente de configurer le matériel de votre portable :
- la carte graphique ATI X700 est reconnue.
- l'écran est déclaré en tant que 15.4' d'une résolution de 1280*800 en 24bit.
- le modem 56k a été trouvé
- le touchpad fonctionne !
- Redémarrage.
Une fois l'installation terminée, on remarque agréablement que tout fonctionne (ou du moins ne plante pas ;). Après un état des lieux on observe que :
- glxinfo : MESA comme driver graphique. Pas le top, c'est pourquoi on va installer le driver ATI.
- cat /proc/cpuinfo : seulement 800Mhz, un niveau de batterie, le symbole de prise secteur. Pas de doute la gestion d'énergie marche belle et bien !
- les boutons en façade et sur le clavier ne marchent pas ! (sauf la luminosité).
Carte graphique ATI X700
Comme on vient de le voir, le driver de la carte est pour l'instant MESA. Nous allons installer celui fourni par ati : fglrx. A noté que malgré son numéro de version et le nombre de bug corrigé à chaque fois, ce driver reste toujours de très mauvaise qualité comparé à ceux de Nvidia. Et pour cause, ATI rechigne à consacrer du temps développeur. L'installation s'est faîte grâce à l'excellent tuto de e@ZYvg dont j'ai repris les screens, traduit les phrases en french et détaillé certains passages plus spécifiques à la X700 sur le acer.
On nettoie un peu le kernel (cela évite certains problèmes lors de la création du driver en rpm)
# cd /usr/src/linux
# make mrproper
# make cloneconfig
# make modules_prepare
# make clean
Téléchargez la dernière version du driver ATI.
$ wget https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-8.24.8-x86.run
Le reste des commandes doit se faire hors de l'environnement graphique avec le serveur X arrêté.
# init 3
On doit transformer le driver propriétaire ATI en un package RPM pour ensuite être installé.
# sh ./ati-driver-installer-8.24.8-x86.run --buildpkg SuSE/SUSE101-IA32
On installe ensuite ensuite le package. Pour ceux qui auraient eu des problèmes à la compilation, voilà celui que j'ai généré.
# rpm -ihv fglrx_6_9_0_SUSE101-8.24.8-1.i386.rpm
Pour éviter une erreur de chargement «error while loading shared library libfglrx_pp.so.1» il faut recharger la configuration
# ldconfig
On lance l'utilitaire de configuration d'ati. Prenez bien garde d'effectuer une sauvegarde de votre xorg.conf auparavant (on sait jamais ;)
# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
# aticonfig --initial --input=/etc/X11/xorg.conf
Suse va ensuite configurer la carte graphique pour nous :
# sax2 -r -m 0=fglrx
Attention en lancant cette commande, sax2 va tenter d'ouvrir une session graphique. Une boite de dialogue va s'ouvrir vous demandant si vous désirez changer la configuration. Ne faites rien et cliquez simplement sur OK ce qui devrait nous faire revenir en mode texte. Ca peut-être plus ou moins long. A cet instant j'ai eu droit à un beau freeze (bug du driver ATI lors d'un switch init5 vers init3 a en croire la troobleshooting list). Si comme moi, vous avez aussi planté, ce n'est pas grave, stoppez l'ordinateur et redémarrez simplement la machine. Pour ceux qui n'auraient pas planté rebootez l'ordinateur reboot.
Vérification de l'accélaration graphique : faisons péter les FPS !
# glxgears
20715 frames in 5.0 seconds = 4143.023 FPS
Une ultime vérification consiste à ouvrir votre fichier xorg.conf et vérifier que 3 paramêtres apparaissent clairement sous peine de complètement freezer X au bout de 5min :
# gedit /etc/X11/xorg.conf
Section "Module"
...
SubSection "extmod"
Option "omit xfree86-dga" #Dont initialise the DGA extension
EndSubSection
...
Load "dri"
EndSection
Section "Device"
BoardName "Mobility Radeon X700 5653 (M26) (PCIE)"
BusID "PCI:1:0:0"
Driver "fglrx"
...
...
...
Option "UseInternalAGPGART" "no"
Option "KernelModuleParm" "agplock=0"
EndSection
Installation de Xgl et Compiz sur Gnome
Tout d'abord il faut bien comprendre que Xgl et Compiz sont encore au stade de développement et pour l'instant fournis en tant que package supplémentaire sur certaines distributions (SuSE, Ubuntu, Fedora). En effet, la machine doit disposer d'une carte graphique assez puissante avec un vrai driver : pour l'instant seul les cartes Nvidia (driver assez bien fait) et ATI (driver encore limite) sont supportés. Pour notre plus grand bonheur, Xgl reste tout même assez stable sur l'acer avec l'ATI X700. (il y a cependant quelques bugs).. Tout ceci aurait été impossible sans le guide de Novell que j'ai ici adapté pour la carte ATI.
Il est impératif d'avoir installé les paquets «make», «gcc» et «kernel-source» avant de continuer ! (utilisez YaST pour cela).
Lancez YaST Recherchez et sélectionnez Xgl
Recherchez et sélectionnez Compiz
Cliquez sur ACCEPTER pour installer les packages.
On doit ensuite éditer notre fichier xorg.conf pour ajouter quelques lignes tout à la fin. Ouvrez un terminal :
# gedit /etc/X11/xorg.conf
Section "Extensions"
Option "Composite" "off"
EndSection
On doit aussi éditer le displaymanager et modifier 2 variables :
# gedit /etc/sysconfig/displaymanager
DISPLAYMANAGER_XSERVER="Xgl"
DISPLAYMANAGER_XGL_OPTS="-accel glx:pbuffer -accel xv:pbuffer"
(Attention dans certains guides on peut voir xv:fbo. Cette option est réservée aux cartes Nvidia !).
Enregistrement de la configuration du système
# SuSEconfig
Il ne reste plus qu'à supprimer l'ancien lien symbolique de X et le remplacer par notre Xgl
# rm /var/X11R6/bin/X
# ln -s /usr/X11R6/bin/Xgl /var/X11R6/bin/X
A ce stade Xgl est installé. On doit configurer gnome pour qu'il utilise le gestionnaire Compiz au lieu de metacity. Ce qui s'applique par la suite n'est applicable que pour Gnome, dans un terminal :
# gnome-session-properties
Cliquez sur Ajouter et tapez compiz --replace dans la boite de dialogue.
Cliquez sur Ajouter et tapez gnome-window-decorator dans la boite de dialogue.
Vous devriez voir :
Vous pouvez maintenant fermer la session (Ctrl+ALT+BackSpace) ou reboot. Au prochain redémarrage le bureau sera cadencé avec Xgl !!
- Après l'installation de Xgl, le direct rendering ne fonctionne plus avec un message d'erreur courrant : Xlib: extension "XFree86-DRI" missing on display ":0.0". Il ne faut pas confondre le direct rendering et l'accélération matérielle : Plus d'explications en lisant la FAQ.
- le démarrage du serveur X peut-être long avec un affichage instable durant son initialisation. Je met 2min de l'allumage à la connexion au login avec à chaque fois 2 tentatives de lancement de X. Je vous rappelle que c'est tout de même encore en développement...
- Sous firefox lors du chargement d'une page contenant du flash, il y a parfois un plantage des menus : on ne peut plus ouvrir de boîtes de dialogues sur tout le système. Solutions : relancer firefox.
- Sur certaines applications java (et le JRE 1.5 d'installé), la fenêtre reste entièrement vide. ''(ex: phénomène de blank window sur frostwire)
- au lancement d'un jeu, une boite de dialogue vous indique que vous n'avez pas de carte 3D. Passez outre, ça devrait marcher. Je vous rappelle que Xgl arrive en tant que composite. Faîtes un glxgear vous n'avez plus qu'un lamentable 1200FPS. C'est normal, en attendant AIGLX ...
- Certaines fenêtres se perdent sur une des faces du cubes (ex: au lancement de Mplayer).
- pour continuer à regarder vos films, n'oubliez pas de changer la sortie vidéo sur votre lecteur préféré (vlc, Mplayer, Xine) en X11 au lieu de Noxv...
Le reste marche parfaitement bien. Amusez-vous ;)
Acer et les Hotkeys
Pour pouvoir bénéficier de toute les touches de notre acer (les touches fonctionnelles fn ainsi que l'activation du wifi) il faut installer un module qui se chargera du mapping : On télécharge acerhk v0.5.33 et on décompresse
$ wget http://www2.informatik.hu-berlin.de/~tauber/acerhk/archives/acerhk-0.5.33.tgz
$ tar -xzvf acerhk-0.5.33.tgz
$ cd acerhk-0.5.33
On compile le module
# make acerhk.ko
make -C /lib/modules/`uname -r`/build SUBDIRS=/home/high/Download/acerhk-0.5.33 modules
make[1]: Entering directory `/usr/src/linux-2.6.16.13-4-obj/i386/default'
make -C ../../../linux-2.6.16.13-4 O=../linux-2.6.16.13-4-obj/i386/default modules
CC [M] /home/high/Download/acerhk-0.5.33/acerhk.o
Building modules, stage 2.
MODPOST
CC /home/high/Download/acerhk-0.5.33/acerhk.mod.o
LD [M] /home/high/Download/acerhk-0.5.33/acerhk.ko
make[1]: Leaving directory `/usr/src/linux-2.6.16.13-4-obj/i386/default'
On copie le module dans les sources du noyau
# cp acerhk.ko /lib/modules/2.6.16.13-4-default/extra
On met à jour les dépendances entre les modules du noyau
# depmod -a
Pour charger automatiquement le module lors du démarrage ajoutez ces 2 lignes dans le /etc/init.d/boot.local
modprobe acerhk autowlan=1 poll=0 verbose=3 usedritek=1
echo 1 > /proc/driver/acerhk/wirelessled
Au prochain redémarrage, appuyez sur le bouton wifi qui est en facade. Si tout se passe bien :
# dmesg
acerhk: translated acer key code 0x30 to key name 0x8
acerhk: translated acer key name 0x8 to input key 0x93
Carte ATI BroadCom Wifi 802.11g
La carte wifi intégrée à l'acer 3023 est une ATI Broadcom. Contrôlée en hardware par le bouton en façade, il faut installer un driver (acerhk) qui va se charger du mapping des touches de l'acer ! Si vous l'avez déjà installé, vous pouvez continuer sinon installation de acerhk.
Installez ndiswrapper avec YaST
On récupère le driver windows et on l'installe avec ndiswrapper
# wget http://www.dafphp.net/download/11
# tar -xzvf bcmwl5.tar.gz
# ndiswrapper -i bcmwl5.inf
Pour vérifier que tout est bien installé
# ndiswrapper -l
Installing bcmwl5
Forcing parameter IBSSGMode|0 to IBSSGMode|2
Forcing parameter IBSSGMode|0 to IBSSGMode|2
On charge le module en mémoire
# modprobe ndiswrapper
Vérification
# dmesg
ndiswrapper: module not supported by Novell, setting U taint flag.
ndiswrapper version 1.10 loaded (preempt=no,smp=no)
ndiswrapper: driver bcmwl5 (Broadcom,12/22/2004, 3.100.46.0) loaded
ACPI: PCI Interrupt 0000:06:05.0[A] -> GSI 21 (level, low) -> IRQ 169
ndiswrapper: using irq 169
wlan0: vendor: ''
wlan0: ndiswrapper ethernet device 00:0e:9b:c4:87:cb using driver bcmwl5, 14E4:4318:1468:0311.5.conf
wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK
Enregistrement des paramètres (va ajouter une ligne dans le modprobe.conf)
# ndiswrapper -m
Adding "alias wlan0 ndiswrapper" to /etc/modprobe.d/ndiswrapper
Pour charger automatiquement le module lors du démarrage ajouter ces 2 lignes dans le /etc/init.d/boot.local
modprobe ndiswrapper
iwconfig wlan0
Après, il ne vous reste plus qu'à configurer la carte avec le Network Manager.
Gestion énergie et du processeur
En temps normal, le processeur fonctionne à plein régime. Un petit test :
$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 28
model name : Mobile AMD Sempron(tm) Processor 3000+
stepping : 0
cpu MHz : 1800.809
cache size : 128 KB
Lorsque l'on a besoin de puissance c'est bien, mais si on préfère un niveau sonore moindre (et oui : le proc chauffe, ça mange jusqu'à 85W, tire beaucoup sur la batterie, et fait tourner le ventilo à fond), gagner un peu de batterie, baisser la fréquence devient la seule solution ! Sous SuSE 10.1, il existe le daemon powersaved (équivalent à cpuspeed) qui va ajuster en fonction des besoins la fréquence du proc : Lancez le daemon
# /etc/init.d/powersaved start
On peut maintenant vérifier :
$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 28
model name : Mobile AMD Sempron(tm) Processor 3000+
stepping : 0
cpu MHz : 800.359
cache size : 128 KB
Le tour est joué. Lors d'une monté en charge (Quake3, UT2004...) la fréquence va automatiquement être réajustée...
Ressources :