Journal Confs de Martin Peres sur la pile graphique Linux.

Posté par . Licence CC by-sa
Tags :
26
8
déc.
2012

Bonjour, Nal Bookmark.

Notre Martin Peres national, doctorant bordelais, développeur nouveau s'occupant de la gestion de l'énergie et membre de TrollFr.org, a donné deux conférences à Capitole du Libre : Introduction aux GPUs et à la pile graphique Linux et Plongeons dans le pipeline de rendu graphique, et questions/réponses sur la pile graphique. Les slides sont dispos, les vidéos devraient arriver bientôt.

À noter que les slides de la deuxième conf reprennent ceux de la première, donc inutile de lire les deux.

  • # video

    Posté par (page perso) . Évalué à 5.

    J'ai récupéré le second slide, je l'ai lu, et j'ai trouvé ça intéressant.

    Par contre parfois, c'est un peu sec, forcément.
    J'ai vu sur le site donné en lien qu'une video allait bientôt être disponible.
    Ça vaudrait le coup de compléter ce journal (si la video arrive rapidement), ou d'en refaire un quand ça sera le cas.

    Merci.

    • [^] # Re: video

      Posté par (page perso) . Évalué à 10.

      J'ai vu sur le site donné en lien qu'une video allait bientôt être disponible.
      Ça vaudrait le coup de compléter ce journal (si la video arrive rapidement), ou d'en refaire un quand ça sera le cas.

      Non mais franchement j'vous jure. Personne n'a vu l'avertissement qui était marqué sur le post de Martin ?

      Je copie/colle :

      PS for LinuxFR people: Please, do not post any depêche/journal about this. I am waiting on the video of the presentations before advertising them :)

      • [^] # Re: video

        Posté par . Évalué à 2. Dernière modification le 09/12/12 à 12:37.

        oui, mais ça manque tellement et c'est tellement intéressant qu'il pourrait y avoir 2 dépêches/journaux pour signaler la présence de ces documents que ça ne serait pas grave.

        On est loin de la prolixité "SystemD".

      • [^] # Re: video

        Posté par (page perso) . Évalué à 5.

        Ah ah, merci Patrick :D

        Du coup, je crois qu'on pourra poster une dépêche quand les vidéos seront disponibles.

    • [^] # Re: video

      Posté par (page perso) . Évalué à 5.

      • [^] # Re: video

        Posté par . Évalué à 1. Dernière modification le 09/12/12 à 19:00.

        A noter qu'un décodeur H264 est nécessaire, mais merci quand même !
        EDIT: oops je voulais répondre au commentaire de Thomas qui donne le lien vers les vidéos

      • [^] # Re: video

        Posté par (page perso) . Évalué à 1.

        Merci Thomas!

        Je suis en train de transcoder les vidéos en webm pour les mettre sur ma page recherche. Le mp4 est pas génial pour le seeking.

        • [^] # Re: video

          Posté par . Évalué à 1.

          C’est quoi le problème avec le seeking ?

          • [^] # Re: video

            Posté par (page perso) . Évalué à 2.

            Aucun. C'était un problème du serveur http d'octopress qui faisait pas bien son boulot.

            Du coup, j'ai uploadé les vidéos en mp4 mais du coup, j'ai pas augmenté le volume sonore (j'avais rajouté 6dB pour rendre le son plus audible par défaut). Je renverrai les vidéos demain depuis le boulot (vive les connexions 100MBit) avec le son augmenté mais sans modification de la vidéo.

            • [^] # Re: video

              Posté par . Évalué à 4.

              Interessant les slides, je regarderai la vidéo quand j'aurai le temps.
              Juste une question: Wayland et l'extension d'X11 DRI2 m'ont l'air très, très similaire, bon je sais que le contributeur principal est le même Kristian Høgsberg donc ça ne m'étonne pas trop, ce qui m'étonne c'est que certains présentent Wayland comme fournissant une amélioration des performance par rapport à X11 (par exemple là: http://blog.smartbear.com/software-quality/bid/241134/ un extrait: "With luck, or at least optimism, graphics will be faster" ) et là je ne comprends pas: puisqu'X11 a une extension qui permet de passer les buffers de la même manière que le fait Wayland, comment Wayland pourrait apporter une amélioration de performance (enfin sauf si le toolkit n'utilise pas l'extension)?
              Les seule réponses qui me sont venu sont
              1) le gestionnaire de fenêtre étant intégré dans le serveur d'affichage il pourrait y avoir un léger gain de performance (moins d'IPC).
              2) ce gars rêve, Wayland fournit surtout une simplification de l'implémentation par rapport à X, mais (à priori) pas/peu de gain en performance.

              Ton avis?

              • [^] # Re: video

                Posté par (page perso) . Évalué à 6.

                Alors, je suis totalement d'accord sur le fait que DRI2 et Wayland sont très proches. Cela dit, DRI2 c'était seulement pour le rendu d'applications 3D. Pour la 2D, tu passes toujours par XCB/XLib donc, pour accélérer le rendu, tu dois soit envoyer les commandes X11/XRender soit rendre toi même le buffer et l'envoyer via la XLib. Pour info, c'est ce que fait Qt en mode raster et c'est plus rapide que le mode X11 alors que ça tourne sur le CPU.

                Avec Wayland, les applis GL et 2D seront traitées pareillement. Il n'y aura plus d'interface d'accélération 2D totalement dépassée. Les applications utiliseront l'API de rendu qu'ils désirent. Dans les faits, ça sera probablement cairo/cairo-gl.

                Mais ce n'est pas fini. Wayland simplifie aussi la gestion des fenêtres et promet un redimensionnement pixel-perfect! En demandant au client d'être responsable de son propre buffer, Il n'y a plus besoin d'autant de synchronisation entre le serveur X et Wayland tel que c'est le cas actuellement. Pour information, il se dit qu'il y aurait une dizaine d'échange de message entre X et un client X lors du redimensionnement. C'est dû au fait que le serveur X est responsable de maintenir la taille du buffer dans lequel l'application doit rendre.

                Donc, pour résumer, on devrait pas voir d'amélioration significative des perfs dans Wayland pour la 3D, mais le gestionnaire de fenêtre devrait être plus réactif ainsi que les applications qui peuvent du coup utiliser l'API optimisée pour leurs besoins (et pas un API inventée il y a 25 ans pour le besoin des mainframes).

                Ça te va?

                • [^] # Re: video

                  Posté par . Évalué à 1.

                  Cela dit, DRI2 c'était seulement pour le rendu d'applications 3D.

                  ? La 2D étant un cas particulier de la 3D, je ne comprends pas trop ce que tu veux dire par là..
                  Dans tout les cas, je ne vois pas trop pourquoi tu insiste sur la 3D: l'utilisation normale de Wayland(*) (comme DRI2 d'ailleurs) c'est le partage de buffer dans la mémoire vidéo du GPU entre un client et le serveur d'affichage, quel rapport entre les interfaces 2D ou 3D pour dessiner dans ces buffers?

                  Il n'y aura plus d'interface d'accélération 2D totalement dépassée.

                  Oui, euh j'aimerai bien mais certains pilote propriétaire ne fournissent une interface accélérée que pour la 2D, pareil pour la virtualisation donc 'dépassée', ça dépend beaucoup de la situation!

                  Mais ce n'est pas fini. Wayland simplifie aussi la gestion des fenêtres et promet un redimensionnement pixel-perfect!

                  C'est un avantage en effet, mais je trouve dommage de ne pas préciser le prix a payer: si le client est lent à fournir une fenêtre l'animation peut être "saccadée" alors que si le redimensionnement est fait par le serveur d'affichage on a juste le contenu qui est moche quand le client est lent..
                  Après, paradoxalement, ça peut être perçu comme un "avantage" car ça pousse une conception "à la BeOS" ou chaque client a (au moins) un thread dédié à la fenêtre, m'enfin d'ici que ce design se réalise (*SI* il se réalise) on aura des animations saccadées par moment, bof c'est cher comme prix à payer..

                  *: normale mais pas exclusive: il y a un client Wayland "shared memory" qui utilise la mémoire du PC pour communiquer entre le client et Weston, mais bon coté perf ça doit être moins bien.

                  • [^] # Re: video

                    Posté par (page perso) . Évalué à 3.

                    Oui, euh j'aimerai bien mais certains pilote propriétaire ne fournissent une interface accélérée que pour la 2D, pareil pour la virtualisation donc 'dépassée', ça dépend beaucoup de la situation!

                    C'est l'interface qui est dépassée, pas l'accélération 2D.

                    « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

                  • [^] # Re: video

                    Posté par (page perso) . Évalué à 3.

                    ? La 2D étant un cas particulier de la 3D, je ne comprends pas trop ce que tu veux dire par là..

                    En hardware, la 2D est en effet un cas particulier de la 3D. Dans X, ça n'a rien à voir car la 2D est accélérée par le DDX qui accélère seulement quelques opérations nécessaires à XRender.

                    Dans tout les cas, je ne vois pas trop pourquoi tu insiste sur la 3D: l'utilisation normale de Wayland(*) (comme DRI2 d'ailleurs) c'est le partage de buffer dans la mémoire vidéo du GPU entre un client et le serveur d'affichage, quel rapport entre les interfaces 2D ou 3D pour dessiner dans ces buffers?

                    Dans Wayland, plus de différence entre une appli 3D et 2D. Les 2 font ce qu'elles veulent. Elles doivent juste présenter le contenu des fenêtres "à la DRI2". Dans X, c'est pas du tout le même chemin. Quand tu fais de la 2D, tu passes par X -> ddx -> (mesa) -> libdrm -> GPU -> compositeur. Pour la 3D, y'a plusieurs cas. Soit tu accèdes à mesa en direct rendering et dans ce cas là, tu as globalement, application -> mesa -> libdrm -> GPU -> compositeur. Si tu es en indirect rendering, tu passes par X et AIGLX entre application et mesa (oui, c'est le bordel).

                    Il n'y aura plus d'interface d'accélération 2D totalement dépassée.

                    Oui, euh j'aimerai bien mais certains pilote propriétaire ne fournissent une interface accélérée que pour la 2D, pareil pour la virtualisation donc 'dépassée', ça dépend beaucoup de la situation!

                    Comme t'as déjà répondu Xavier Claude, c'est l'interface qui est dépassée, pas l'accélération 2D.

                    Mais ce n'est pas fini. Wayland simplifie aussi la gestion des fenêtres et promet un redimensionnement pixel-perfect!

                    C'est un avantage en effet, mais je trouve dommage de ne pas préciser le prix a payer: si le client est lent à fournir une fenêtre l'animation peut être "saccadée" alors que si le redimensionnement est fait par le serveur d'affichage on a juste le contenu qui est moche quand le client est lent..
                    Après, paradoxalement, ça peut être perçu comme un "avantage" car ça pousse une conception "à la BeOS" ou chaque client a (au moins) un thread dédié à la fenêtre, m'enfin d'ici que ce design se réalise (*SI* il se réalise) on aura des animations saccadées par moment, bof c'est cher comme prix à payer..

                    Avec X, le redimensionnement est toujours lent alors qu'avec Wayland, il est vraiment plus rapide à moins que l'appli soit bloquée. Cela dit, même dans X, quand une appli est bloquée, ça te fait pas quelque chose d'utilisable. Alors faut pas confondre features et habitudes ;) Personnellement, je préfère voir le dernier buffer valide qu'un tas informe de pixels tel qu'on a dans X.

                    Je te conseille de faire un test. Redimensionne une appli dans X et regarde le décalage moyen entre, ton curseur, la fenêtre telle que présentée par le compositeur et ce que l'application a véritablement rendu. Refait le test dans Wayland et regarde la différence :)

                    • [^] # Re: video

                      Posté par . Évalué à 1.

                      Personnellement, je préfère voir le dernier buffer valide qu'un tas informe de pixels tel qu'on a dans X.

                      Tout à fait d'accord, c'est vraiment très pratique de voir le dernier buffer valide, au boulot sous windows il y a ce comportement et il permet de pouvoir regarder ce qui vient d'être dessiné à l'écran alors que le soft vient de toucher un breakpoint.

                    • [^] # Re: video

                      Posté par . Évalué à 3.

                      Avec X, le redimensionnement est toujours lent alors qu'avec Wayland, il est vraiment plus rapide à moins que l'appli soit bloquée.

                      Certes, mais l'être humain aime la régularité: être uniformément lent est mieux accepté que rapide-lent-rapide.
                      Tu parles d'appli bloquée, moi je parle d'un "hoquet" par exemple le GC qui se déclenche en "stop the world"(*), avec X tu as une fenêtre qui continue a se redimensionner mais dont le contenu devient moche, pas terrible mais avec Wayland la fenêtre arrête carrément de se redimensionner pendant la "pause", oups!

                      *: je ne connais que 2 langage avec une implémentation libre où le GC est dit temps réel: SuperCollider(un Smalltalk avec une syntaxe a la C) et Nimrod(un langage qui gagnerait a être connu), 2 langage très peu connus..

                      • [^] # Re: video

                        Posté par (page perso) . Évalué à 1.

                        Avec X, le redimensionnement est toujours lent alors qu'avec Wayland, il est vraiment plus rapide à moins que l'appli soit bloquée.

                        Certes, mais l'être humain aime la régularité: être uniformément lent est mieux accepté que rapide-lent-rapide.

                        Le coup du GC, c'est totalement valide. Comme tu disais, ça va forcer les applications à pas faire les connes et à avoir un thread dédié à l'affichage.

                        • [^] # Re: video

                          Posté par . Évalué à 3.

                          Euh comme je le mettais, la plupart des langages ayant un GC "stop the world", avoir une thread dédié a l'affichage n'est pas suffisant à moins de désactiver (enfin au moins partiellement) le GC en début de redimensionnement ce qui parait assez raisonnable..

                          • [^] # Re: video

                            Posté par (page perso) . Évalué à 2.

                            Euh comme je le mettais, la plupart des langages ayant un GC "stop the world", avoir une thread dédié a l'affichage n'est pas suffisant à moins de désactiver (enfin au moins partiellement) le GC en début de redimensionnement ce qui parait assez raisonnable..

                            Oui, c'est un comportement possible. Je comprend mieux ta remarque sur le GC "temps réel".

                            Mais pour troller un peu, je dirai juste que ça ne rendra pas les applications Java plus mal intégrées qu'elles ne le sont déjà par défaut ;)

  • # post inutile

    Posté par . Évalué à 2.

    J'ai adoré regarder ta conférence de 50 minutes.
    Je n'ai pas pu supporter celle de 3 heures, le son est trop horrible et je n'ai pas trouvé de quoi l'améliorer.

    Juste pour dire que j'ai très apprécié ce moment vidéo, que j'aurais voulu être là moi aussi, et que j'espère que si tu devais recommencer cet exercice tu penseras à ceux qui loin de la gaulle apprécient quand même te regarder à travers ces pixels remplit de savoir à partager.

    De tellement loin,
    a+

    • [^] # Re: post inutile

      Posté par (page perso) . Évalué à 1.

      Merci pour le retour.

      Ça veut dire quoi loin de la gaulle? J'hésite à redonner une conf comme ça à la FOSDEM cette année. Sinon, pour la vidéo de 3h, le son m'avait paru bon. Je vais voir pour augmenter le volume des 2 vidéos et écouter pour plus pour comprendre où est le problème).

      Le journal a été publié trop tôt et j'ai pas eu le temps de retoucher l'audio…

      • [^] # Re: post inutile

        Posté par (page perso) . Évalué à 3.

        Ça veut dire quoi loin de la gaulle? J'hésite à redonner une conf comme ça à la FOSDEM cette année.

        Si c'est le cas, je pense que j'y irais.

        « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

      • [^] # Re: post inutile

        Posté par . Évalué à 0.

        Shang'hai RPC.

        Pour l'audio, je ne sais pas, pt'et ma distrib est une branque, mais au bout de 50 minutes le son à fond, l'équaliseur réglé 15 fois, je n'en pouvais vraiment plus.

        Bon l'objectif numéro 1 était de faire la conférence, et tu le fais bien (y'à pas des eueeeeeeuuuuhhhh partout ect).
        Le reste c'est cerise, et c'est déjà cool !

    • [^] # Re: post inutile

      Posté par . Évalué à 2.

      Curieux? Je n'ai pas entendu de différence entre le son des 2 conférences.
      Il y a effectivement quelque bruits parasites (toux, portes..) mais ils sont assez rares..

Suivre le flux des commentaires

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