# Inormations sur &kappname;

Thomas Luebking thomas.luebking@web.de
&traducteurYohannHamon;
2005 Thomas Luebking
&FDLNotice;
2005-01-15
2.0.1

&kappname; est un moteur de rendu composite à utiliser avec &kwin;.

Ce document est plus une explication générale de ce qu'il fait, comment il fonctionne et quelles sont les restrictions plutôt qu'une documentation sur la façon de l'utiliser (puisque qu'il fonctionne automatiquement en arrière plan).

KDE kwin Moteur de rendu

## Introduction

&kappname; est basé sur xcompmgr, implémentation de référence par Keith Packards pour l'utilisation des nouvelles fonctionnalités du système X.

Un gestionnaire composite prélève la sortie de X windows et en fait une simple image qui sera affichée à l'écran. L'avantage de procéder de cette façon est que vous pouvez faire n'importe quoi avec le contenu de vos fenêtres, même les superposer (transparence) et ajouter des ombres. Vous pourriez également les teindres, ajouter une méchante publicité sur chaque fenêtre, les serrer, les diviser, ajouter des lignes défilantes (comme sur un vieil écran), ou tout autre chose que vous pourriez imaginer, ceci limité uniquement par votre matériel.

## Xorg

Vous avez obligatoirement besoin de X.org 6.8 ou suivant pour que &kappname; fonctionne. X.org 6.7 et précédents et XFree86 ne fonctionneront pas.

### Installation

Vous devez explicitement activer l'extension composite. Ajoutez une nouvelle section à votre fichier de configuration X.org :

    Section "Extensions"
        Option "Composite" "Enable"
    EndSection

Si c'est possible pour votre GPU (la puce complexe qui fourni la puissance à votre carte graphique), activez l'accélération de rendu. C'est très bien supporté par les cartes NVIDIA et un peu moins bien par les ATI.

    Section "Device"
    ....
    ....
        Option     "RenderAccel" "true"
    ....
    ....
    EndSection

&kappname; devrait maintenant être opérationnel. Pour plus d'informations, merci d'aller voir la FAQ.

## Configuration

Ce chapitre décrit quels sont les paramètres que vous pouvez modifier, quels en seront les résultats visuels et leur impact sur les performances.

### Transparence

Un objet transparent est un objet qui permet à la lumière de passer à travers lui. En terme de fenêtre sur votre bureau, cela signifie que le contenu des fenêtres peut être aperçu au travers d'une autre située au-dessus.

La transparence vous permet de mettre en valeur des fenêtres spéciales, d'avoir une vue en 3 dimensions de votre bureau, de conserver la trace de fenêtres couvertes et puis c'est également très jolie. Mais il y a un prix, mélanger tout cela ensemble nécessite l'utilisation d'une partie des ressources du systèmes.

Vous pouvez configurer la transparence de manière indépendante pour ces différents éléments :

Les fenêtres actives

  Il est suggéré de désactiver la transparence pour la fenêtre active. La raison principale concerne les performances, et la seconde est parce qu'analyser le contenu d'une fenêtre transparente veut dire que votre cerveau a à éliminer l'information irritante passant au travers, ce qui est fatiguant.

Les fenêtres inactives

  Si vous paramétrez les fenêtres inactives à transparentes, les fenêtres activent seront mises en valeur et il sera plus facile de se concentrer. Cependant, si vous choisissez une valeur trop basse, vous pourriez avoir du mal à trouver une fenêtre inactive. Si vous choisissez une valeur très basse (<20%), vous pourriez ne pas être en mesure de distinguer l'ordre d'empilement des fenêtres - en conséquence vous pourriez accidentellement cliquer le bouton OK d'une boîte de dialogue lorsque vous vouliez juste activer une fenêtre. Les valeurs optimales se situent entre 60% et 80%.

Fenêtre en déplacement

  Bien que ce soit un effet très jolie que d'avoir des fenêtres en déplacement très transparente (opacité < 20%), il y a un très gros prix à payer au niveau performance, en particulier si vous ne désactivez pas les ombres (voir plus bas). Essayez simplement et si vous sentez que votre système est trop lent, conserver les fenêtres mouvantes opaques. Cette valeur s'applique également aux fenêtres en cours de redimensionnement.

