Bootlin promet un support des circuits graphiques AllWinner sous Linux

Une approche intéressante proposée par Bootlin sur Kickstarter. Il s’agit de financer le développement de pilotes graphiques pour les puces ARM AllWinner sous Linux. Un moyen de profiter des capacités de décodage de ces SoC sous autre chose qu’Android.

C’est le genre de boulot qu’un constructeur demande en général à une société de développement en lui fournissant les documentations et éléments nécessaires. On prend la puce et ses spécifications et on travaille pour exploiter au mieux ses capacités sur l’environnement demandé. C’est un boulot complexe qui demande souvent pas mal de de ressources : Du temps principalement et, donc, de l’argent. 

 

C’est pour  cela que peu de pilotes existent pour les puces ARM en dehors de ceux développés pour Android, c’est à dire l’effort minimal demandé par le marché pour pouvoir lancer ses puces sur le secteur. Sans pilotes Android, la plupart des SoC ne seraient pas achetés par les constructeurs grand public mais se limiteraient à des usages industriels. Le souci d’un développement pour des systèmes Linux comme Debian ou Ubuntu c’est qu’ils sont libres et le plus souvent gratuits. Investir dans le développement de pilotes pour des solutions qui seront finalement distribuées gratuitement parait compliqué d’un point de vue financement.

Depuis toujours des développeurs indépendants proposent des logiciels libres et gratuits et travaillent sur ces éléments pendant leur scolarité ou pendant leurs loisirs. Des outils comme VLC de VideoLAN sont développés de manière totalement libre et gratuitement. La plupart essayent d’en tirer quelques subsides en proposant un système de dons sans jamais le conditionner à l’obtention de leur développement. Seuls les acheteurs satisfaits et conscients du coût humain en temps et en matière grise du travail effectué franchissent le pas d’un don pour ces derniers.

AllWinner Technology Logo

C’est bien, mais ce n’est pas suffisant pour développer sérieusement quelque chose sur une durée précise. La société spécialisée Bootlin a décidé de prendre le taureau par les cornes et d’inverser la tendance en utilisant le financement participatif. Grâce à une campagne Kickstarter, la société de développement n’attend pas l’hypothétique demande d’un industriel pour développer un codec pour les puces AllWinner mais propose directement aux utilisateurs de se prendre en main. Bootlin est une société connue, même si vous n’en avez peut être jamais entendu parler. Son ancien nom était FreeElectrons. Mais suite à une plainte de Free – le fournisseur d’accès – la marque a préféré en changer pour éviter le genre de problèmes que pose une entité qui a décidé que vous étiez une menace. Le genre de société pouvant s’offrir l’équivalent d’un bombardier B-21 en terme d’avocats et vous tapisser d’un arrivage massif d’emmerdements juridiques injustifiés mais coûteux.

FreeElectrons était connu du milieu Linux pour de nombreux développements libres et ses nombreuses documentations et apports au noyau Linux. En changeant de nom l’entité n’a pas changé ses habitudes et Bootlin a donc repris  logiquement le flambeau.

2018-02-05 17_34_44-minimachines.net

J’ai passé quelques minutes au téléphone avec la société Toulousaine pour essayer de comprendre leur démarche et elle est à la fois très simple et très encourageante. De nombreux clients de Bootlin souhaitaient bénéficier d’un support du VPU des puces AllWinner mais ne pouvaient pas payer les ingénieurs de la société pour qu’ils développent ce type de  support à eux seuls. Bootlin a donc décidé de proposer une mutualisation du travail au travers d’une campagne Kickstarter. Les partenaires industriels du développeur peuvent donc assumer chacun d’eux une part du coût du développement. Au lieu de s’offrir 6 mois de travail d’un ingénieur, charges comprises, ils mutualisent leur effort pour en profiter. Ainsi des marques comme Olimex, Libre Computer ou Pine64 ont mis la main à la poche pour payer les contributions les plus importantes de la campagne (1024, 2048 et 4096€, les ingénieurs ont de l’humour) et assurer son financement.

2018-02-05 17_45_14-minimachines.net

