<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Artisan Numérique</title>
  <link rel="alternate" type="text/html" href="http://artisan.karma-lab.net/node/1004"/>
  <link rel="self" type="application/atom+xml" href="http://artisan.karma-lab.net/node/1004/atom/feed"/>
  <id>http://artisan.karma-lab.net/node/1004/atom/feed</id>
  <updated>2008-10-08T15:31:05+02:00</updated>
  <entry>
    <title>Installation et paramétrage de Beryl from Scratch</title>
    <link rel="alternate" type="text/html" href="http://artisan.karma-lab.net/node/1004" />
    <id>http://artisan.karma-lab.net/node/1004</id>
    <published>2006-10-27T02:37:00+02:00</published>
    <updated>2008-10-08T15:31:05+02:00</updated>
    <author>
      <name>Ulhume</name>
    </author>
    <category term="X11" />
    <category term="Aucun" />
    <category term="Dépassé" />
    <category term="Tutoriel" />
    <summary type="html"><![CDATA[<p>
  Avec la dernière de Suse 10.1, Mandriva 2007 est à ma connaissance la seule distribution à implémenter en standard le nouveau bureau 3D.<br> 
Je ne sais pas (et je m'en moque un peu <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/wink2.gif" title="Wink" alt="Wink" class="smiley-content"/> ce que donnera Vista dans ce domaine, mais le résultat, après quelques efforts, est impressionnant. Impressionnant et, quelques soient mes a priori de départ... utile ! Utile car cette technologie permet enfin d'utiliser le GPU, le micro-processeur 3D de la carte graphique et laisse ainsi libre le CPU pour d'autres tâches. Mais aussi utile car certains "effets" deviennent vite totalement indispensables...<br>
 Voici donc un petit trip pour comprendre un peux mieux ce qui se cache sous ces barbaries que sont AIGLX,XglX, Compiz, Beryl et autre obscure fonction TFP...</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>
  Avec la dernière de Suse 10.1, Mandriva 2007 est à ma connaissance la seule distribution à implémenter en standard le nouveau bureau 3D.<br> 
Je ne sais pas (et je m'en moque un peu <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/wink2.gif" title="Wink" alt="Wink" class="smiley-content"/> ce que donnera Vista dans ce domaine, mais le résultat, après quelques efforts, est impressionnant. Impressionnant et, quelques soient mes a priori de départ... utile ! Utile car cette technologie permet enfin d'utiliser le GPU, le micro-processeur 3D de la carte graphique et laisse ainsi libre le CPU pour d'autres tâches. Mais aussi utile car certains "effets" deviennent vite totalement indispensables...<br>
 Voici donc un petit trip pour comprendre un peux mieux ce qui se cache sous ces barbaries que sont AIGLX,XglX, Compiz, Beryl et autre obscure fonction TFP...</p>
<!--break-->

	<a name='chapter_1'></a>
  <h2>De la 3D sur un bureau ?</h2>
	

<p><image id="1"/>L'idée de base est assez ancienne. D'un côté la fascination pour la 3D donnait des envies de longue date à certain de transporter ces concepts sur nos bureau. Il existe de nombreux projets, assez anciens, qui reposent sur une exploitation des métaphore 3D pour simplifier l'espace de travail comme <a class='external' target='_blank' href='http://www.sun.com/software/looking_glass/details.xml' >le projet looking glass</a> ou encore <a class='external' target='_blank' href='http://insitu.lri.fr/~chapuis/metisse/screenshots/' >metisse (un projet Français ! <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/wink2.gif" title="Wink" alt="Wink" class="smiley-content"/></a>.</p>

<p>
  Mais au-delà des effets 3D, une réalité a rendu plus concret ces bureaux en 3D, il s'agit de l'énorme montée en puissance des GPU. En effet, la prolifération des jeux en 3D a tellement dopé le marché que la moindre carte graphique possède aujourd'hui d'énormes capacités de calcul capacités qui, si l'on n'est pas joueur, sont absolument inutilisées. Nous étions dans le paradoxe d'un CPU qui travail pour afficher des fenêtres alors que le GPU, lui, se tournait les pouces... L'idée est alors venue d'utiliser massivement le moteur de textures des GPU pour dessiner boutons et autres fenêtre.</p>

<p class="clear"><image id="2"/>Mais une fois l'idée posée, d'autres ont pu germer. En effet, pourquoi se limiter à cela et ne pas en profiter pour faire un peu remuer tout ce vieux bureau hérité de cette non moins vénérable Lisa (cf. ihm en photo de gauche).</p>


	<a name='chapter_2'></a>
  <h2>En quête de la fonction TFP</h2>
	
  <p>Ainsi est né, en gros, l'idée de Xgl du côté de Novel (éditeur de la distribution Suse) et un peu plus tard, et en réaction ) Xgl, Aiglx par redhat. Pour mieux comprendre (très rapidement) la différence entre ces deux architectures, il faut se rappeler que X est un serveur. A ce titre une application graphique est un client réseau d'un serveur X qui seul dialogue avec la carte graphique. La 3D quant à elle est gérée par OpenGL à travers une extension du serveur X appelée GLX. C'est cette extension qui dialogue avec les drivers propriétaires de la Nvidia (par exemple).</p>
  
  <p>Pour rendre visuellement une fenêtre à l'aide d'un moteur 3D, il faut utiliser le moteur de texture de la carte graphique en transformant le rendu 2D de la fenêtre, une image (ou pixmap) en une texture exploitable par le GPU. Il faut pour cela, d'une manière ou d'une autre, avoir accès à une fonction que l'on appelle "texture from pixmap" alias <kbd>tfp</kbd> pour les intimes. Aiglx et XGL s'opposent justement sur la manière de fournir ce service. </p>
  
  <p><kbd>AIGLX</kbd> (pour Accelerated Indirect GLX) se place comme une extension de GLX en permettant l'accès aux fonctions hardware 3D de manière indirecte, c'est à dire en respectant la philosophie de transparence réseau des serveur X. Ainsi, une application peut utiliser "à distance" les capacités graphiques 3D d'un serveur X disposant d'AIGLX. La fonction tfp est donc disponible à travers le réseau mais demande une modification du driver pour être appelée sur la carte graphique.</p>

  <p>XGL (ou plutôt XglX) a une philosophie radicalement différente. Il ne s'agit pas là d'une extension d'un serveur X existant mais d'un serveur compatible X11 qui se place au dessus de X.org dont il est le client unique. Une fois lancé, Xgl ne fait alors qu'une chose, ouvrir sur le serveur X.org une fenêtre en plein écran dédiée à l'affichage d'objets OpenGL, un peu comme un jeu vidéo. Xgl devient alors le serveur (DISPLAY=:93) pour toute les autres applications dont il fait le rendu visuel sur la fenêtre OpenGL plein écran. On comprendra donc qu'Xgl est structurellement plus rapide qu'AIGLX. En effet, les commandes 3D sont directement passées à la carte graphique via les API OpenGL. De plus, Xgl propose sa propre implémentation de la fameuse fonction tfp ce qui le rends indépendant de sa présence ou nom dans le driver de la carte. Xgl fonctionne donc sur toutes les cartes du marché disposant d'un driver OpenGL, sans modification (contrairement à AIGLX). La suite d'XglX s'appelle Xegl qui se passe complètement du serveur X.org.</p>

<p>Une expérience amusante à faire chez soi pour se convaincre de la nature "fenêtre plein écran" de XglX. Ouvrez une console et de taper les commandes suivantes :

  <div class='code-block code-block-fragment'>
  <div class='container'>
  <span class="kw3">export</span> <span class="re2">DISPLAY=</span>:<span class="nu0">0</span><br />
kwin<span class="sy0">&amp;</span><br />
kwrite<span class="sy0">&amp;</span>
  </div>
  
  </div>
</p>
<p>Ce qui nous donne quelque chose comme ceci :</p>

<p><image id="3"/>On comprends ainsi parfaitement que XglX est une simple fenêtre sur le bureau d'un premier serveur X (:0).</p>

<p>
  Il y a de grands débats pour savoir laquelle des deux options est la plus pérenne. RedHat reproche à Novel d'avoir développé Xgl "dans son coin", les puristes voient en Xgl la fin de la philosophie X et les détracteurs d'AIGLX pointe la nécessité de modifier les drivers pour que l'extension puisse fonctionner, d'autres encore trouve que Xgl représente trop de travail par rapport au simple ajout d'une couche à X. Bref, il y a fort à parier que les deux options se retrouveront ensemble dans les prochaines versions du serveur X.</p>

<p>
  Dans tous les cas, les performances d'AIGLX sont simplement en dessous d'XGL. Ce qui est logique de par la nature même d'accès indirecte d'Xgl. Mais nous allons le voire, il existe une troisième car certains Beryl, le composition manager, peut aussi utiliser directement la fonction TFP du driver nVidia pour les meilleurs performances. Une sorte de troisième voie <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/smile.gif" title="Smiling" alt="Smiling" class="smiley-content"/>
</p>
  

	<a name='chapter_3'></a>
  <h2>La discrète extension COMPOSITE</h2>
	
<p><image id="4"/>Mais quoi qu'il en soit, cette fonctionnalité de rendu 3D ne serait que bien peu de chose sans une extension des serveurs X apparue, elle, il y a déjà deux ans : COMPOSITE. Cette extension permet à une application spéciale appelée gestionnaire de composition (CM pour composite manager), de provoquer le rendu d'une arborescence de fenêtres en mémoire et non plus directement à l'écran. le gestionnaire de composition peut ainsi modifier cette image en mémoire, puis de la renvoyer au serveur X pour son affichage final. Lorsqu'elle est apparue, cette extension a déjà permis de très jolis effets de transparence et d'ombres de fenêtres.</p>

<p>On comprend à ce stade que les bases du bureau full-3D sont posées avec les briques COMPOSITE et TFP via XGL/AIGLX. Il ne manque dorénavant plus qu'un chef d'orchestre pour que la magie s'opère, un gestionnaire de composition très spécial qui prendrait en charge la fonction TFP. Et ce n'est pas tout car si nous n'avions qu'un gestionnaire de composition, nous aurions une uniformité des effets sur toutes les fenêtres, par exemple une ombre ou une transparence. Pour aller plus loin, il fallait donc aussi un nouveau gestionnaire de fenêtres (WM pour Windows Manager) pour le comportement (placement, déplacements, réduction, etc.) et, fin du fin, un nouveau décorateur de fenêtres (WD ou Windows Decorator) chargé de dessiner les bords et les barres de titre.</p>


	<a name='chapter_4'></a>
  <h2>La magie de Compiz</h2>
	

  <p><image id="5"/>Les équipes Novel ont donc développé <kbd>compiz</kbd>, un gestionnaire de fenêtres ET de composition utilisant la fonction TFP pour ses effets. Il a été aussi développé (par novel ?) <kbd>cgwd</kbd>, un décorateur de fenêtre exploitant lui aussi la fonction TFP. Et C'est à ce stade que les fenêtres gigotent lorsqu'on les déplace, bondissent ou s'enfuient sur une combinaison de touche, se mettent à plat lorsque la souris touche un coin de l'écran ou que les bureaux virtuelles deviennent les faces d'un cube dont la rotation fait baver les windowsiens de jalousies à défaut d'être réellement très utile <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/wink2.gif" title="Wink" alt="Wink" class="smiley-content"/> Et tout ceci avec XGL comme AIGLX.</p>
  
  <p><kbd>compiz</kbd> se repose sur une architecture de type "plugins". C'est à dire que chaque effet (redimensionnement, changement de bureau, etc...) est un plugin indépendant, paramétrage et désactivable à loisir. Cela permet à des développeurs indépendants de mettre au point leurs propres effets (une fenêtre qui explose par exemple lorsqu'on la ferme). </p>
    
    <p>Mais l'histoire ne se termine pas là, loin de là... Le Sieur Quinn Storm, un des développeurs, plutôt pas mauvais, de <kbd>compiz</kbd> avait depuis un temps déjà développé sa propre branche appelée <kbd>compiz-quinn</kbd>. Plus d'effets, plus novateur, plus rapide aussi... Et ce qui devait arriver arriva, la branche est devenue un nouveau projet appelé <kbd>beryl</kbd> accompagné d'un renommage de <kbd>cgwd</kbd> en <kbd>emerald</kbd>. Et il faut bien avouer que le couple Beryl-Emerald fait des merveilles. C'est plus rapide, mais surtout c'est beaucoup plus beau ! Le projet est fournit avec des outils de choix de thèmes pour emerald et de paramétrage fin des effets pour beryl.. Un must qui m'a fait jeter à la poubelle le "vieux" compiz intégré à la Mandriva 2007 pour me lancer dans la compilation de beryl...</p>
    
    
    
	<a name='chapter_5'></a>
  <h2>Installation de Beryl et Emerald</h2>
	

    <p><image id="6"/>D'après la publicité, Mandriva 2007 est déjà en 3D, non ? bein non, car cela ne marche pas... En effet, si Mandriva annonce un support XGL/AIGLX cela ne concerne en réalité que les versions payantes qui contiennent les "bons" drivers, pas les driver libre qui généralement ne disposent pas de l'accélération OpenGL/3D. Conclusion, il faut installer les drivers propriétaire Nvidia qui fournissent la fonction TFP (depuis la version 9629) pour AIGLX et les librairies OpenGL accélérées pour XglX (quelle que soit la version).</p>

<p class="note">Cette installation est faite pour ceux qui veulent avoir les dernières versions de beryl et des drivers nVidia. Pour les autres qui préférerais une version plus "clef en main", je conseil la page wiki de l'installation de beryl via urpmi.</p>

<p class="attention">Pour ceux qui possède une i86_64, pensez à chaque fois qu'un librairie est à installer à prendre la version 64 bits. Par exemple, <kbd>libxorg-x11-devel</kbd> devient dans votre cas <kbd>lib<b>64</b>xorg-x11-devel</kbd></p>

<h3>Installation des drivers NVidia</h3>
<p>Allez dans la section Drivers linux du <a class='external' target='_blank' href='http://www.nvidia.com' >site de nVidia</a> et télécharger le driver correspondant à votre processeur (i32, 64, etc..).  Une fois le fichier télécharger, il faut sortir de X, pour cela, presser CTRL-ALT-F1 et loggez vous en root.</p>
<p>Il faut que X soit arrêté, donc tapez un violent <kbd>pkill kdm</kbd>. On va aussi en profiter pour installer les paquets de développement de X11, les sources du kernel (si ce n'est déjà fait) ainsi qu'enlever les anciens artefacts 3D de la mandriva puis lancer l'install des drivers :

  <div class='code-block code-block-fragment'>
  <div class='container'>
  &nbsp;<span class="co0"># les glutes de mandriva</span><br />
urpme task3d-desktop compiz xorg-xgl<br />
<br />
<span class="co0"># réinstaller XGL, les sources du kernel et les headers de X</span><br />
urpmi xorg-xgl libxorg-x11 kernel-source<br />
<br />
<span class="co0"># maintenant on lance l'installation du driver nvidia</span><br />
<a target="blank" href="http://pwet.fr/man/linux/commandes/sh"><span class="kw2">sh</span></a> NVIDIA-Linux-x86<span class="nu0">-1.0</span><span class="nu0">-9629</span>-pkg1.run
  </div>
  
  </div>
</p>
<p>Une fois que l'installeur a terminé son travail, acceptez qu'il modifie votre fichier <kbd>/etc/X11/xorg.conf</kbd>. Une fois de retour en ligne de commande, éditez ce fichier pour vérifier que vous avez les points suivant, sinon, les ajouter :

  <div class='code-block code-block-fragment'>
  <div class='container'>
  Section &quot;Device&quot;<br />
&nbsp; &nbsp; Identifier &quot;fx5200&quot;<br />
&nbsp; &nbsp; VendorName &quot;nVidia Corp.&quot;<br />
&nbsp; &nbsp; BoardName &quot;NVIDIA GeForce FX 5200&quot;<br />
&nbsp; &nbsp; Driver &quot;nvidia&quot;<br />
<br />
&nbsp; &nbsp; # choses générales<br />
&nbsp; &nbsp; Option &quot;NoLogo&quot; &quot;true&quot;<br />
<br />
&nbsp; &nbsp; # Ajouté pour beryl<br />
&nbsp; &nbsp; Option &quot;AddARGBGLXVisuals&quot; &quot;true&quot;<br />
&nbsp; &nbsp; Option &quot;RenderAccel&quot; &quot;true&quot;<br />
&nbsp; &nbsp; Option &quot;AllowGLXWithComposite&quot; &quot;true&quot;<br />
&nbsp; &nbsp; Option &quot;TripleBuffer&quot; &quot;true&quot;<br />
&nbsp; &nbsp; Option &quot;DisableGLXRootClipping&quot; &quot;true&quot;<br />
&nbsp; &nbsp; Option &quot;BackStoring&quot; &quot;True&quot;<br />
<br />
&nbsp; &nbsp; # Ajouté pour contrôler la carte via nvidia-settings<br />
&nbsp; &nbsp; Option &quot;AllowDDCCI&quot; &quot;true&quot;<br />
&nbsp; &nbsp; Option &quot;Coolbits&quot; &quot;1&quot;<br />
EndSection<br />
<br />
Section &quot;Extensions&quot;<br />
&nbsp; &nbsp; Option &quot;Composite&quot; &quot;Enable&quot;<br />
&nbsp; &nbsp; Option &quot;RENDER&quot; &quot;Enable<br />
EndSection
  </div>
  
  </div>
</p>
<p>
  Maintenant, il nous reste à compiler beryl, autant ne pas relancer X pour l'instant...
</p>
<h3>Compilation de beryl</h3>
    <p style="clear:left">Bery s'installe donc très facilement en téléchargeant les sources avec subversion :
      
  <div class='code-block code-block-fragment'>
  <div class='container'>
  svn co svn://svn.beryl-project.org/beryl/trunk/ beryl
  </div>
  
  </div>
    </p>

    <p>Une fois les sources téléchargé, passer en root pour installer <i>quelques</i> petits paquets de développement :
      
  <div class='code-block code-block-fragment'>
  <div class='container'>
  urpmi libstartup-notification-1_0-devel<br />
urpmi librsvg2_2-devel<br />
urpmi libcairo2-devel<br />
urpmi intltool<br />
urpmi libgtk+2.0_0-devel<br />
urpmi libwnck-1_18-devel<br />
urpmi libapr1-devel<br />
urpmi libapr-util1-devel<br />
urpmi libapr0-devel<br />
urpmi apr-devel<br />
urpmi libneon0.26-devel<br />
urpmi libsvn0<br />
urpmi subversion-devel<br />
urpmi xvinfo
  </div>
  
  </div>
    </p>
    <p>Enfin, pour éviter un petit soucis qui m'est arrivé avec libapr et libapr-util :
      
  <div class='code-block code-block-fragment'>
  <div class='container'>
  <a target="blank" href="http://pwet.fr/man/linux/commandes/ln"><span class="kw2">ln</span></a> -s <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span>apr<span class="nu0">-1</span>-config <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span>apr-config<br />
<a target="blank" href="http://pwet.fr/man/linux/commandes/ln"><span class="kw2">ln</span></a> -s <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span>apu<span class="nu0">-1</span>-config <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span>apu-config
  </div>
  
  </div>
    </p>
    
    <p>Ensuite, les développeurs de beryl ont eu le bon goût de mettre un script qui compile l'ensemble. Pour que ce script fonctionne, il faut que vous ayez paramétré votre <kbd>sudo</kbd> pour qu'il vous autorise le lancement d'un <kbd>make install</kbd>, ensuite il suffit d'aller dans le dossier beryl créé par svn et de lancer <kbd>./makeall</kbd>. Au bout d'un temps la compilation c'est normalement déroulé sans problème... Du moins je l'espère pour vous <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/wink2.gif" title="Wink" alt="Wink" class="smiley-content"/>
    </p>
<p class="attention">Pour les processeur i86_64, il faut modifier le script <kbd>makeall</kbd> et modifier la ligne comme suite :<br/>
   if ./autogen.sh <b>--libdir=/usr/lib64</b> --prefix=$MYPREFIX && make && sudo make install
</p>
    
    <p>Pour bien comprendre la suite, il est nécessaire de s'arrêter sur la manière dont Beryl trouve SA fonction TFP. Basiquement Beryl recherche le maximum de performance/stabilité, ce qui nous donne dans l'ordre  : Xgl (performant et stable), natif nVidia (très performant et moins stable) puis AIGLX (moins performant et stable). Ceci implique que si Xgl n'est pas chargé, c'est le driver nVidia qui sera utilisé. Hors ce dernier est buggé et les grandes fenêtres s'affichent en noir sur certaines cartes. AIGLX n'apportant rien en terme de performance, je conseille donc de garder Xgl pour le moment en paramétrant le fichier <kbd>/etc/sysconfig/xgl</kbd> pour indiquer <kbd>XGL=yes</kbd>. Mettez non pour tester si driver nVidia fonctionne chez vous.
</p>
<p><image id="7"/></p>
<p class="clear">
 Nous pouvons maintenant, redémarrer X en tapant <kbd>kdm</kbd>. Lorsque vous êtres reconnecté, si vous tapez dans une console <kbd>echo $DISPLAY</kbd> vous devez avoir un <kbd>:93.0</kbd> qui apparaît, preuve que XGL est actif. Ensuite, vous n'avez qu'à lancer <kbd>beryl-manager</kbd> pour que la magie s'opère.</p>



	<a name='chapter_6'></a>
  <h2>Gagner en vitesse</h2>
	

<p><image id="8"/>
</p>
<p class="clear">
   La machine que j'utilise pour tester beryl est très modeste en comparaison de certain, un Sempro 2400+ et une carte vidéo nVidia FX5200 avec 64mo. Il y a un plugin bien utile permettant d'afficher le nombre de frame par secondes. Il s'active via <kbd>beryl-settings</kbd>, pensez à désactiver le limiteur de vitesse et y associer un raccourcis clavier (ici F12). A l'activation du raccourcis, une jauge s'affiche pour indiquer les performances, soit 50 fps et mon CPU était à fond... Un peu inquiet, j'ai modifié modifié les options suivantes :
<ul>
  <li>Options générales/Choix/Synchronisation avec VBlank. J'ai enlevé, c'est un peu idiot lorsqu'on a un écran LCD (y'a pas beaucoup de canons à électron dans ce type d'écran, surtout en DVI...)</li>
  <li>Blur Fx à désactiver (je n'ai pas bien compris ce que cela faisait) mais il prends du CPU.</li>
  <li>Gestion des crashs à désactiver, gros gain de vitesse.</li>
  <li>TailFocus à désactiver, très gros gain de vitesse mais on y perd un peu <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/smile.gif" title="Smiling" alt="Smiling" class="smiley-content"/></li>
</ul>
</p>
<p>
Une fois ces "optimisation" réalisée, je passe à 120 fps (au lieu de 50, ça valait le coup <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/smile.gif" title="Smiling" alt="Smiling" class="smiley-content"/></p>
<p>Un autre conseil, dans le paramétrage du plugin "Animations", onglet "Valeurs Numériques", descendez le temps des animations montantes (ouvertures, maximisation, etc..) à 0.5s et les descendantes (fermetures, minimisation, etc..) à 1s. En effet, c'est agaçant d'avoir à "attendre" 1 seconde quelque chose que l'on doit utiliser, il vaut mieux, à mon sens, laisser plus de temps aux animations qui se font sans gène (je peux faire autre chose en admirant un fenêtre qui se minimise). Ainsi, on n'est plus gêné par les effets d'un point de vue ergonomique. My 2 cents opinion.</p>
    

	<a name='chapter_7'></a>
  <h2>Conclusion</h2>
	
<p>
  Voilà, fin donc de l'aventure Beryl. En tout cas une chose est sure, je suis aujourd'hui incapable de m'en passer. Les effets sont tellement "organiques" qu'il rendent tout autre système lourd et cartonneux en comparaison... 
</p>    ]]></content>
  </entry>
</feed>
