Journal Que gagnent Red Hat et VMWare à écrire un pilote 3D AMD libre ? Question.

Posté par . Licence CC by-sa
40
24
fév.
2011

Depuis plusieurs mois, je suis activement le développement des pilotes libres 3D pour cartes AMD. Il s'agit des pilotes r300g et r600g. Je vais plusieurs fois par semaines vérifier le git de Mesa à la quête d'un commit apportant le support d'une fonctionnalité 3D ou d'une optimisation du code. Tout ça dans l'espoir d'un jour pouvoir jouer à ETQW avec un pilote libre (cf. mon précédent journal). D'ailleurs, d'après mes pronostics, ça sera possible 'out-of-the-box' avec Fedora 16. Disponible dès maintenant en mettant les mains dans le cambouis, comme on dit.

Bon, mais le but de ce journal n'est pas vraiment de parler de cela, mais plutôt pourquoi Red Hat et VMWare contribuent-ils à créer/améliorer ces pilotes libres ? Quand je parle de pilote libre, en fait ici je parle simplement de l'accélération 3D hardware, c'est à dire de Mesa (architecture Gallium). Il va s'en dire que pour que cela soit utile il faut avoir le nécessaire dans le noyau (LE pilote hardware en tant que tel) ainsi que l'architecture Gallium dans Mesa. Ces 2 parties essentielles sont également travaillées par Red Hat et VMWare, mais pas que. On peut citer AMD déjà, mais aussi d'autres entreprises de manières plus ponctuelle ou bien encore des particuliers.

Concernant la pure accélération 3D, Red Hat et VMWare sont clairement les 2 entreprises les plus contributrices. Alors pourquoi ? Quel est l'intérêt pour Red Hat ou VMWare de faire en sorte qu'une Radeon X800 ou une Radeon HD 4850 puisse faire tourner Xonotonic ou Quake 4 ? C'est vrai, Red Hat produit une distribution et des services avant tout destinés aux entreprises. De même pour VMWare. Alors il faut relativiser, Red Hat doit compter dans les 3000 employés environ (chiffre trouvé sur Internet, à prendre avec des pincettes) dont "seulement" 2 (à ma connaissance) travaillant activement sur l'accélération 3D des Radeon. Qui chez Red Hat a pris la décision d'employer des personnes pour travailler sur quelque chose qui n'a pas, a priori, de rapport direct avec son activité ? Est-ce par philanthropie ? Ou bien par stratégie : faire plaisir à la communauté afin d'en tirer avantage ultérieurement (image de marque, expérience, etc.). Honnêtement, il est clair que Red Hat a pour moi une bonne image, j'utilise Fedora et lorsque je dois pousser l'usage de Linux en entreprise, je me porte naturellement vers du Red Hat/CentOS/Fedora.