Les particuliers ont, quant à eux, investi dans les contributions les plus faibles de 4, 8, 16, 32, 64€ et plus. Et c’est tout à fait logique. Si les particuliers investissent moins, c’est parce qu’ils ont moins à y gagner. Proposer 4 ou 16€ pour bénéficier à terme d’un codec libre pour leur distribution linux est suffisant. Pour des marques comme Olimex ou Pine 64 qui commercialisent des cartes sous AllWinner, le jeu en vaut la chandelle car il y aura, à terme, un retour sur investissement. Leurs cartes proposeront un meilleur support de Linux et donc plus d’attrait.

Le pilote Sunxi-Cedrus décvelpoppé par Bootlin sur une C.H.I.P equipée d’un AllWinner R8 et piloté par un Linux 4.8

Est-ce que cela veut dire que les codecs seront accessible uniquement aux contributeurs ? Non ! Et c’est toute la beauté de la chose. L’ensemble des codecs développés par Bootlin seront intégrés au Kernel Linux et profiteront à l’ensemble des utilisateurs de solutions AllWinner. Un des objectifs de Bootlin est d’ailleurs expressément décrit comme la mise à disposition d’un Codec à destination des nouveaux comme des anciens SoC d’AllWinner : Les AllWinner A10, A13, A20, A33, R8 et R16 seront supportés tout comme les plus récents H3, H5 et A64. Un autre objectif est le portage des Codecs formats H.265 et H.264.  Deux ingénieurs seront en charge de ce développement et le montant nécessaire à l’obtention de tous les objectifs de Bootlin a déjà été largement atteint.

Je trouve la méthode originale et très pertinente. Le développement à un coût et ce coût est malheureusement parfois inaccessible pour certaines sociétés :

  • D’abord parce qu’avancer la somme demandée nécessite une grosse trésorerie que les différents acteurs de ce marché ne peuvent pas forcément assumer. Les 17 600€ demandés pour ce développement n’ont pas l’air énorme mais pour certains industriels, c’est totalement impossible à avancer.
  • Ensuite parce que cet investissement se fait dans une philosophie Libre. C’est à dire que si un industriel s’offre ce type de développement, il l’offre également à ses concurrents… On imagine mal une marque faire seule ce premier pas en sachant que les société concurrentes en profiteraient ensuite autant qu’elle, sans avoir eu à débourser un cent.

Avec ce financement participatif, chacun investit à hauteur de ses possibilités et tout le monde profite des fruits de ce travail. Les différentes communautés sauront prendre en compte les efforts de cette nouvelle forme de sponsoring de la part des marques. Une façon peut être plus intelligente de se promouvoir plutôt que de faire des concours sur les réseaux sociaux.

2018-02-05 17_43_11-minimachines.net

La fameuse carte du Kernel Linux : Elle est interactive, devinez sur qui on tombe quand on clique sur vga_con ?

Au téléphone, Bootlin me précise que si la formule fonctionne cela pourrait avoir un effet boule de neige. L’équipe de développement est, par exemple, très impliquée sur la gestion de la NAND dans le noyau Linux et travaille activement à la prise en charge des formats MLC ou TLC. Mais, faute de demande et de crédits, elle ne peut pas consacrer le temps nécessaire à un pilote véritablement parfait. Si ce premier financement porte ses fruits, Bootlin pourrait en envisager un autre sur ce sujet.

Mieux encore, cela ouvrira peut être la voie à un développement de ce type de campagne pour d’autres SoC, d’autres points bloquants du monde libre et fluidifier le développement de nombreuses plateformes.

