Journal Compiz sans XGL

Posté par  .
Étiquettes : aucune
0
3
oct.
2006
Avec la sortie de la branche 9 du driver propriétaire Nvidia (http://www.nzone.com/object/nzone_downloads_linux_display_x8(...) ), il est maintenant possible d'utiliser compiz,beryl en natif Xorg sans XGL.
En effet Nvidia intègre la fameuse fonction GLX_EXT_texture_from_pixmap dans ses nouveaux drivers.

Les pré-requis sont : Xorg 7, Nvidia-1.0.9625 beta et une version récente de compiz/beryl.

Ayant une suse 10.1, les dépos pour les RPMs suse sont:
Xorg7:http://software.opensuse.org/download/xorg7/Java_Sun-Java-1.(...)
Beryl:http://software.opensuse.org/download/X11:/XGL/SUSE_Linux_10(...)

Configuration Xorg (toute distribution)
http://www.nvnews.net/vbulletin/showthread.php?t=77030

Qu'est ce qu'on gagne ?
Pas de bricolage pour jouer aux jeux openGL (quakeX) idem pour blender ou les applis qui demandaient des Xnest.
Du SDL plein écran, bref tout ce qui "plantouillaient" plus ou moins avec Xgl, fonctionne maintenant beaucoup mieux, voir parfaitement.
Niveau fluidité je n'ai pas vu de changement.

Ps: Beryl est complètement bluffant, et l'utilisation au quotidien est un réel plaisir.
  • # AIGLX

    Posté par  . Évalué à 1.

    Bah c'est comme Aiglx pour le driver ati/radeon non?
    • [^] # Re: AIGLX

      Posté par  . Évalué à 1.

      Il me semble que c'est comme AIGLX.
      • [^] # Re: AIGLX

        Posté par  . Évalué à 2.

        Ce n'est pas ce que semble dire ce monsieur: http://www.nvnews.net/vbulletin/showpost.php?p=996264&po(...)
      • [^] # Re: AIGLX

        Posté par  (site Web personnel) . Évalué à 4.

        Ca depend du point de vue
        AIGLX ca veut dire accelerated indirect GLX, donc ca signifie de pouvoir faire de l'OpenGL en offscreen, au sens strict c'est ce que les drivers NVIDIA font (depuis les 8xxx récent (j'ai pas le n° exact(j'ai pas une mémoire de taré non plus))),
        Au sens "commun", c'est un projet, qui a fait quelques patchs pour que les certains drivers libres puissent faire ce rendu offscreen.
        Donc en fonction de l'interprétation c'est (comme) AIGLX :p
        • [^] # Re: AIGLX

          Posté par  . Évalué à 4.

          AIGLX veut effectivement dire accelerated indirect GLX mais cela n'a rien a voir avec le rendu offscreen. Au paravant quand tu utilisais GLX en mode indirect tu envoyais tes commandes GL au serveur X, seulement celui-ci etait incapable d'utiliser le driver 3d pour faire le rendu et donc utiliser mesa en software. Au premier abord cela semble simple de faire appel au driver 3d depuis le serveur mais en realite cela posait de nombreux problemes, notament en ce qui concerne la synchronisation. De plus le code GLX du serveur X etait assez "degeu" et difficilement modifiable, c'est pour cela qu'AIGLX a demande du temps.

          L'extension GLX_EXT_texture_from_pixmap permet d'utiliser les pixmaps du serveur X comme texture, ainsi le serveur X fait le rendu des fenetres dans des pixmap en utilisant l'acceleration habituel (render|exa|...) puis le compositeur utilise ces pixmap comme texture opengl et hop on a tous les effets qui sont zolies :)

          L'avantage Xgl c'est que le rendu des fenetres utilise OpenGL et non render ou exa ou autre, ainsi pour dev de driver il n'y aurait plus besoin que d'ecrire un driver opengl. Cependant cette solution n'est pas rellement prete pour s'imposer. Probablement que glucose permettra de s'en approcher.
  • # Bah si

    Posté par  (site Web personnel) . Évalué à 3.

    >Niveau fluidité je n'ai pas vu de changement.

    Moi j'ai vu du changement, le défilement d'une page web dans konqueror ramait à mort avec Xgl tandis que maintenant ca fonctionne aussi bien que sans composite.

    Par contre, xine et mplayer force XV_SYNC_TO_VBLANK à 1 ce qui les fait ramer.

    http://www.nvnews.net/vbulletin/showthread.php?t=77309&p(...)
    • [^] # Re: Bah si

      Posté par  . Évalué à 4.

      J'utilise pas xine mais pour mplayer et totem, j'ai mis GL en sortie video pour que ca ne rame plus.
  • # Snif :(

    Posté par  (site Web personnel) . Évalué à 4.

    J'ai voulu tester ces drivers il y a quelques jours pour ensuite essayer Beryl et, chez moi, ça ne fonctionne pas :(.

    Tout ce que j'obtiens est un écran noir ou une bouillie de pixel jaunes, verts et noirs lorsque le logo nVidia devrait être affiché. Le PC semble planté mais en fait je peux toujours rebooter ou faire des manips sur la machine (via SSH par exemple) mais la machine est impossible à utiliser sans rebooter et installer les drivers 8xxx puisque l'affichage ne se rétablit plus :(.

    Ce qui me rassure c'est que je ne suis pas le seul [1]. Quelqu'un a-t-il ce problème et a réussi à le résoudre ?

    Sachant que ce ne sont que des drivers en beta, je ne m'affole pas plus que cela. J'attends la prochaine version (espèrons en beta elle aussi) et si ça ne s'améliore pas je ferais un bug-report (ce serait rageant d'avoir toujours ce problème lorsque sortira la version "stable").

    [1] - http://bbs.archlinux.org/viewtopic.php?p=197133#197133
  • # Intel

    Posté par  (site Web personnel) . Évalué à 3.

    Je m'interessais pas trop à compiz jusque la, mais maintenant que ça à l'air plus stable, ça pourrait m'interesser. Si j'ai bien compris, si c'était pas stable c'était à cause de XGL, une bidouille un peu crade pour xorg.

    Les cartes nvidia ont un nouveau driver qui ne requière plus l'utilisation d'XGL, les cartes d'ATI ont Aiglx , mais pour intel (les GMA950 plus précisement), on a quoi ?

    Merci ;)
    • [^] # Re: Intel

      Posté par  . Évalué à 3.

      Sur mon Macbook avec la GMA950, AIGLX marche nickel et te salue au passage.
    • [^] # Re: Intel

      Posté par  . Évalué à 4.

      Ça fonctionne "sortie de la boite" avec une distribution "à bord coupant". Sur mon portable en Debian unstable (sid), avec une carte intel 950, il suffit de ces deux lignes pour pouvoir faire tourner le cube :

      # sudo apt-get install compiz
      $ compiz --replace

      "And Voila" !

      PS : Y aura peut-être un p'tit bout de
      Option "XAANoOffscreenPixmaps"
      à rajouter dans la section Device du fichier kivatrébien.
      • [^] # Re: Intel

        Posté par  (site Web personnel) . Évalué à 1.

        Super compiz est beaucoup plus fluide comme ça.

        Par contre, y'a t'il un outils de configuratation qui a été packagé ?
        • [^] # Re: Intel

          Posté par  . Évalué à 5.

          Il y a effectivement un outil tout à fait dédié à cette tache qui mélange ergonomie et simplicité :

          gconf-editor

          Comme c'est la soirée des tips gratuit : Le p'tit manchot m'a dit d'aller faire un tour dans la hiérarchie /apps/compiz Il paraîtrait qu'il y aurait tout ce qu'il faut pour rendre un geek heureux.
          • [^] # Re: Intel

            Posté par  (site Web personnel) . Évalué à 1.

            ouais c'est ce que j'ai fait, tout fonctionne bien, sauf quand j'ai 2 ecrans de branché :(
  • # et les ...

    Posté par  . Évalué à 2.

    Simple question +/- hs, mais est-ce que les Matrox (entre autre la G550) supporte-elle bien toutes ces nouvelles features liée à XOrg ou pas?
    • [^] # Re: et les ...

      Posté par  (site Web personnel) . Évalué à 4.

      Et les S3 Unichrome ???
      • [^] # Re: et les ...

        Posté par  . Évalué à 1.

        Arf c méchant, la G550 n'est pas si vieille que cela... (par contre je n'ai pas demandé pour la TridentBlade 2 que j'ai aussi sur un autre poste.... mais là j'ose vraiment pas demandé...)
        • [^] # Re: et les ...

          Posté par  (site Web personnel) . Évalué à 1.

          C'est pas méchant ! Mon Shuttle, acheté l'année dernière, fonctionne avec une S3 Unichrome intégrée sur le chipset Via. Et d'autres Shuttle récents sont dans le même cas.
          • [^] # Re: et les ...

            Posté par  . Évalué à 2.

            Mais il y a un port AGP dispo non?? là avec ma trident -en chipset aussi- il y a pas de ports AGP ques des pci.... (pas xpress normaux les pci)
            • [^] # Re: et les ...

              Posté par  (site Web personnel) . Évalué à 2.

              Ouais, j'ai quand même un port AGP, mais il est vide, pour l'instant. C'est le Shuttle SK43G, pour info, que j'ai. Sympa, juste un peu bruyant.
              • [^] # Re: et les ...

                Posté par  . Évalué à 2.

                Ouaiiiiis. J'ai gagné le concours de celui qui a la plus petite ...


                Je parle de cg bien sùr.
  • # petite correction...

    Posté par  (site Web personnel) . Évalué à 1.

    La présence de l'extension GLX_EXT_texture_from_pixmap n'a rien à voir avec le fait que compiz fonctionne avec AIGLX ou non. Y a un mec qu'à rien compris et qui a dit le contraire sur le forum compiz.net du coup on voit cette rumeur trainer un peu partout.

    L'extension GLX_EXT_texture_from_pixmap permet d'avoir un rendu direct : c'est à dire que c'est la carte graphique qui fait tout le boulot. Dans le cas contraire, une partie du rendu est effectué de manière logiciel par MESA.
    Pour utiliser AIGLX, il faut des drivers libres. Les drivers propriétaires ATI/Nvidia ne fonctionne QUE avec XGL.
    • [^] # Re: petite correction...

      Posté par  (site Web personnel) . Évalué à 2.

      Et non, faux, les drivers proprio Nvidia fonctionne avec Xgl et sans Xgl:

      http://www.nvnews.net/vbulletin/showpost.php?p=996264&po(...)
      • [^] # Re: petite correction...

        Posté par  (site Web personnel) . Évalué à 2.

        Ben non c'est pas faut ce qu'il a dit
        il a dit que les drivers nvidia ne faisait pas marcher aiglx mais Xgl, ce qui est pas faux
        Bon après il devait penser (enfin c'est ce que je penses que tu penses qu'il a pensé(atchoum.)), à compiz/beryl mais bon
    • [^] # Re: petite correction...

      Posté par  . Évalué à 2.

      GLX_EXT_texture_from_pixmap permet d'utiliser les pixmap du serveur X comme texture. Donc cette extention ne permet pas d'acceler tout le rendu mais simplement d'utiliser le rendu du server X (qui peut utiliser l'acceleration render ou exa ou autre en fonction de la carte du driver...) comme texture. Le compositeur peut alors faire tout plein de truc en opengl (transparence des fenetres, effet wobbly, ...).

      Quand NVidia ne proposait pas cette extention aucun rendu ne passer par mesa en software tout simplement parcequ'avec les drivers proprios vient la libGL de nvidia. Il est par contre possible de trafficer un serveur X pour utiliser mesa en software pour faire le compositing en opengl mais alors ca risque de ramer.

      Bref cette extention n'accelere rien mais permet d'utiliser des pixmap X comme texture en opengl et ainsi d'avoir un "compositeur" (existe-t-il une traduction francaise meilleur ?) en opengl comme compiz. Les autres compositeurs n'utilise pas opengl (metacity ou autre), du moins pas encore.
      • [^] # Re: petite correction...

        Posté par  (site Web personnel) . Évalué à 1.

        Les autres compositeurs n'utilise pas opengl (metacity ou autre), du moins pas encore.


        D'ailleurs quelqu'un sait t'il si c'est prevu pour Metacity ? car là pour l'instant AIGLX + compiz fait planter mon X, je retourne sur GDM.
        • [^] # Re: petite correction...

          Posté par  . Évalué à 1.

          De mémoire, il me semble que Metacity 2.16 a le support de AIGLX et qu'il peut faire de jolis effets graphiques. Cependant, le code n'est pas activé par défaut parce qu'il est expérimental. Il suffit donc de l'activer au moment de la compilation.
  • # Tester

    Posté par  . Évalué à 1.

    J'ai tester ces nouveau driver nvidia et effectivement on peut lancer compiz (ou autre desktop "3d") sans xgl ni aiglx (mettez bien à off aiglx dans votre fichier xorg.conf autrement c'est plus lent).

    Maintenant j'arrive pas à dire à gdm (ou gnome) d'utiliser par défaut compiz à la place de métacity. J'ai fait un script que je lance au démarage de ma session gnome mais ça fait que je lance métacity et je le remplace après par compiz... donc pas très propre.

    J'ai écrit tout ça sur mon bloc note http://simon.cocotier.ch/wiki/linux/3dwm mais il y a peut être des erreures...

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.