Concernant les quelques employés d'AMD travaillant au support des Radeon (2 ou 3 personnes à ma connaissance), la réponse est déjà un peu plus évidente : ils y apportent un support à leurs propres produits. Mais contrairement à Red Hat, le but d'AMD est simplement d'y apporter le support minimal. Et c'est dommage qu'AMD n'y attribue pas plus de ressources.

  • # Virtualisation

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

    Concernant la pure accélération 3D, Red Hat et VMWare sont clairement les 2 entreprises les plus contributrices. Alors pourquoi ?

    La virtualisation s'oriente de plus en plus à avoir un serveur central et à pouvoir déporter l'accélération 3D sur le poste client (intenable de tout regrouper sur le serveur). Pour s'en convaincre, il suffit de voir le développement de Spice qui s'oriente là-dessus. C'est pourquoi, on peut voir Red Hat (qui mise beaucoup sur la virtualisation dans ses offres) et VmWare travailler sur ce points.

    Voilà mon avis.

    « 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: Virtualisation

      Posté par . Évalué à 3.

      Je pense la même chose. Et à mon avis, on peut aussi le mettre en corrélation avec le projet Wayland, un serveur X initié par Red Hat plus adapté à ces technologies modernes.

      Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

      • [^] # Re: Virtualisation

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

        Hum... Il me semble que Wayland a été initié par un employé de RedHat (Kristian Høgsberg) sur son temps libre, il n'était pas payé pour développer wayland. Je ne suis même pas sûr que ce monsieur travaille toujours pour RedHat.

        Quand à Wayland, ce n'est pas un serveur X, il utilise un protocole différent, mais il se base sur les même briques que X pour fonctionner (KMS, evdev, etc...). Par contre X peut tourner par dessus Wayland, les applis X peuvent donc toujours fonctionner.

        Bon je chipote

        • [^] # Re: Virtualisation

          Posté par . Évalué à 3.

          KRH travaille pour Intel actuellement (et il n'est toujours pas payé pour travailler sur Wayland). Jusqu'à présent, l'implication de RedHat dans le projet s'est limité à permettre à certains employés du groupe desktop (entre autre Ray Strode) de consacrer une partie de leur temps de travail sur Wayland il y a quelques temps.

    • [^] # Re: Virtualisation

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

      Mon avis est proche : oui c'est clairement pour la virtualization et l'accélération 3D, mais non, pas pour la déporter vers le client : d'ailleur quel intérêt ? Autant faire tourner l'appli sur le poste client...
      L'objectif est plutôt pour moi de préparer la concurrence des démos effectuées par Microsoft l'année dernière avec la dernière version de RemoteFX : jouer à Crysis avec un bête terminal RDP, le serveur se chargeant de faire le reste.
      Et comme par hasard, tout ca se fait avec les dernières technos NVidia/AMD et des cartes 3D "pro" pour serveur.
      A mon avis l'objectif est de cibler un maximum de terminaux pas forcement performants (tablettes & co) avec des applis 3D dans le "cloud" (qui a dit jeux ?)
      http://en.wikipedia.org/wiki/RemoteFX http://blogs.amd.com/work/2010/07/12/microsoft_remotefx/ http://technet.microsoft.com/en-us/library/ff817602%28WS.10%29.aspx http://www.youtube.com/watch?v=sRbEh_58XmI Tout semble cohérent : une techno concurrente (RemoteFX), un gros marché potentiel (gaming), un environnement naissant (cloud), les acteurs clés (distri serveur avec RedHat et virtualization avec VMWare).

      • [^] # Re: Virtualisation

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

        Mon avis est proche : oui c'est clairement pour la virtualization et l'accélération 3D, mais non, pas pour la déporter vers le client : d'ailleur quel intérêt ? Autant faire tourner l'appli sur le poste client...

        En fait dans certains cas la visualisation depuis le serveur est plus intéressante. Je pense à des clusters de calculs où on génère des Go de données jours et pour lesquels le rapatriement de ces données peut être plus longues. C'est d'ailleurs pour cela que souvent sur certaines clusters une solution de visualisation distant (d'où la carte graphique développée) est possible.

  • # LTS

    Posté par . Évalué à 10.

    Il y a un autre soucis, c'est que sur le long terme, les pilotes proprios sont loin d'être la panacée.

    J'ai bossé sur une centos (kernel 2.6.9) dans le temps; et pour les postes desktop on utilisait fglrx, ce qui était mieux que vesa, mais la version de fglrx était figée.

    Suffit qu'une update de sécurité dans le noyau foute en l'air les interfaces qui vont bien, et tous les desktops doivent se démerder avec vesa (ati ne passait pas sur la carte)

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

    • [^] # Re: LTS

      Posté par . Évalué à 10.

      Suffit qu'une update de sécurité dans le noyau foute en l'air les interfaces qui vont bien

      C'est tout de même difficile à imaginer.

      Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • # Ça paraît logique

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

    Ça me paraît tout à fait logique que Redhat et VMWare bossent sur les pilotes AMD. Les deux en bénéficient.

    Dans le cas de Redhat, ils font une distribution orientée professionels ainsi qu'une autre distribution communautaire fort populaire. C'est pour eux un bénéfice indéniable que de permettre l'utilisation confortable d'outils 3d professionels tels que des *CAD, Blender etc.

    Pour VMWare, il y a déjà des implémentations 3d dans les machines virtuelles, notamment dans la concurrence, qui permet même de jouer à des jeux openGL dans une bécane virtualisée. J'imagine donc qu'ils voudraient pouvoir émuler une carte AMD dans leur bousin et avoir des perfs aussi bonnes que possible.

    Voilà c'était mes deux sous de la journée.

    • [^] # Re: Ça paraît logique

      Posté par . Évalué à 10.

      Dans le cas de Redhat, ils font une distribution orientée professionels ainsi qu'une autre distribution communautaire fort populaire. C'est pour eux un bénéfice indéniable que de permettre l'utilisation confortable d'outils 3d professionels tels que des *CAD, Blender etc.

      Clairement, il ne faut pas considérer que la 3D et les performances graphiques, c'est uniquement pour les jeux.

      C'est aussi, pour les effets kikoolol de bureau, qui quoi qu'on en disent fond vendre, pour avoir une accélération graphique et donc des performances graphiques décentes sur les bureaux un peu évolués et surtout, je pense, pour les logiciels professionels. Ne pas oublier que c'est le portage de catia et maya sous windows et linux qui a tué SGI (qui était auparavant le seul à proposer des machines et des OS capables de faire tourner ça). Il y a un réel marché pour ça, les gens de http://www.xig.com/ le savent bien.

      • [^] # Re: Ça paraît logique

        Posté par . Évalué à 5.

        Je confirme : par exemple en EDA (conception electronique), un marché pas négligeable...

        Tous les softs de référence (proprios très très cher) sont qualifiés pour RedHat. Il y a une utilisation intensive du graphisme 2D et pas mal de modules 3D apparaissent.

        De plus en plus les boîtes font basculer les employés sur des plate-formes virtualisées : PC de base "Office Productivity" pour Outlook... et faisons le coeur de notre métier dans une fenêtre (ça m'énerve !) !

        Donc on peut deviner qu'un bon paquet de retours à propos des performances agaçant les utilisateurs sont liés au graphismes qui ne répondent pas de manière satisfaisante.

        Selon les recommandations des fournisseurs de soft les services IT installaient régulièrement des nouveaux drivers proprios (nvidia), mais ça complique bien la vie... et toute la dernière gamme de PC commandée a en fait des cartes graphiques AMD ! Donc des gros clients industriels remontent bien à RedHat & VM* le besoin de drivers adaptés.

        </mavie>

    • [^] # Re: Ça paraît logique

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

      Sans oublier tous les outils de visualisation moléculaire utilisés en physique/chimie/mathématiques/...

      De plus si on regarde sur les gros calculateurs où c'est RH qui est installé ils ont un moyen de faire de la visualisation de système directement depuis la machine. Il vaut mieux que le pilote soit stable !

    • [^] # Re: Ça paraît logique

      Posté par . Évalué à 1.

      Avec l'émergence du cloud computing et des solutions de virtualisation du poste client, la possibilité d'avoir du rendu 3D ou vidéo à travers une connexion à distance va devenir une fonctionnalité importante.

      Red Hat à également de gros intérêts dans la virtualisation des postes clients comme le démontre leur engagement dans le projet SPICE.

      Je pense donc qu'ils trouveraient dommage d'avoir la technologie pour "virtualiser la carte graphique" sans avoir de bons drivers pour celle-ci.

  • # Pour contrôler ce qu'il y a dans leur OS

    Posté par . Évalué à 10.

    Je pense que les décideurs de RedHat ne sont pas naïfs, et que si une entreprise équipe ses employés avec des PC dotés de bonnes cartes graphiques, il doit y avoir une raison.
    Comme cité plus haut, les logiciels types CAD, Blender, etc. sont aussi utilisés en entreprise. A un autre niveau, un utilisateur aurait tôt fait de critiquer RedHat/Linux si son PC ne peut pas sortir une image sur un rétroprojecteur avec RedHat alors que sous Windows, ça juste marche.
    .

    Alors pourquoi ne pas utiliser le pilote proprio?
    C'est simple: contrôler ce qu'il y a dans la distribution!
    C'est très difficile d'assurer un support dès lors que des composants sont hors de contrôle avec un fort pouvoir de nuisance. RedHat ne joue pas la carte du Libre pour être à la mode, mais parce qu'ils en voient tous les bénéfices. Un pilote libre qu'on connaît bien, c'est autrement plus facile d'en assurer le support que de demander à AMD s'ils ne sont pas sûrs que ça viendrait pas de chez eux des fois?

  • # Pour gnome3 ?

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

    Sauf erreur de ma part, gnome3/shell/mutter a besoin d'une accélération graphique pour fonctionner.

    Si RedHat veut passer à gnome3 dans ces distributions, il faut qu'il y est des drivers libres qui tiennent la route.

    Matthieu Gautier|irc:starmad

    • [^] # Re: Pour gnome3 ?

      Posté par . Évalué à 10.

      Je parlais de bureaux évolués plus haut. J'aurais du préciser, les bureaux évolués, et gnome3, pardon pour l'oubli ;-)

      D'avance, bon vendredi,

    • [^] # Re: Pour gnome3 ?

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

      Non il est tout à fait possible de faire tourner GNOME 3 sans accélération graphique.

      Dans la FAQ de GNOME 3 on peut lire :
      « Do not worry though: GNOME 3 will come complete with a fallback interface which will provide an excellent experience in the absence of hardware acceleration, and which incorporates many of the improvements that can be found in GNOME 3. »

      « Un animal d'une atterrante stupidité : il est persuadé que si vous ne le voyez pas, il ne vous voit pas non plus » (H2G2)

      • [^] # Re: Pour gnome3 ?

        Posté par . Évalué à 3.

        Oui, mais comment ? On ne peut pas lancer GNOME Shell sans accélération graphique. Et si c'est pour utiliser les composants actuels (GNOME Panel et Metacity), ce n'est pas vraiment GNOME 3 (d'autant que ça n'évoluera plus, c'est juste maintenu).

        Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

  • # Parce qu'ils peuvent le faire ?

    Posté par . Évalué à 2.

    AMD ayant libéré les specifications de la partie ' accélération matérielle ' et du ' calcul ' de ses puces, RH et VMW ont matière à travailler.
    Après j'ai un doute: Lorsque tu écris " le support 3D ... r600g et r300g ", tu es conscient que le support 3D n'est pas exclusif à Gallium ? que les r600 et r300 ont un support 3D désormais plus qu'honorable aujourd'hui? ;)
    Par contre j'aimerai savoir ce qu'il en est des concurrents: Via, Broadcom, et Poulsbo. Est-ce que AMD est le seul fabriquant de puces qui dispose de 5 drivers pour faire fonctionner les bureaux sous Linux et 4 drivers sous les autres Unices ?
    Parce que :
    Catalyst ( proprio ) ( Linux + Windows )
    r600 ( branche Mesa de Freedsktop )
    r600g ( branche Gallium )
    radeonHD : " obsolète en ce moment " tant que les fonctionnalités des CG ne sont pas toutes exploitées de façon optimisées.
    VESA : générique conforme aux normes vidéos.

    Bon tout ça pour Xorg, ça fait un pneu beaucoup. Vivement Wayland. :)

    Sedullus dux et princeps Lemovicum occiditur

    • [^] # Re: Parce qu'ils peuvent le faire ?

      Posté par . Évalué à 4.

      Après j'ai un doute: Lorsque tu écris " le support 3D ... r600g et r300g ", tu es conscient que le support 3D n'est pas exclusif à Gallium ? que les r600 et r300 ont un support 3D désormais plus qu'honorable aujourd'hui?

      Bien sûr, mais la branche classique (r300c et r600c) est désormais surpassée par Gallium. Il ne faut pas s'attendre à ce que la branche classique évolue beaucoup désormais (en terme de fonctionnalité/performance).

  • # en réaction à nvidia ?

    Posté par . Évalué à 6.

    Avant, si on voulait avoir de la 3D performante sur une distribution GNU/Linux, il valait mieux choisir les cartes graphiques nvidia avec son pilote propriétaire.

    Depuis qu'AMD a ouvert les spécifications de ses cartes graphiques, on peut, avec de bonnes connaissances, écrire un pilote libre sans reverse enginneering permettant ainsi de concurrencer nvidia.

    Je pense que RedHat a tout intérêt à faire avancer ce projet :
    * pour démontrer que si on a les spécifications d'une carte graphique, le libre peut faire mieux que nvidia.
    * pour que les utilisateurs GNU/Linuxien choisissent AMD et ainsi faire pression sur nvidia.
    * pour encourager AMD à continuer dans cette voie.
    * pour espérer que nvidia change sa politique privatrice.

    • [^] # Re: en réaction à nvidia ?

      Posté par . Évalué à 4.

      De toute façon depuis que Optimus commence à se répandre, il vaut mieux éviter les NVIDIA.
      Parfois il n'y a même pas le logo optimus sur la bécane et on se retrouve comme un con avec un boulet de carte graphique qui se contente de faire radiateur.

      • [^] # Re: en réaction à nvidia ?

        Posté par . Évalué à 7.

        Le problème de Optimus, c'est son fonctionnement. Optimus est capable de lancer une application graphique sur un processeur graphique, lorsque les autres sont sur l'autre processeur graphique. Le fonctionnement actuel des WM sous X11 rend difficile l'implémentation de ce switch ( un seul serveur X pour le WM et les applications lancées avec ce WM ) . Le protocole X permet en fait qu'un WM lance plusieurs serveurs X, ou alors on peut encapsuler les 2 pilotes graphiques dans un pseudo pilote qui gèrerait les switchs , mais ce que ne permet pas le protocole X11, c'est l'attribution de tampons de la mémoire graphique exclusivement à une application. Donc en fait, Optimus n'est pas compatible avec X11.
        wayland faq

        Why not extend the X server?

        entirely possible to incorporate the buffer exchange and update models that Wayland is built on into X. However, we have an option here of pushing X out of the hotpath between clients and the hardware and making it a compatibility option. I'm not deluding myself that any general purpose desktop Linux distribution will stop shipping X as we know it or as a Wayland client anytime soon. Nor should they, there will still be X applications to run and people expect that from a Linux desktop. What's different now is that a lot of infrastructure has moved from the X server into the kernel (memory management, command scheduling, mode setting) or libraries (cairo, pixman, freetype, fontconfig, pango etc) and there is very little left that has to happen in a central server process.

        Du moins, c'est ce que j'ai essayé de comprendre à la démarche de Wayland.
        Le problème, c'est que le fonctionnement permettant de faire fonctionner au mieux les ressources disponibles sur la machine pousse à considérer que les solutions de type Optimus sont intéressantes pour réduire les consommations tout en conservant un potentiel de calcul parallélisé assez fort. Donc il est possible que la complexité de plus en plus forte des machines rende à l'avenir les ressources comme X11 incompatibles avec les matériels proposés. Tous les constructeurs vont se mettre à proposer des machines disposant de plusieurs processeurs de calculs. Apple , avec ces nouveaux Mac, par exemple, propose des Sandy Bridge ( avec IGP Intel intégré ) avec cartes AMD Radeon ( dont le switch est là manuel ).

        Le plus drôle dans l'histoire, c'est que le seul fabriquant qui a déclaré ne pas voir d'intérêt à Wayland, c'est NVidia, alors même que ce sont ses solutions ( Optimus ) qui ont le plus poussé à développer une alternative à Xorg.

        Sedullus dux et princeps Lemovicum occiditur

  • # Performances à venir ?

    Posté par . Évalué à 2.

    Je possède une ATI Xpress 1150 (chipset RS480M) dont le support a été abandonné il y a quasiment 2 ans (la liste est ici) ; je peux comprendre pour eux que vu qu'un pilote existe pour xp/vista/7 ils ne vont pas garder un support éternel.

    Je suis donc passé au driver libre quand Xorg est passé en 7.5 et je dois avouer que le support s'est amélioré au fur et à mesure des versions : de films dont le rafraîchissement était saccadé j'ai maintenant le droit au KMS et autres joyeusetés.

    En revanche, les performances très modeste de ce chipset ne sont toujours pas exploitée au maximum : alors que je peux jouer confortablement à Freedom Fighters sous windows, j'ai toujours du mal à lire un film en hd ou jouer à World of Goo sans souffrir de gros ralentissements sous linux. Dans un commentaire au dessus, j'ai lu que AMD avait "libéré les specifications de la partie ' accélération matérielle ' et du ' calcul ' de ses puces" : est-ce que c'est donc une question de temps avant d'avoir un support complet de ces cartes ?
    Et est-ce que je peux aider les développeurs d'une quelconque manière ?

  • # ETQW : ca marche maintenant avec libtxc_dxtn

    Posté par . Évalué à 1.

    " Tout ça dans l'espoir d'un jour pouvoir jouer à ETQW avec un pilote libre"

    et bien, ton espoir est réalisé, cela fonctionne parfaitement maintenant , avec le support S3TC. (testé sur mon chipset rv620 avec le driver r600g)

    il faut le kernel de la branche drm-radeon-testing , mesa-git ainsi que la librairie externe libtxc_dxtn (pour cause de brevet aux US)

    et ajouter une petit export R600_ENABLE_S3TC=1, pour forcer l'activation du support S3TC.

Suivre le flux des commentaires

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