Le portage de Gallium 3d progresse sur Aros

Après quelques mois de calme et malgré l’arrêt du développement d’OWB, ArOS continue d’avancer notamment avec Gallium 3d.

Ce dernier est un pilote 3D qui exploiterait les capacités matérielles des cartes graphiques.

Une première vidéo circule sur YouTube, montrant que le port est en bonne voie. Pour les anglophobes, il s’agit d’une vidéo montrant un rendu 3D temps réel openGL exploitant directement les capacités de la carte graphique utilisée.

Reste à voir ce que donnera ce portage, simple démonstration technique ou création d’applications concrètes (composition bureau, jeux, etc.).

À suivre.

Liens internet :

20 Commentaires

Passer au formulaire de commentaire

  1. Merci pour cette news demether ! 😉

    • demether sur 22 octobre 2009 à 0h05
      Auteur

    de rien,

    dans l’intervalle j’ai essayé de me renseigner sur les applis concretes de gallium.

    TOut d’abord, apparement le “truc” porté en premier lieu (et concerné par la bounty) n’est pas véritablement un driver 3d. Faudra (si j’ai bien compris, encore une fois, n’etant pas dévellopeur) : 1) créer les drivers necessaires 2) faire communiquer ça avec les applis utilisant MESA .

    Donc voilà pourquoi la prudence est de mise…

    edit : suite aux explications qu’on m’a donné j’ai retiré mes conneries dues à mon ignorance…

    • sur 22 octobre 2009 à 9h41

    Ce n’est ni plus ni moins qu’une api. Pour la video je l’avais poster y’a deja quelques temps sur le fofo.
    C’est ce qui bloque ce sont les pilotes justement.

    • Ball000 sur 22 octobre 2009 à 10h15

    Non. Le bounty porte sur un portage de Gallium3D vers un pilote AROS (ceux qui sont appelés “HIDD”), ce qui permettra de partager les ressources de Gallium entre toutes les applications qui feront appel à la mesa.library.
    Actuellement, Gallium n’est pas partagé, et doit être lié à une application au moment de la compilation de celle-ci, et lors de l’éxecution une seule application liée à Gallium peut être lancée à la fois (sinon plantage assuré).
    Quand le bounty sera complété, Gallium sera partagé entre les applications qui le souhaitent par la librairie partagée mesa.library, et toutes les applications (il y en a déjà beaucoup, voir par exemple les jeux portés récemment par Matthias “Mazze” Rustler) qui font déjà appel à la mesa.library seront accélérées matériellement.

    Donc tout le monde vera une amélioration immédiate dès que le Bounty sera complété, à la seule condition d’avoir une carte graphique supportée par les pilotes Gallium (c’est déjà le cas de la plupart des cartes NVidia, de beaucoup de cartes ATI, et même de beaucoup de systèmes intégrés Intel).

    Par contre, il est vrai que les bibliothèques système ne prévoient pas de s’adresser à la mesa.library pour l’instant, et que le système lui-même n’est pas concerné par le Bounty. Il faudra probablement implémenter une extension à la layers.library pour lui permettre de bénéficier de Gallium3D. Chaque chose en son temps.

    • demether sur 22 octobre 2009 à 10h38
      Auteur

    merci pour ces précisions, j’avoue que c’est assez technico technicien pour moi tout ça, là ton intervention permet de mieux comprendre.

    Dans un avenir proche, j’espere que ça servira à la gestion du bureau, et des applis de “base” (mplayer, OWB…)

    mais en tout état de cause, c’est une trés (trés) grosse avancée théorique, non ? car l’avenir est aux GPU multicore ?

    • mrodfr sur 22 octobre 2009 à 11h27

    salut,

    L’auteur de wazp3D est interessé par une integration de gallium3D, qui lui servirait a remplacer le tres buggé warp3D (celon certaines personnes) entre autre.

    • leo sur 22 octobre 2009 à 13h17

    Je me suis renseigné un peu (on parle aussi de Gallium 3D pour Haiku) sur ce que c’était.

    Le principal intérêt est d’avoir des drivers 3D multi-plateformes, et plus petits que les drivers actuels Unix.

    Sur le site, seul un support préliminaire des cartes intel est mentionné mais apparemment c’est bien plus avancé 🙂

    Des drivers multi-plateforme: une sacrée avancée 🙂

    • demether sur 22 octobre 2009 à 13h21
      Auteur

    ce qui sera bien aussi (dans ce que j’ai lut en tout cas) c’est que les drivers seront alors “cross plateform”, donc une fois le bouzin en place, il sera facile ( 😀 ) de migrer un driver linux (ou les dévs sont légions) vers AROS.

    • sur 22 octobre 2009 à 15h40

    c’est donc si j’ai bien compris une implementation d’une api avec ses propres pilotes graphiques ce qui fait que meme le systeme actuel sans pilote pourrait lancer un soft 3d en hard directement avec cette api c’est ca ?

    • Ball000 sur 22 octobre 2009 à 16h25

    Pour simplifier encore, c’est la bibliothèque partagée mesa.library qui va profiter de l’accélération matérielle (puisqu’elle utilisera les HIDDs Gallium3D, qui implémenteront l’accélération matérielle pour chaque famille de carte… le bounty apportera de toute façon le support (les HIDDs) des cartes nvidia).

    Un logiciel qui utilise la mesa.library sera automatiquement accéléré matériellement, à partir du moment où la carte graphique est supportée par Gallium (si elle ne l’est pas (pas de HIDD pour elle), on retombe sur les pilotes logiciels par défaut de Gallium, qui fonctionnent dès maintenant).

    • demether sur 22 octobre 2009 à 16h42
      Auteur

    donc un projet qui serait sympa, c’est de voir wanderer (le workbench d’aros) et tous ses composants utiliser mesa…ainsi on aurai accés à un bureau acceleré ? (et à terme des effets de composition)

    • Ball000 sur 22 octobre 2009 à 16h48

    Oui, mais tout l’affichage est géré à un moment ou à un autre par la layers.library (je crois, en tous cas… que ceux qui savent me corrigent SVP), d’où l’intérêt à mon avis d’étendre celle-ci pour lui permettre, selon la volonté de l’utilisateur, d’utiliser mesa. Ainsi, tout le système est accéléré d’un coup.

  2. Bonjour.
    >>L’auteur de wazp3D est interessé par une integration de gallium3D
    Oui c’est moi 😉
    Enfin pour l’instant je lis les sources de gallium et j’essaye de comprendre comment ça marche (gallium c’est tout neuf et on trouve pas trop de doc sur le web…)
    A priori on doit pouvoir wrapper Wazp3D –> Gallium (y a des ressemblances) mais ça sera pas facile :-/ … surtout par manque de doc sur l’API Gallium
    Sinon on pourra toujours wrapper Wazp3D -> Mesa
    (c’est idiot mais avec un mesa en hard hyper rapide ça vaudra le coup)

    Sur comment “Gallium ça marche ?” normalement ça fait qque chose comme ça sur Linux
    Appli -> Mesa -> Gallium –> Driver de CartePCI
    Avec tout cela qui se lie dynamiquement –>
    Mais là actuellement sur AROS tout est lié statiquement c’est à dire comme si on avais un gros programme avec tout dedans qui tape +- directement dans le hard

    Quand à porter les composantes de l’Amiga (layers) etc… sur Mesa : ça qqun (de courageux) peut le faire tout de suite avec un vieux Mesa en software (StormMesa par exemple) et quand Mesa aura Gallium3D cela passera alors en hardware

    >les bounties se concentrent sur un “minimum syndical”
    Je sais pas si tu vois la technicité du truc: même faire un petit pas demande beaucoup d’études

    > que le système lui-même n’est pas concerné par le Bounty.
    Si il faudra réécrire le driver hidd de la carte graphique
    Car ce hidd et gallium ne pourront pas taper tout les deux dans le hard de la carte
    En fait il faudra refaire un driver 2D à partir de Gallium3D

    Alain

    • sur 22 octobre 2009 à 19h45

    Je commence a apprecier ce truc si ca va jusqu’au bout ca peut vraiment donner quelque chose de terrible 🙂

    • demether sur 22 octobre 2009 à 20h19
      Auteur

    >les bounties se concentrent sur un “minimum syndical” Je sais pas si tu vois la technicité du truc: même faire un petit pas demande beaucoup d’études

    Non effectivement je ne me rends pas compte du coté technique, aprés c’est plus du ressentit : parfois l’impression que derriere l’avancée apporté par la bounty, on ne voit pas grand chose de concret et/ou véritablement finit pour l’utilisateur final 😉

    ya aussi la frustration de vouloir que le projet avance plus vite !

    En fait il faudra refaire un driver 2D à partir de Gallium3D

    Je pensai que les bureaux modernes avec plein d’effets étaient déja en 3d ? ce qui me fait me demander l’interet d’un driver 2d ? Tu vois encore que je ne suis pas technicien loin de là 😀

  3. Développer c’est difficile.
    Développer des drivers c’est difficile et très très pénible.
    C’est la raison pour laquelle les bounties sont liés à un composant logiciel, et pas directement à une fonctionalité visible pour l’utilisateur, dans le cas contraire la tâche serait trop intimidante et personne ne prendrait le bounty.

    “j’ai pris les sous de la bounty, hop minimum syndical pour la remplir juste ce qu’il faut, aprés ça demerdez vous, vu qu’il n’y a plus de sous à prendre”

    C’est par ignorance que tu es aussi injuste:
    * le montant des bounties est ridicule rapporté aux tâches demandées, avec de tels tarifs on est pas dans le domaine du professionnel, je dirais plutôt qu’on est dans le bénévolat subventionné
    * rien que l’étude de réalisabilité d’un bounty demande déjà un gros travail (en plus d’une grande compétence)
    * la plupart du temps un bounty implique des corrections de bugs et/ou des améliorations dans des composants annexes non couverts par le bounty, il n’est donc pas possible de faire le minimum syndical, il faut toujours faire plus
    * une fois le bounty achevé on ne peut pas forcément aller bien plus loin, parce que déjà plus de travail que prévu, ou plus de temps disponible, ou pas les compétences, ou la faute à d’autres composants, manquants, incomplets ou boggués

  4. Surtout qu’on est injuste car le bounty “gallium” c’est réussir à faire qque chose d’extraordinaire
    1) Porter le driver Gallium hardware (y compris son rendu Software) comme driver AROS (hidd)
    3) Faire au moins le driver Gallium d’une carte 3D
    2) Modifier Mesa pour lui faire utiliser le driver Gallium dynamiquement
    3) Recompiler qques demos Mesa pour montrer que ça marche
    Le tout doit être modulable: C’est à dire au minimum obtenir une mesa.library et un gallium.hidd
    (en fait il faudra aussi modifier le driver 2D de la carte du genre “si tu vois passer une commande gallium hardware alors interromps toi et fais là”)

    Bref ce “bounty” c’est rien moins ( 😉 ) que donner le rendu 3D à AROS pour au moins une carte 3D
    (on peut pas exiger d’un développeur bénévole d’avoir tout les PC/cartes3D )

    Alain

    • demether sur 23 octobre 2009 à 10h30
      Auteur

    Ok, c’est plus clair, merci ! 😉

    • demether sur 24 octobre 2009 à 23h12
      Auteur

    je remonte le topic : OWB n’est pas arreté, j’avais lut ça sur un topic du forum aros (disant que l’auteur d’OWB avait quitté le navire), et apparement c’est juste en pause…voilà 😀

    bonne nouvelle ,donc.

    Le lien à cause du quel j’ai pensé qu’OWB etait abandonné :

    Discussion qui sous entendait qu’OWB etait abandonné

    je cite :

    Seams like we lost our best developer (sszymczy) The man behind OWB.(…)Someone should maintain OWB, since sscyzmy is not with us anymore.

    Depuis, l’auteur d’OWB s’est manifesté sur le forum officiel, donc…

    Si un modo passe par là et qu’il peut modifier la news… 😉

  5. Je rajouterai aussi que pour l’instant Krzysztof/deadwood (le développeur Gallium) en est juste au début du bounty AROS “gallium” puisque la “séparation” en Mesa.library et gallium.hidd n’est pas encore commencée 🙁
    Donc ce qui a été fait semble partiel (“minimum syndical”) car c’est pour l’instant partiel : le bounty final est bien plus ambitieux

    Pour ma part je pense commencer à écrire mon wrapper Wazp3D->Gallium la semaine prochaine: pour la partie 3D je suis confiant (j’ai la doc posée la à coté de moi) mais pour la partie “démarrage de Gallium” (s’accrocher à un écran,créer un context, s’attacher à une bitmap Amiga) j’ai aucune idée de comment faire 🙁 il faut dire que je suis pas un développeur AROS ni Linux ….)
    Néanmoins ce sera un grand pas en avant 😉 si ce code de wrappage est fait

    Pour moi le plus simple (et limité) aurait été de faire Wazp3D->Mesa->Gallium mais en fait j’aime pas trop OpenGL/Mesa 😛

    Car Mesa/OpenGL je le trouve trop orienté “traçage” : je donne des points je met des states je trace un triangles… puis le suivant =trop lourd)
    Moi je préférerai créer une library orienté “objet3D” je veut dire qui gére un objet3D complet (avec ses materiaux/textures/points) éventuellement chargé depuis un fichier et qui le trace directement

    Alain Thellier

Les commentaires sont désactivés.

Amiga Impact