Fenêtres dans le tableau de bord

  Puisque les tableaux de bord comme kicker sont rarement, si ce n'est jamais, déplacés et ont généralement une taille réduite, c'est purement visuel et n'affectera pas de manière importante les performances de votre système.

Traitez les fenêtres à conserver au-dessus comme des fenêtres actives.

  Si vous paramétrez une fenêtre pour rester au-dessus des autres, vous voulez généralement la garder à l'oeil, il est alors logique de lui donner de l'importance.

Désactiver les fenêtres ARBG

  XRender permet la gestion de fenêtres avec un masque alpha, &cad; des parties transparentes. Actuellement il n'y a pas ou alors très peu d'applications qui utilisent cette fonctionnalité puisque cela n'a aucun sens si un manager composite n'est pas utilisé. Cela pourrait changer dans l'avenir.

  D'un autre côté, la plupart des applications gtk 1.x (&pex; xmms) paramètre un masque alpha, ce qui a pour résultat des fenêtres presque inutilisables (tant que les fenêtre sous-jacentes ne sont pas noirs), en conséquence vous pouvez désactiver le support des fenêtres ARBG ici pour pouvoir utiliser les applications gtk. Il faut espérer qu'il y aura un correctif pour gtk dans un futur proche pour corriger ceci.

### Ombres

Pourquoi quelqu'un voudrait-il que ses fenêtres projetent des ombres ? Eh bien, peut-être simplement parce que c'est jolie, ou parce que ça permet une meilleure séparation des fenêtres, ou... parce que c'est jolie !

Utiliser les ombres

  Puisque les ombres nécessitent de la puissance cpu/gpu, elles peuvent être désactivées, tout en conservant la possibilité d'utiliser le canal alpha.

Taille de fenêtre active
Taille de fenêtre inactive
Taille de fenêtre dans le tableau de bord

  Vous pouvez sélectionner différentes tailles pour les ombres des fenêtres de types différents ou dans des états différents. Les valeurs ne sont pas absolues, mais dépendront de la résolution de votre écran.

  En principe vous pouvez paramétrer la valeur que vous voulez (si vous ouvrez le ficher config à l'aide d'un éditeur de texte, et allez bien au-delà des 32 offerts), mais des ombres plus grandes coûteront plus de puissance cpu/gpu.

Décalage vertical
Décalage horizontal

  Par défaut, les fenêtres projeteront des ombres égales tout autour, impliquant une source de lumière située en face. Les utilisateurs familliers avec &MacOS; pourrait aimer un décalage vertical, les utilisateurs &Windows; un léger décalage vers le sud-ouest. Testez différentes valeurs jusqu'à être satisfait.

Couleur d'ombre

  Généralement les ombres, en tant qu'absence de lumière, apparaissent en niveau de gris (en conséquence l'ombre maximale est noir, correspondant à aucune lumière). Mais hey ! On est dans un monde virtuel, et si vous voulez avoir des ombres rose, pourquoi pas ?

Supprimer les ombres lors des mouvements

  Sélectionnez ceci si vous avez besoin de plus de performances (particulièrement lorsque vous utilisez des déplacements de fenêtres transparentes).

Supprimer les ombres lors du redimensionnement

  C'est une bonne idée de sélectionner cet élément, que vous utilisiez la transparence lors du redimensionnement (déplacement) des fenêtres ou pas. Les images d'ombre des fenêtres doivent être recréées en permanence, ce qui a un impact important sur les performance du système.

### Effets

Apparition des fenêtres
Enchaînement entre les changements d'opacité

  Plutôt que de simplement faire surgir une nouvelle fenêtre, vous pourriez vouloir la faire apparaître doucement. Ceci peut paraître très impressionnant, il y a également un prix impressionnant à payer du point de vue des performances et il est difficile d'intérragir de manière efficace avec des fenêtres qui sont en train d'apparaître.

Vitesse d'apparition
Vitesse de disparition

  Pour les raisons de facilité d'utilisation mentionnées dans Apparition des fenêtres, il est plus pratique d'utiliser une vitesse rapide pour l'apparition des fenêtres et (pour des effets plus jolie) une faible vitesse de disparition. Cela vous fournira de très jolies effets et une sensation de système fluide ainsi qu'une faible latence avant apparition de vos informations.

