Note: ce billet sera enrichi et mis à jour régulièrement. Dernière mise à jour le 14 février 2007.

Copies d'écran

Tout d'abord, quelques copies d'écran pour appâter nos amies blondes en dispo, qui pourront ensuite aller vaquer à leurs occupations sans lire la partie technique ;)

fenêtres élastiques transparence floutée déplacement d'une application d'un bureau à l'autre exposé à la MacOS X mes bureaux en parallépipède rectangle à base hexagonale, vus de haut les bureaux vus par transparence du "cube", pendant le changement de bureau déplacement manuel du cube changement d'application en 3D (inutile, pas pratique, mais joli); le mode plus traditionnel, mais amélioré, existe aussi

Observez notamment les autres bureaux transparents en fond d'écran, la transparence floutée de la deuxième image, avec les bordures transparentes. Le changement d'application 3D (dernière image) est joli, mais en fait on ne l'utilise jamais, et il y a un mode plus traditionnel.

Paquets Debian précompilés

Je ne les ai pas essayés, mais ils sont disponibles ici. Et je ne sais pas de quand ils datent. Cependant, ils viennent du site du projet officiel, ils doivent être un minimum corrects :-)

Compilez et installez vos propres paquets Debian

Et maintenant, vous l'attendez tous: le mode d'emploi ! Attention, j'explique là comment installer la version de développement; attendez vous à des bugs, des plantages, etc...

Configuration de X

Tout d'abord, il faut suivre le tutoriel compiz sur le wiki Debian. Mais si vous avez une carte NVidia ou ATI, suivez d'abord les paragraphes suivants.

Avec une carte NVidia

Pour ceux qui ont une carte NVidia: les drivers 9xxx bêta sont dans la distrib experimental.

On peut rajouter la ligne suivante à son fichier /etc/apt/sources.list:

deb http://ftp.fr.debian.org/debian experimental main contrib non-free

Puis :

# apt-get update
# apt-get -t experimental install nvidia-kernel-source nvidia-glx nvidia-glx-dev
# apt-get install module-assistant

(J'avoue que je ne me rappelle plus trop de tout ici; il faut peut-être installer nvidia-glx* après avoir compilé le module noyau).

Puis :

# cd /usr/src
# m-a build nvidia-kernel-source
# dpkg -i nvidia-kernel-2.6.xx_1.0.9xxx*.deb

(remplacer les xxx par les valeurs adéquates).

Avec une carte ATI pas tout à fait récente

Beaucoup de choses sont expliquées dans le wiki d'ubuntu. Cette page explicite aussi les cartes ATI qui sont supportées par le pilote.

Avec une carte ATI récente

Avec une carte ATI récente, vous avez besoin du driver non libre fglrx... qui ne fonctionne pas pour l'heure avec AIGLX. Pour utiliser Beryl avec, il faut utliser Xgl, qui est hors du scope de ce post. Dommage... Mais si vous avez des infos, laissez un commentaire.

Pour mémoire, voici cependant les infos pour installer le pilote.

Il s'installe très facilement avec Debian :

# apt-get install module-assistant fglrx-driver fglrx-kernel-src fglrx-driver-dev
# cd /usr/src
# m-a a-i fglrx

Une version plus récente du driver se trouve dans experimental; elle n'est pas nécessaire pour beryl, mais peut l'être pour votre carte. Il faut alors s'inspirer de la méthode nvidia ci-dessus pour installer le pilote d\'experimental.

Après avoir installé les bons paquets, il faut utiliser ce pilote dans X. Faire :

# dpkg-reconfigure -plow xserver-xorg

et répondre aux questions.

Compilation de beryl

Installation des paquets Debian nécessaires

Je n'indique que ceux dont j'ai eu personnellement besoin; il est possible que j'avais déjà quelques paquets auparavant. Si la compilation échoue chez vous, c'est sans doute faute de l'un de ces paquets, et il sera indiqué quelques lignes avant la fin. Il suffira de l'installer puis de relancer l'installation.

# apt-get install automake1.9 intltool libstartup-notification0-dev python-all-dev python-pyrex librsvg2-dev libdbus-1-dev python-gtk2-dev libwnck-dev libglitz1-dev libglu1-mesa-dev debhelper libxdamage-dev libxcomposite-dev x11proto-gl-dev cdbs fakeroot libtool libjpeg62-dev

J'ai décidé de ne pas construire les paquets spécifiques à Gnome (car il faut la version 2.16 non disponible dans debian unstable) ou KDE (car j'ai pas KDE); ces paquets servent à utiliser le thème défini dans son environnement, mais beryl marche très bien avec son gestionnaire de thème maison. Si vous voulez construire ces paquets, installez respectivement :

