AAAAAAAAAAAH! Ce soir je viens de réaliser l’impossible! J’ai fait fonctionner Compiz via XGL, sur un ordinateur portatif qui a une carte vidéo ATI Radeon Mobility M7 (7500). En utilisant juste les drivers open source! Comme je suis encore sous le choc de l’exploit et que c’est frais dans ma mémoire, je vais détailler les instructions ici.
Mon sauveur de la soirée est stevenincleelum, que j’ai trouvé dans ce thread à l’aide de Google
I have a VPR Matrix 175 it has the same inyards as a Samsung P-10. Inside is a Radeon Mobility 7500. These steps are a conglomeration of things I have found from gentoo wiki, ubuntuforums, Compiz forums, etc.
Ce même tutorial est basé sur celui-ci, alors je vais fusionner les deux ensemble pour que ça soit propre.
1. S’assurer qu’on a de l’accélération 3D déjà. Si direct rendering = Yes, on en a. Sinon, il faut en avoir. Démmerdez-vous 🙂
glxinfo | grep direct
2. Rajoutez les dépôts dans /etc/apt/sources.list
- deb http://www.beerorkid.com/compiz/ dapper main
- deb http://xgl.compiz.info/ dapper main
Faites aussi ceci pour pas qu’on se fasse chier avec la clé non-présente:
wget http://www.beerorkid.com/compiz/quinn.key.asc -O - | sudo apt-key add -
3. Mettez tout à jour
sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get install compiz xserver-xgl libgl1-mesa xserver-xorg libglitz-glx1 compiz-gnome
Si par malheur vous avez une erreur comme celle-ci: /var/cache/apt/archives/xserver-xgl_7.0machin.deb: trying to overwrite `/usr/share/man/man1/Xserver.1x.gz’, which is also in package xserver-xorg-core
Exécutez cette commande:
sudo dpkg-divert --package xserver-xgl --divert /usr/share/man/man1/Xserver.1x.gz.xgl --rename /usr/share/man/man1/Xserver.1x.gz
4. Fabriquez quelques scripts de démarrage pour XGL. Ceci est un peu différent de la méthode habituelle qui consiste à modifier gdm.conf-custom. Cette technique a du bon sens, alors je la conserve ici parce que c’est pas bête du tout, ça permet d’être moins mal en point si jamais ça ne marche pas.
sudo nano /usr/bin/startxgl.sh.
Insérez le contenu suivant:
#!/bin/bash Xgl -fullscreen :1 -ac -accel glxbuffer -accel xv:fbo & sleep 2 && DISPLAY=:1 gnome-session
Enregistrez le fichier, fermez-le, et maintenant on va créer un lanceur automatique qui va le rajouter dans le menu de sessions GNOME.
sudo nano /usr/share/xsessions/xgl.desktop
Insérez le contenu suivant:
Desktop Entry Encoding=UTF-8 Name=XGL Exec=/usr/bin/startxgl.sh Icon= Type=Application
Enregistrez et fermez ce fichier. Exécutez la commande suivante pour changer les permissions des deux fichiers qu’on vient de créer:
sudo chmod 755 /usr/bin/startxgl.sh && sudo chmod 755 /usr/share/xsessions/xgl.desktop
5. Ajoutez radeon aux modules démarrés automatiquement
sudo nano /etc/modules
Ajoutez une ligne où il est simplement écrit: radeon
6. Remplacez (ou modifiez) /etc/X11/xorg.conf avec le contenu suivant:
# /etc/X11/xorg.conf (xorg X Window System server configuration file) # If you have edited this file but would like it to be automatically updated # again, run the following command: # sudo dpkg-reconfigure -phigh xserver-xorg Section "Files" FontPath "/usr/share/X11/fonts/misc" FontPath "/usr/share/X11/fonts/cyrillic" FontPath "/usr/share/X11/fonts/100dpi/:unscaled" FontPath "/usr/share/X11/fonts/75dpi/:unscaled" FontPath "/usr/share/X11/fonts/Type1" FontPath "/usr/share/X11/fonts/100dpi" FontPath "/usr/share/X11/fonts/75dpi" # path to defoma fonts FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" EndSection Section "Module" Load "i2c" Load "bitmap" Load "ddc" Load "dri" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "type1" Load "vbe" EndSection Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc104" Option "XkbLayout" "us" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ExplorerPS/2" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "true" EndSection Section "Device" Identifier "ATI Technologies, Inc. Radeon Mobility M7 LW Radeon Mobility 9000" Driver "radeon" BusID "PCI:1:0:0" EndSection Section "Monitor" Identifier "Generic Monitor" Option "DPMS" HorizSync 28-51 VertRefresh 43-60 EndSection Section "Screen" Identifier "Default Screen" Device "ATI Technologies, Inc. Radeon Mobility M7 LW Radeon Mobility 9000" Monitor "Generic Monitor" DefaultDepth 24 SubSection "Display" Depth 1 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 4 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 8 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 15 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 16 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" EndSection Section "DRI" Mode 0666 EndSection
7. Ajustez la fréquence de rafraîchissement. Note: j’ai oublié de le faire la première fois, ça marche quand même. Mais ça donnera de meilleures performances si on le fait, assurément.
gconftool-2 --set --type boolean /apps/compiz/general/screen0/options/detect_refresh_rate "False" gconftool-2 --set --type integer /apps/compiz/general/screen0/options/refresh_rate "60"
8. Spécifiez les plugins actifs. Idem ici, je l’ai pas fait et ça marche quand même. Je considère que c’est plus sécuritaire de le faire cependant, ça doit permettre de pas avoir de plugins débiles (comme water)
gconftool-2 -s /apps/compiz/general/allscreens/options/active_plugins -t list --list-type=string "gconf", "decoration", "wobbly", "fade", "minimize", "cube", "rotate", "zoom", "scale", "move", "resize", "place", "menu", "switcher"
9. Redémarrez. NE POSEZ PAS DE QUESTIONS. Faites-le.
10. Utilisez la session “XGl”. Choisissez “XGl” dans le menu de sessions à l’écran de connexion. Vous sera alors présenté après un certain temps un écran entièrement pourri de bugs graphiques. C’est normal, moi aussi ça m’a fait sursauter.
alt-f2
Et exécutez:
compiz --replace gconf
Faites de même pour exécuter:
gnome-window-decorator
11. C’est terminé! Il n’y a plus qu’à mettre ceci dans les propriétés de la session pour le démarrage:
compiz --replace gconf && gnome-window-decorator &
Personnellement, l’écran de ce laptop est maintenant 1024×768. Mais je m’en contrefous. J’ai Compiz, c’est ça l’important. Dommage, c’est un peu flou vu que c’est pas la résolution native de 1400×1050, mais j’ai enfin XGL, tout le reste peut aller se faire foutre! Je suis un chat heureux 🙂
Comments
One response to “XGL & Compiz sur laptop ATI”
salut, super tuto et de l’espoir pour moi j’ai une 7500 aussi et je désesperai j’ai suivi ton tuto mais je tombe sur cette erreur:
/etc/gdm/PreSession/Default: Registering your session with wtmp and utmp
/etc/gdm/PreSession/Default: running: /usr/bin/sessreg -a -w /var/log/wtmp – u /var/run/umtp -x "/var/lib/gdm/:0.X servers" -h ""-l":0" "anthony"
/etc/gdm/x session: Beginning session setup…
X Error of failed request: Badlength (poly request too large or internal xlib length error)
Major opcode of failed request 144(GLX)
Minor opcode of failed request 1(X_GLX Render)
serial number of failed request: 101
current serial number in outputstream: 102
(gnome-session:5852):GTK-WARNING**: cannot open display
merci d’avance