27 commentaires sur ce sujet.
  • 5 février 2018 - 19 h 09 min

    Il me semblait que ARMbian travaillait sur les pilotes graphiques ?…

    Répondre
  • 5 février 2018 - 19 h 21 min

    Ah, que c’est beau ARM sous Linux avec toutes ces puces qui n’ont pas de support graphique adapté….
    Le jour où tut ça va changer, les cartes ARM vont s’envoler.

    Répondre
  • 5 février 2018 - 19 h 23 min

    @Piratu: C’est clair ! Le jour où les pilotes graphiques seront au point et qu’ils exploiteront le maximum de ces excellentes puces graphiques MALI T728 etc…, les cartes de dév ARM et les box TV vont connaître un succès exceptionnel !

    Répondre
  • 5 février 2018 - 21 h 49 min

    Class miseEnGarde:

    def modeRonchonRonchonActivated:

    Ben moi je crois bien que les cartes de dev ARM se sont déjà envolées. Les codecs, c’est pour ceussent qui se sortent jamais les doigts et qui demdandent à chaque carte “est-ce que je peux voir Netflix avec ?” (remplacez Netflix par ce que vous voulez, du H299, Canal Moins etc…) même pour une carte sans sortie HDMI prévue pour les systèmes headless.

    Return “Grrr”

    Répondre
  • 5 février 2018 - 21 h 52 min

    Merci Pierre pour l’article.

    La méthode est originale et généreuse et ça va certainement faire avancer le sujet !

    Répondre
  • 5 février 2018 - 23 h 39 min

    @starlord: il faut penser à tout le monde. Dans ce monde dans lequel nous vivons, y a entre-autres des flemmards, des gens qui se prennent la tête pour progresser, mais aussi des gens qui aimeraient se prendre la tête pour avancer mais qui n’en ont pas les moyens.
    Bootlin pense à tout le monde et c’est tant mieux.

    Répondre
  • 6 février 2018 - 2 h 23 min

    L’esthétique ça prime quand même pas mal.
    pours Les serveurs encore on s’en fout un peu ou les applications purement professionnelles/spécialisées aussi.
    Mais dès que ça touche le grand public, l’interface graphique et donc la puissance graphique ça compte pas mal.

    Répondre
  • 6 février 2018 - 7 h 36 min

    @starlord:
    Voilà ce que c’est d’être resté trop longtemps sur le Minitel… Ca a forcé les gens à se contenter de peu.

    Répondre
  • 6 février 2018 - 7 h 38 min

    (J’étais en mode anti-troll là ;) )

    Répondre
  • 6 février 2018 - 8 h 25 min

    Si je suis la logique de ces avocats-qui-justifient-leur-salaire-en-emmerdant-le-reste-de-la-planete (et en affirmant que tout désignation commerciale peut troubler la communication), Iliad dépose demain le nom boot et ils viendront faire suer à nouveau l’équipe toulousaine. C’est ça ?
    On notera au passage que cette engeance limite son rayon d’action à la France.
    Il existe des tas de free. (.de, .co.uk) autour de nous et n’ayant rien à voir avec Iliad et, visiblement, personne ne les emmerde.
    Bien et bien on va placer quelques dizaines d’euros dans ce projet, rien que faire suer ceux qui pourraient très bien financer 100 fois un tel projet mais qui préfère passer leur temps à de telles mesquineries.

    db

    Répondre
  • 6 février 2018 - 9 h 09 min

    @Sopilou : merci, c’est drôle !

    Répondre
  • 6 février 2018 - 9 h 50 min

    @Sopilou
    Armbian enne développe pas de pilote, mais un certain nombre de personnes de sunxi (ou aussi openelec/librelec) gravite autour, ce qui explique qu’il y ait des fils de discussion sur le sujet sur les forums d’armbian.

    Répondre
  • 6 février 2018 - 11 h 07 min

    Bon alors là j’ai besoin de votre aide… je ne comprend pas ! :D

    c’est pas à ARM de développer des driver pour ces GPU ?…
    et puis pourquoi les puces Allwinner ? si elles ont des MALI cela va marcher aussi sur des Rockchip&Co, non ?

    je ne vois pas comment je pourrais être contre ce projet… mais j’avoue ne pas comprendre pourquoi elles n’ont pas “déjà” un support natif de linux !
    d’autant que les dernier GPU (depuis les MALI6xx il me semble) ont un support OpenCL, c’est sur android l’OpenCL ? oO

    Répondre
  • 6 février 2018 - 11 h 11 min

    Voilà, c’est fait. C’est la première fois que je finance un truc sur une plateforme !
    Au passage : l’objectif est déjà atteint.

    Répondre
  • 6 février 2018 - 11 h 42 min

    Je ne pige pas non plus. AllWinner utilise quoi comme GPU? C’est pas un GPU soumis à du NDA (le constructeur file les docs suffisantes pour écrire un driver mais interdiction de dévoiler quoique ce soit, donc pas d’Open source) !?

    Répondre
  • 6 février 2018 - 11 h 56 min

    Hé-hé, Augure, personne ne peut être “contre” ce projet !

    Pierre a bien expliqué la situation dans son article.

    AllWinner motorise de très très nombreuses cartes. La communauté Armbian fait ce qu’elle peut mais la quantité de travail (et de cartes…) est énorme. Kodi ne marche pas par exemple, ni Retropie, la résolution des cartes AllWinner avec Armbian est figée sur quelques paramètres : on est loin de la Raspberry sur ses paramètres là.

    D’autres personnes sont intéressées par d’autres critères que la facilité ou la communauté EN FONCTION DU PROJET. Personnellement je me suis amusé à faire ça parce qu’avec la Rasp c’était trop facile. C’est mieux quand il n’y a pas de documentation, on se fait plus plaisir :

    https://sites.google.com/site/orangepizero/

    Mon cas n’est pas une généralité, mais si vous allez sur le forum Armbian, vous verrez qu’il y a plein de pays où l’on utilise autre chose que la Rasp (que j’adore) et pourtant il n’y a pas les codecs pour l’écran. Et pourtant, sans les drivers vidéos, des millions de cartes motorisées par AllWinner et Armbian sont vendues parce que les projets, ce n’est pas que Netflix (je vais essayer de ne pas m’énerver en écrivant cela).

    Si des ressources pros sont allouées, cela fera du bien. Si ça marche, ça va faire mal à la Rasp parce que la Rasp ce n’est pas le plus puissant ni le plus mieux bien. C’est ce qui marche sans se prendre la tête et si besoin avec beaucoup d’aide de la communauté.

    Il neige.

    Répondre
  • 6 février 2018 - 12 h 44 min

    J’ai du mal à comprendre tous les posts qui parle de netflix avec la Rpi… c’est pour du netflix “gratuit” ? car sinon, je ne vois pas trop l’intérêt, presque tout aujourd’hui permet de s’abonner à netflix facilement, des boxs à la TV en passant par les smartphones… oO

    @Starlord… ben si justement, les adorateurs des Rpi et ceux qui essaye de vendre ce que d’autres mettent à dispo ! ;)
    (boutade)

    sinon, je suis perso à la recherche de cartes plus “puissantes” (brute) que la Rpi. Pour un (des) projets scientifiques, mon but est de trouver un CPU KIVABIEN (genre A72, mais A53 très bien aussi) et un GPU (au moins OpenCL 2).
    j’évite les BIGlittle car je ne sais pas comment ils seraient intégré !
    L’idée et de voir si cela remplacerait les gros et lourd cluster x86+GPU et la perte de puissance (même si nous penserions à 20 SoC pour remplacer 1 supercalculateur de type 2xCPU+1GPU).

    j’ai cru avoir trouvé avec l’Odroid XU4Q, mais les CPU ne sont pas 64b et surtout pas Ooo… :/
    MAIS les drivers MALI ont l’air present car la carte est vendu comme compatible linux…

    alors pourquoi Odroid auraient des drivers MALI et pas AllWinner ???

    Répondre
  • 6 février 2018 - 13 h 05 min

    Je trouve que c’est une très bonne idée. J’espère que le projet aboutira. Comme Pipou24, c’est mon premier projet financé. Ce qui m’a décidé c’est que tout le monde puisse en profiter.
    Merci Pierre pour l’info

    Répondre
  • 6 février 2018 - 14 h 10 min

    Arf, la XU4 d’Odroid est motorisée par un processeur Samsung Exynos5422 il me semble : c’est pas du AllWinner.

    En très gros résumé : ARM c’est du jus de cerveau qui vend de la licence. Les fondeurs “fondent” des processeurs en utilisant les licences ARM. Un Exynos5422 c’est pas pareil qu’un AllWinner H3. Ce n’est pas parce que les drivers existent pour le Samsung qu’ils existent pour AllWinner.

    Cartes plus puissantes que la Rasp : c’est pas difficile, à peu près toutes les cartes récentes !

    Répondre
  • 6 février 2018 - 14 h 17 min

    @Augure
    J’ai cherché le même type de carte que toi, mais en opencl 2 il n’y a rien sous linux. Il y a éventuellement quelques cartes à base de snapdragon qui proposent un gpu suffisamment récent pour cela, mais il n’y que des sdk android.

    Le problème c’est qu’ARM ne donne pas facilement accès à ses drivers binaires, qu’ils sont limités à de vieilles versions du noyau et bien souvent il n’y a que la partie gpu et pas vpu qui est fonctionnelle dans ces cas là. Les fabriquants de soc intègrent à leur sauce les parties cpu + gpu/vpu ce qui fait que chacun a du boulot en plus des éléments fourni par ARM. Ceci est aussi du au fait qu’il s’agisse de SoC (System on Chip) où tout est intégré dans une seule puce alors que sur un pc classique, il y a des composants bien identifiés (cpu, carte graphique, carte son, etc. et la carte mère qui centralise tout) avec des pilotes pour chacun. Il n’y a qu’à voir les différences de gpu pour un même cpu. Dans les cartes récentes toutes à base de A53, il y a au moins 4 gpu différent (mali 400, 450, 760, 820) avec parfois des nombre de coeurs différent.
    Les SoC c’est bien pour la compacité et l’intégration tout en un, mais du coup c’est aussi un seul acteur qui doit faire tout le boulot sur la partie pilote.

    Répondre
  • 6 février 2018 - 15 h 44 min

    @Augure: Bien vu !

    Effectivement, c’est à ARM d’assurer le développement des pilotes graphiques entre autres, au moins pour l’OS Linux (pour Windows 10 ARM, c’est autre chose, quoique rien n’empêcherait ARM de le faire aussi en partenariat avec Microsoft).

    Répondre
  • 6 février 2018 - 16 h 19 min

    Super merci pour cet article !

    @Augure: tu as peur que les tâches envoyées sur un cœur Little mette trop de temps à s’exécuter ?

    Répondre
  • 6 février 2018 - 17 h 03 min

    Non, plus d’avoir des problems de compatibilite ou autre…

    Je reve d’un sd650… 8c little… Mais cela depoterai a fond !

    Répondre
  • 7 février 2018 - 8 h 56 min

    @Augure: je n’ai jamais vu de problèmes de compatibilité. Que ce soit pour le Big ou le LITTLE, le jeu d’instruction est le même. Un sd650 n’est pas en 8c little : “Two fast ARM Cortex-A72 cores at 1.8 GHz (max.) and four power saving ARM Cortex-A53 cores at 1.2 GHz (max.)”. Ça serait plutôt le cas des 6XX<650.

    Répondre
  • 7 février 2018 - 10 h 49 min

    Dsl, j’ai écris depuis mon smartphone en anglais et je galère (correction automatique de tous les mots qu’il ne connait pas… j’ai loupé celui là… comprend pas ! :D )

    Oui je voulais parler des SD625, avec 8c A53@2Ghz et un GPU OpenCL compatible !

    Je ne m’inquiète pas d’incompatibilité, mais des différences dans les calcules que nous n’aurions pas anticipé.

    je suis scientifique (biochimiste) et nous faisons régulièrement du docking ou autre (mais le docking me parait bien pour les cpu ARM) et nous nous interrogions sur la pertinence des x86 lors de notre achat de notre serveur de calcul (70Ke) l’an dernier…

    n’étant pas informaticien ou bioinformaticien, je me dis qu’un seul type de core sera plus simple à gérer… je suis un énorme adepte de “simply is better” ;)

    Répondre
  • 18 mars 2018 - 14 h 06 min

    Bonjour à tous,
    Il ne reste plus que 8 heures à la campagne de financement et le deuxième palier, pour le décodage H265, est à portée de main (il manque 574 € à l’heure où j’écris). Donc à ceux qui veulent donner et qui ne l’ont toujours pas fait, c’est maintenant !

    Répondre
  • 23 juillet 2018 - 17 h 16 min

    […] février dernier je vous parlais de Bootlin, une société qui lançait un Kickstarter pour financer le développement de pilotes graphiques Open…. La communauté a suivi cet appel et ce sont plus de 30000€ qui ont été récolté à […]

  • LAISSER UN COMMENTAIRE

    *

    *