XGL & Compiz sur laptop ATI5 min read

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 🙂

Jeff

Comments

One response to “XGL & Compiz sur laptop ATI”

  1. gabrieel Avatar
    gabrieel

    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