# [HOWTO] Installation de compiz-fusion

## loopx

Bonsoir, 

Voici un tit document expliquant comment installer compiz-fusion sur Gentoo (et autre) de facon "simple". Il peut aider certain qui voudrait avoir un beau bureau 3D utilisant le meilleur de compiz, à savoir : compiz-fusion ^^

Cette documentation sera completée petit à petit. Vos commentaires sont toujours aussi attendu   :Very Happy: 

Tout ca se passe ici :

http://pix-mania.dyndns.org/web_plugin/documentation/DocumentationServlet?action=showpage&id=5

Si le lien est cassé, voici une copie de la doc :

Gentoo - installation de compiz-fusion

Objectifs

Expliquer l'installation de "compiz-fusion", le gestionnaire de fenêtre 3D (et de bureau?).

Cette documentation prendre Gentoo Linux comme distribution mais poura être une "aide" pour l'installation de compiz-fusion sur d'autre distribution.

Qu'est-ce que compiz-fusion ?

Compiz-fusion, actuellement, est un gestionnaire de bureau/fenêtre; il permet de redessiner une fênetre ainsi que le bureau et de placer le tout dans un "univer 3D" ...

A première vue, compiz-fusion est un "cube" dont les 4 faces (cotés) sont les 4 bureaux présent sur Gnome/KDE. La face du dessus/dessous permettent l'affichage d'image. Il est également possible de placer une image de fond, truc panoramique permettant de présenter le "cube" dans un environement personalisé (sur une ile, dans l'espace, etc).

Actuellement, il est possible de modifier de plus en plus l'aspect du cube et des fênetres au plus grand bonheur des utilisateurs.

Voici une liste non exhaustive de ce que compiz-fusion permet :

- affichage des bureaux sur un cube (ou non selon le nombre de face)

- affichage des fênetres avec de multiple annimation (grâce au fait de faire passer la fênetre dans un univers 3D ...)

- tout est dynamique (si une video est en cours de lecture, elle le restera dans les miniatures de fenêtre, changement de faces etc...)

- plein de fonctionnalité en plus pour s'amuser, mais aussi mieux travailler!

- il y a même des écrans de veilles ...

- niveau développement, tout est "plugin" (module) et donc, ceux qui veulent peuvent en faire un qui pourra être intégré au packetage officiel

- le tout permet d'alléger la charge du processeur centrale (si il n'y a pas d'abu, bien sûr ...)

Pour plus de détail et d'information sur le développement, rendez-vous sur :

- http://www.compiz-fusion.org

Si vous souhaitez avoir une démonstration, il suffit de demander à youtube (rechercher "compiz-fusion") :

- http://youtube.com/results?search_query=compiz-fusion&search_sort=video_date_uploaded

Un peu d'histoire ...

Tout à commencé grâce à Novel ... C'est cette société qui à débuté le développement d'un gestionnaire de fenêtre 3D qui utiliserait la puissance des processeurs graphique (GPU). Après un certain temps de développement, Novel à décidé d'ouvrir le code au monde entier. C'est grâce à cela que "compiz" est né.

Très vite, les gens ont été fort intéressés par cette technologie qui permettait déjà quelques merveilles (en comparaison du bureau 3D développé par Sun ... et bien d'autre). Au début, il y eu beaucoup de changement, tant dans les serveurs, que dans les noms, que dans le code etc .... Puis il y eu un légé problème avec deux développeurs : l'un voulant stabilisé au maximum la bête tandis que le second voulais amélioré le tout dans le but d'apporter des nouveaux effects.

C'est ainsi qu'est né "beryl" qui est un "fork" de "compiz". Un "fork", c'est le fait de garder une même base (une sorte de copie) pour créer un autre projet, similaire mais différent. A chaque nouvelle version de "compiz", "beryl" utilisait cette nouvelle base. Beryl fut fort apprécié des testeurs qui permit d'apporter énormément de nouveauté en très peu de temps... Mais voilà, beryl commenca à devenir plus lourd aussi ... alors que "compiz" était toujours très fluide mais privé de forte amélioration niveau visuel.

Les deux projets ont ainsi été développés en parrallèle pendant plusieurs mois jusqu'a ce que ces deux même projets, né de divergence, finissent par converger... C'est de la qu'un troisième projet vu le jour. Il se nome "compiz-fusion" et c'est le fruit du meilleur travail fourni par "compiz" et "beryl". Ce nouveau projet à tout gagné : il possède la rapidité de "compiz" et les améliorations graphiques et fonctionnel de "beryl". Compiz-fusion, c'est le meilleurs des deux  :Smile: .

Voilà, actuellement, c'est "compiz-fusion" qui domine, de loin, tout autre projet de bureau 3D; c'est le meilleurs, et c'est pas rien de le dire  :Wink: 

Prérequis

- un pc qui peut être vieu, mais pas trop quand même (le mien à 6 ans et ca tourne  :Wink:  )

- une carte graphique digne de ce nom (principalement NVIDIA, ATI ou INTEL ...) et qui fait de la 3D ...

- pas beaucoup de mémoire vive (compiz-fusion ne consomme presque rien! Genre, si ca consomme 200Mo, c'est beaucoup!)

- une distribution Linux (bah oui, ca tourne que sur du "Linux based" ...)

Installation

Il faut installer plusieurs package. Si vous n'utiliser pas Gentoo, rendez-vous sur http://www.compiz-fusion.org pour télécharger les derniers package. Sous Gentoo, aucun souci, un petit emerge et hop, c'est installé :

```
# emerge compiz-fusion ccsm emerald -pv
```

(retirer le "-pv" pour valider)

- compiz-fusion (la base et les plugins)

- ccsm (l'utilitaire de configuration)

- emerald (décoration des fenêtres ... pour afficher la barre des titres par exemple)

Vous devriez obtenir quelque chose ainsi :

```
serveur loopx # emerge compiz-fusion -pv

These are the packages that would be merged, in order:

Calculating dependencies |

!!! All ebuilds that could satisfy "x11-wm/compiz-fusion" have been masked.

!!! One of the following masked packages is required to complete your request:

- x11-wm/compiz-fusion-0.6.0 (masked by: ~x86 keyword)

For more information, see MASKED PACKAGES section in the emerge man page or

refer to the Gentoo Handbook.

serveur loopx # ACCEPT_KEYWORDS="~x86" emerge compiz-fusion -pv

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild  N    ] x11-libs/startup-notification-0.9  221 kB

[ebuild  N    ] gnome-base/orbit-2.14.12  USE="-debug -doc" 729 kB

[ebuild  N    ] media-libs/glitz-0.5.6  449 kB

[ebuild  N    ] dev-python/pyrex-0.9.6.4  USE="-examples" 217 kB

[ebuild  N    ] x11-libs/compiz-bcop-0.6.0  69 kB

[ebuild  N    ] x11-libs/libwnck-2.20.3  USE="-debug -doc" 623 kB

[ebuild  N    ] gnome-base/gconf-2.20.1-r1  USE="ldap -debug -doc" 1,372 kB

[ebuild  N    ] x11-wm/compiz-0.6.2-r1  USE="dbus -debug -gnome -kde -svg" 1,743 kB

[ebuild  N    ] x11-plugins/compiz-fusion-plugins-main-0.6.0  USE="jpeg" 767 kB

[ebuild  N    ] x11-libs/libcompizconfig-0.6.0  314 kB

[ebuild  N    ] x11-wm/emerald-0.5.2  USE="-debug" 510 kB

[ebuild  N    ] dev-python/compizconfig-python-0.6.0.1  250 kB

[ebuild  N    ] x11-plugins/compiz-fusion-plugins-extra-0.6.0  2,240 kB

[ebuild  N    ] x11-themes/emerald-themes-0.5.2  1,528 kB

[ebuild  N    ] x11-apps/ccsm-0.6.0  407 kB

[ebuild  N    ] x11-wm/compiz-fusion-0.6.0  USE="-gnome -kde" 0 kB

Total: 16 packages (16 new), Size of downloads: 11,434 kB
```

Dans l'exemple précédent, noter le premier essais infructueux : certain package sont masqués et demande à être démasqué sans quoi, cette erreur sera affichée.

Pour éviter "simplement" le problème, l'ajout de ACCEPT_KEYWORDS="~x86" permet d'installer la version instable.

Je vous conseil de démasquer, un à un, (pour la bonne architecture) chaque paquet masqué. Le premier serait donc :

- x11-wm/compiz-fusion-0.6.0 (masked by: ~x86 keyword)

x11-wm/compiz-fusion à démasquer pour l'architecture ~x86

Pour le démasquer, utiliser cette commande :

```
echo "x11-wm/compiz-fusion ~x86" >> /etc/portage/package.keywords
```

qui ira rajouter le packet et l'architecture dans le fichier "/etc/portage/package.keywords".

Adapter cette dernière commande au autre packet masqué jusqu'a ce qu'il n'y ai plus aucune erreur. Retirer ensuite le "-pv" pour démarrer l'installation.

Démarrage

Deux possibilité de démarrer compiz-fusion :

- utiliser XGL

- utiliser X

Maintenant, avec l'avancée des drivers ATI, il n'est plus nécessaire d'utiliser XGL. Avec NVIDIA, il a toujours été possible de démarrer compiz-fusion via le serveur X (xorg). Cette documentation ne traitera donc pas du démarrage via XGL (qui est une sur-couche permettant le rendu OpenGL).

Pour démarrer compiz-fusion, il faut (pour bien faire) créer un petit script (fichier contenant quelques commande) que l'on nomera "compiz-fusion.sh".

Voici un exemple de "compiz-fusion.sh" (pour les cartes ATI) :

```
LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ \

LD_PRELOAD=/usr/lib/opengl/xorg-x11/lib/libGL.so \

LIBGL_ALWAYS_INDIRECT=1 \

compiz --replace ccp --sm-disable &

sleep 2

emerald --replace &
```

Dans l'exemple de script précédent, les 3 premières lignes dépendent du driver graphique utilisé (ici, c'est pour le driver libre ATI "radeon")

Noter que les "\" permettent de créer une "grande commande" (les 4 premières lignes ne sont en réalité qu'une seule, cela correspond à une seule commande).

Démarrage de compiz :

- compiz : démarrage de compiz-fusion

- --replace : remplacer le gestionaire de fenêtre (si existant ce qui est souvent le cas)

- ccp : démarrer compiz-fusion et charger le plugin CCP (qui est un plugin de configuration permettant de charger les autres plugins)

- --sm-disable : aucune idée ...

Noter le "sleep 2" qui permet de faire une pause de deux secondes, le temps de démarrer compiz-fusion

Démarrage de emerald (pour les bordures)

- emerald : démarre emerald

- --replace : remplace les bordures (si existante)

Une fois le script créé, il suffi de démarrer le serveur X (xorg) et ensuite, de démarrer le script. Avant de lancer le script, il faut le rendre exécutable :

```
$ chmod +x compiz-fusion.sh
```

ensuite, vous pouvez le lancer ainsi :

```
$ ./compiz-fusion.sh
```

Voilà, si tout se passe correctement (ca foire généralement les premières fois  :Very Happy:  ), compiz-fusion devrait être démarré ainsi que emerald. Si vous n'avez aucun effet, pas de bordure ou autre, pas de panique ... il est, dans ce cas, préférable de déjà configurer compiz-fusion. Pour ce faire, démarrer "ccsm" et activer les plugins souhaités. Retesté ensuite compiz-fusion.

Si vous rencontrez des problèmes, assurez-vous que ces points sont correctement effectués :

- vous utiliser le bon driver graphique

- les options du driver (fournie dans /etc/X11/xorg.conf) sont correcte

- AIGLX (si ATI) est bien activé

- la rendu direct 3D est bien activé (vérifiable via la commande "glxinfo")

- le fichier de configuration (~/.drirc) est présent et correct

- les options de démarrage de compiz et emerald sont correct (voir script "compiz-fusion.sh")

- la configuration de compiz-fusion est correct et pas défectueuse

- HAL doit être présent et actif

- vous avez les droits d'accès à la 3D de votre carte graphique (dri)

-- 

ndm : Un peu de mise en page pour rendre le tuto plus lisible et suppression des lignes obligeant à "scroller" en haut de la page.

----------

## nokernel

Je vais y jeter un oeil.

----------

## truc

Bon, j'disais rien parce-que y'a un réel effort et je ne veux pas spécialement le gacher, mais...finalement j'ose! N'avions nous pas tacitement convenu, qu'un howto sur ce forum se devait de se trouver effectivement sur sur le forum? À la limite, j'serai pas contre un lien pointant vers une version que tu pourras venter d'être à jour?

C'est juste sur le prinicpe que ça me gène, après j'dis ça j'dis rien...

----------

## Mickael

je plussoie

----------

## loopx

aller voir dans les howto du dessous, 

j'ai déjà expliqué

je ne ferait pas un copier coller, c'est un choix.

Mais merci d'apprécier le travail ...

----------

## truc

bon, si c'est déjà discuté plus bas, je ne vais pas m'étendre, mais bon:

ton travail sera perdu pour la communauté si tu stoppes tout, ton serveur plante ou que sais-je. Le risque que gentoo.org s'arrète est déjà moins fort.

Ensuite, s'il te plait, si tu veux vraiment qu'on aille sur ton site, enlève nous cette #·$!! de redirection, qui nous dit qu'on est pas loggé. ça fait vraiment penser à du spam (style tu balances des liens pour tes sites, juste pour gagner quelques visites, et ça ça fait vraiment mauvaise impression)

Voili-voilou, have fun  :Smile: 

----------

## loopx

J'essaie que ma plateforme soit accessible le plus possible, c'est pas un projet qui est sencé s'arreter ... (voir les informations sur le site ... ca explique un peu le projet).

Sinon, pour la redirection ... je sais que ca fait chier mais ... :

- tout est basé sur des "users", exactement comment Linux/Unix

- un système d'auto-login est mis en place (ce qui affiche le tit message)

maintenant, je pense que le problème est plus un truc lié à la session qui est un peu courte (30 minutes) ... je ne sais pas trop comment je pourrais régler cela ...

Je pourrais masquer la page mais ca sert à rien .. ou alors, l'afficher 1 seconde et non 3 ... 

Que choisir ????

EDIT: si un jour, je venais à stoper le serveur, stoper le projet ou un truc à long terme ...    je referais un coller ici  :Wink:     mais ce n'est pas le cas du tout pour l'instant   :Cool: 

----------

## SpiKK

Sympa ton howto mais je ne vois pas fusion-icon ?   :Rolling Eyes: 

Surtout que je trouvais ça pus simple, juste mettre fusion-icon dans le Autostart de Kde...

Là, en cas de crash, on relance comment ? avec le fusion-icon, il suffisait de choisir recharger le gestionnaire de fenêtre.Last edited by SpiKK on Thu Apr 10, 2008 2:31 pm; edited 1 time in total

----------

## kwenspc

 *loopx wrote:*   

> 
> 
> Sinon, pour la redirection ... je sais que ca fait chier mais ... :
> 
> - tout est basé sur des "users", exactement comment Linux/Unix
> ...

 

Ah nan mauvaise excuse ça, créés un user anonymous loggé par défaut puis c'est marre. Pas de redirection nécessaire. Si l'utilisateur souhaite s'authentifier en tant qu'user différent et bien il a qu'à cliqué sur un lien spécifique.

Ah sinon (rien à voir) on a déjà vu ton site plantouiller et afficher un beau rapport d'exception. Fais en sorte de chopper toutes les exceptions, faut pas que ça remonte à l'utilisateur finale.  :Wink: 

Mais sinon t'es sûr que tu voudrais pas passer ta doc sous format gentoo (ils ont des templates avec feuilles de style etc...) et le leur soumettre? (via un dev proxy) 

Ou sur le wiki gentoo je sais pas... elle largement d'assez bonne qualité pour ça (si c'est une appréhension quand à cette qualité qui te fais douter). Au pire ça y sera en doublon non?

----------

## loopx

 *SpiKK wrote:*   

> Sympa ton howto mais je ne vois pas fusion-icon ?  
> 
> Surtout que je trouvais ça pus simple, juste mettre fusion-icon dans le Autostart de Kde...
> 
> Là, en cas de crash, on relance comment ? avec le fusion-icon, il suffisait de choisir recharger le gestionnaire de fenêtre.

 

Très juste, en fait je ne l'utilise pas ... je vais y jetter un oeil  :Wink:   j'utilise plus trop compiz pour le moment, j'attend des news drivers radeon ^^

mais je regarderais pour le truc icon

@kwenspc

Pour les messages d'erreur, y a des modifs à faire (problème de multi-threading) mais je suis entrain de mettre en place la solution petit à petit ... fin ce serait bien si vous savez m'envoyer ces erreurs  :Wink:     il y a une section "rapporter une erreur" sur le site  :Wink: 

Concernant la doc, je n'ai pas l'intention de changer d'avis ... je ne suis pas de mauvaise fois; c'est juste que je préfère gérer via mon système ... puis publier le liens dans cette section histoire d'ajouter un howto spécifique à gentoo    :Rolling Eyes: 

EDIT2: je suis obligé de faire une redirection (visible ou non) histoire de logger le user anonyumous ... c'est juste que dans la session http, je place des choses vitale et donc, obligé de logger chaque user sinon, la plateforme web déconne (logique) ...

----------

## truc

ouaaaa, merci beaucoup au nom de tous ceux qui voudront! :p

----------

## davidou2a

Pour fusion-icon moi j'ai betement fait un 

./configure 

make 

make install

et mis fusion-icon en autolaunch dans mon DE...

Mais moi non plus je n'utilise deja plus Compiz, ça soule a la longue je trouve... seul avantage les bordures de fenêtres emerald, vu que je désactive tous les effets sauf le plugin expo qui est quand même vachement pratique pour bosser sous Gimp je trouve

----------