# apt-get install libgconf2-dev libmetacity-dev libgnomeui-dev libgnome-desktop-dev libgnome-window-settings-dev
# apt-get install libqt3-headers kdebase-dev

Si vous n'utilisez pas de carte nvidia, il faudra aussi installer libgl1-mesa-dev.

Téléchargement des sources et configuration de la compilation

À partir de maintenant, on n'a plus besoin d'être en root.

Pour télécharger les sources, il suffit de faire une requête Subversion (et avoir subversion installé, bien sûr):

$ svn co svn://svn.beryl-project.org/beryl/trunk beryl/
$ cd beryl

Puis, il faut aller désactiver les packages spécifiques à KDE et Gnome: éditer le Makefile, et vers la ligne 63, effacer les lignes qui contiennent "aquamarine" (KDE) ou "heliodor" (Gnome), et supprimer aussi le backslash (\\) de la ligne précédente.

Enfin, surtout pour les personnes qui ont une carte NVidia, mais pour les autres ça ne changera rien, il faut aller éditer le fichier distro-specific-build-files/beryl-core/debian/control; rechercher libgl1-mesa-dev et le changer en libgl-dev.

Compilation et installation

Pour ça, ils ont fait un truc bien. Il suffit d'aller dans le répertoire racine des sources (où, normalement, vous êtes encore), et de taper :

$ make newdebs

Cela va compiler les sources, créer des packages debian, et les installer avec sudo; le processus demandera donc une fois votre mot de passe utilisateur.

En cas de problème, le message d'erreur devrait pouvoir vous aider... ou pas :-)

Test de l'installation

Normalement, il suffit de lancer le programme beryl-manager. Et là, magie magie, tout devrait s'animer :)

Configuration de Gnome

Il faut aller dans Bureau > Préférences > Sessions > Onglet "Programmes au démarrage", puis ajouter le programme beryl-manager.

Et normalement, au prochain lancement de Gnome, beryl sera automatiquement activé.

Note: si vous avez une carte NVidia, et que vous voulez utiliser le plugin de flou (blur), il faut utiliser le type de rendu Copy. Ça se configure en faisant un bouton droit sur l'icône en forme de joyau rouge dans le systray de Gnome, puis Options avancées de Beryl, puis Type de rendu, puis Copy.

Enfin, si vous utilisez des applications Swing avec Java > 5, il faut exporter la variable d'environnement suivante :

$ export AWT_TOOLKIT=MToolkit

Quelques raccourcis

Voici les quelques raccourcis que j'utilise tout le temps ou parfois, suivant les cas:

  • ctrl + alt + fleche : changer de bureau
  • alt + roulette de la souris sur une fenêtre: changer son opacité
  • roulette de la souris sur le bureau: changer de bureau
  • ctrl + alt + souris + déplacement : déplacer le cube manuellement avec la souris
  • souris en haut à droite du bureau : mode Exposé
  • souris en bas à droite du bureau : afficher le bureau
  • alt + tab : changer d'application dans le bureau courant
  • ctrl + alt + tab : changer d'application dans tous les bureaux
  • les 2 raccourcis précédents avec super[1] au lieu de alt: idem, mais avec de la 3D
  • ctrl + impr ecran + K : killer X si ça plante et que plus rien ne répond... Et il faut ensuite sans doute faire un killall beryl en root, avant de se reloger.

Sachez que tout est configurable, donc n'hésitez pas à faire un tour dans le configurateur !

Des problèmes restants

Le driver libre pour les cartes ATI utilise une méthode de rendering par logiciel pour gérer la transparence et le flou. Bref, à désactiver, sinon ça rame. (source: aide d'Ubuntu)

Mes fichiers de conf

À la demande générale, j'ai mis mes fichiers de conf en ligne. Honnêtement, il n'y a rien de formidable, j'ai pas touché à grand chose. J'ai activé quelques effets sympas (le flou avec la transparence, la transparence par défaut pour mon gnome-terminal et mon xchat, un effet aléatoire pour l'affichage d'une nouvelle fenêtre) mais c'est un peu tout.

Des docs supplémentaires

Voici quelques liens glânés:

Notes

[1] C'est la touche Windows sur les claviers de PC.