## Problèmes

La totalité de l'extension composite est assez nouvelle. Elle pourrait provoquer quelques problèmes et même rendre X inutilisable, en conséquence il est fortement recommandé de ne pas du tout activer l'extension composite dans Xorg sur des systèmes de production. Si vous pouvez cependant prendre le risque d'avoir un système un peu moins stable, c'est certainement très agréable d'avoir quelques friandises pour les yeux par-ci par-là.

Dans ce cas vous pourriez découvrir quelques problèmes. Voici quelques problèmes communs - et leurs solutions :

J'ai X.org 6.8.x mais &kappname; ne parvient pas à démarrer

Vous devez explicitement activer l'extension composite, ajoutez une novelle section à /etc/X11/XorgConfig :

    Section "Extensions"
       Option "Composite" "Enable"
    EndSection

D'accords, &kappname; fonctionne mais c'est horriblement lent

Si c'est implémenté par votre GPU (principalement par les cartes NVIVIA et en partie par les ATI), premièrement assurez vous que vous avez bien activé l'accélération de rendu.

    Section "Device"
    ....
    ....
    Option     "RenderAccel" "true"
    ....
    ....
    EndSection

Si c'est toujours lent, vous pouvez essayer d'ajuster l'utilisation de votre mémoire. Soit diminuez la profondeur des couleurs de votre écran (&pex; de 24 à 16) ou diminuez votre résolution (&pex; de 1280x1024 à 1024x768).

Merci de notez que le facteur limitant de l'extension composite semble actuellement être la taille du cache du processeur.

Après avoir activé l'extension composite, je ne peux plus exécuter aucune applications GLX. J'ai une carte graphique NVIDIA.

Pour éviter quelques problèmes, NVIDIA désactive le support GLX lorsque l'extension composite est active. La réactivation est possible, mais pourrait engendrer des problèmes sur certaines associations kernel/driver/GPU.

    Section "Device"
    ....
    ....
    Option  "AllowGLXWithComposite" "true"
    ....
    ....
    EndSection

Je voulais jouer à un jeu utilisant SDL (mais pas GL), disons scummvm, mais lorsque compmgr est actif la seule chose que je puisse voir est une ombre !

Ceci est un problème avec le PictType de SDL.

Solution :

    Au lieu d'exécuter scummvm directement, exécutez SDL_VIDEO_X11_VISUALID=0x24 scummvm. Cela indiquera à SDL d'utiliser un format compatible et vous pourrez jouer comme jamais.

L'application XXX refuse de démarrer après que j'ai activé l'extension composite.

L'application YYY détraque X après l'activation de l'extension composite.

L'application ZZZ paraît étrange après l'activation du manager composite.

L'extension composite est toujours expérimentale.

Solution :

Au lieu d'exécuter directement `appName`, exécuter `XLIB_SKIP_ARGB_VISUALS=1 appName`.

Les applications connues pour avoir des problèmes :

- Toutes les applications gtk1 (&pex; gmplayer, xmms, gaim) - échouent au démarrage ou apparaissent étrange ou même détraquent X

- &kuickshow; - n'affiche qu'un cadre noir

- &Qt; Designer - détraque X

- &kopete; - détraque

- &kolf; - détraque

J'essaye de regarder une vidéo, mais je ne vois que des artefacts dans la fenêtre de la vidéo.

Vous utilisez xv comme moteur vidéo. Ceci est le mode overlay, où le contenu de la vidéo est directement écrit dans la mémoire de la carte vidéo, et ne passe pas par X. En conséquence la fenêtre semble être fixe (avec un fond coloré) et n'est pas mise à jour par l'extension endommagé.

Il devrait y avoir un correctif à ce problème dans le future. Pour l'instant j'ai les meilleurs résultats en utilisant Xine mais l'affichage de vidéos transparentes n'est quoi qu'il arrive pas rapide.

## Remerciements et licence

### Auteurs

Thomas Luebking baghira-style@gmx.net - Éditeur

&underFDL; &underGPL;