Nvidia travaille son Open Source et séduit la communauté Linux

Il y a quelques années, vous auriez dit à un développeur de logiciel libre qu’il allait devoir coder pour une puce Nvidia, vous auriez immédiatement pu remarquer une jolie poussée de fièvre et un regard torve lui assombrir le visage. Depuis quelques temps, la situation a changé et Nvidia semble plus apprécié des développeurs.

Résumé : En ouvrant son code source dans un vrai projet libre, Nvidia cherche à séduire la communauté Linux; non pas pour leurs beaux yeux mais plutôt pour leurs doigts et leur cerveaux : La marque compte bien profiter de leur talent pour amener ses puces à de nouveaux niveaux de performance et de fiabilité sous Android et les diverses plate-formes Linux.


Développer autour de solutions Nvidia c’était, il y a encore 2 ans, comme demander à un pongiste de faire un épaulé-jeté de 250 kilos sans échauffement. L’effort était considérable en grande partie parce que Nvidia gardait bien au chaud, au secret, ses codes sources les plus importants comme les éléments les plus basiques. A l’époque donc, une grande partie du travail était liée au tâtonnement du retro-engineering consistant à comprendre étape par étape comment les puces fonctionnent et les implications que cela avait sur le code.

Tellement déconfits les Linuxiens que Linus Torvald, papa historique de Linux, avait eu quelques démonstrations fort peu affectives contre la marque de processeurs.  Depuis, de l’eau a coulé sous les ponts et Nvidia semble avoir saisi l’importance de Linux dans son univers : Les puces Tegra étant avant tout conçues pour faire tourner Android, lui même s’appuyant sur le code de Linux, il semble qu’aider la communauté des développeurs en leur donnant un meilleur accès à ses sources puisse avoir un impact positif.

Linus Tovald

En terme d’image tout d’abord, puisque Torvald vient de changer de doigt pour signaler son approbation envers Nvidia : Passant d’un majeur vertical à un pouce vers le haut, il montre clairement qu’il apprécie ces efforts.

En terme de développement également puisque l’accès au code permet d’optimiser au mieux les systèmes et les applications pour ses puces. Nvidia en sortira gagnant avec plus d’applications et des éléments plus rapides car mieux codés sur mesure pour coller aux fonctions matérielles des Tegra.

Nvidia Tegra K1

L’événement qui fait danser la gigue aux développeurs Linux c’est tout simplement la sortie rapide, voire très rapide puisque la puce elle même n’est pas commercialement disponible, du code source des pilotes graphiques de son nouveau processeur Tegra K1. Cette  approche du fabricant de puces qui s’implique donc désormais dans l’Open source va permettre un développement plus aisé sur Android, mais également ouvrir la voie à d’autres systèmes à terme. Baptisé Nouveau, c’est un véritable projet Open Source qui a été mis en place par le fondeur.

Avec ce processeur Tegra K1 utilisant des circuits identiques Kepler aux gammes de puces graphiques de PC, il y a là une opportunité très intéressante de développements annexes. Au vu des performances annoncées du K1, il est possible que l’on découvre un jour ou l’autre ce type de solution dans des machines faisant tourner autre chose qu’Android.

L’autre bonne nouvelle que cette ouverture implique est dans les possibles conséquences qu’elle aurait sur le marché concurrent. Que vont faire les propriétaires de licences graphiques totalement opaques à l’open source encore aujourd’hui ? Si des développeurs Android travaillent au corps les puces Nvidia de façon à  exprimer tout leur potentiel, il est fort possible que le résultat final soit une énorme avance technologique pour la marque : Des performances en nette hausse et une consommation parfaitement équilibrée sur différents systèmes. Des arguments qui feront mouche auprès des constructeurs mais aussi des utilisateurs. Comment répondront ceux qui ont encore aujourd’hui des systèmes opaques empêchant de développer facilement des solutions Open source ? Si ils restent enfermés dans cette voie, Nvidia pourrait prendre le large.

A noter que quand on est un développeur Linux, on change parfois d’avis.

23 commentaires sur ce sujet.
  • 4 février 2014 - 10 h 58 min

    Des mini box a 100€ – 150€ sous Tegra K1 en 4coeurs cortex A15 et avec de vrais drivers ?

    Le rêve ! ca ferait des PC linux très puissants, incroyablement économes et compacts, que ça soit pour le bureau ou le calcul embarqué GPGPU (robotic).

    Il y a la un énorme potentiel, les bases seraient la pour un déploiement massif des minimachines (type minix neo x5), avec des linux aboutis, a insérer sous toutes les TV !

    Répondre
  • 4 février 2014 - 12 h 50 min

    “Baptisé Nouveau, c’est un véritable projet Open Source qui a été mis en place par le fondeur.” hum… Nouveau un projet de pilote libre pour les cartes graphiques Nvidia débuté il y a un bon moment déjà c’est le résultat de rétro ingénierie, que Nvidia aujourd’hui y contribue c’est bien mais c’est pas lui qui a lancé le projet.

    ensuite que Nvidia délivre le code source du processeur ARM K1(et surtout documenté : ce qui a l’époque a valu le majeur levé de Linus) est encore loin de sortir les pilotes de toutes les cartes graphiques créées par le fondeur.

    “A noter que quand on est un développeur Linux, on change parfois d’avis.”
    bien sûr, la position d’un choix est majoritairement basé sur la logique, le choix est défini parce qu’il est logiquement le bon pas par préférence d’habitude ou d’émotion.

    on verra sur le long terme si c’est juste un coup marketing pour vendre des puces ou un réel tournant sur de développement des pilotes Nvidia :)

    Répondre
  • 4 février 2014 - 13 h 11 min

    Un peu d’a peu près dans cette news :(

    >Baptisé Nouveau, c’est un véritable projet Open Source qui a été mis en place par le fondeur.

    Nouveau est justement le projet open source lancé par les développeur il y a quelques années pour faire des drivers open source nvidia pour linux, nvidia ne fournissant que des binaires.

    Il y a quelques temps nvidia avait annoncé qu’il contribuerait à ces drivers open source pour améliorer le support pour ne pas dégrader (trop) l’expérience utilisateur. En effet certaines distribution linux ne fournissent pas les pilotes binaires de nvidia et donc l’utilisation de nouveau est obligatoire sous peine de ne pas pouvoir installer linux.
    Certains on même pensé que l’annonce de nvidia qu’il contribuerait au projet nouveau est juste pour que l’utilisateur ai le temps d’installer leur drivers binaires.

    Pour l’instant, on est plus dans un “entre-deux” où nvidia a fait des annonces et on attends réellement les actes pour savoir de quoi il en retourne.

    Ces patchs proposé sont un premier pas (outre l’ouverture déjà de certains docs sur d’autres vieux modèles) mais j’irais à l’encontre de l’euphorie de cet article dans le sens où ce n’est pas le drivers entier qui a été contribué mais seulement quelques patchs de travail préliminaire (et c’est bien indiqué dans le mail du développeur : cf http://lists.freedesktop.org/archives/dri-devel/2014-January/053028.html ).

    Mais c’est vrai que c’est un premier pas significatif.

    PS : Par contre, je pense vraiment pas que ça va changer quelque chose pour Android car se seront toujours les drivers binaires qui seront utilisé et il faudrat attendre longtemps avant que des drivers Nouveau soient utilisés dans un produit commercial à la place des drivers binaires de nvidia (à moins que nvidia change complètement son fusil d’épaule et abandonnent ces drivers propri pour contribuer intégralement aux drivers Nouveau. Ce qui serait une REVOLUTION!)

    Répondre
  • al
    4 février 2014 - 14 h 00 min

    Pourrait-ce aussi être dû à SteamOS?

    Répondre
  • 4 février 2014 - 14 h 08 min

    heureusement que les dev peuvent changer d’avis,
    c’est bien connu y a que les imbéciles qui changent pas d’avis alors changer, pas de soucis !
    (surtout en infos, dans le genre qui bouge tous le temps et retourne sa veste à 220 à l’heure, y a pas pire, enfin peut être remarque)

    sinon après, le hic sur nouveau et les drivers, bon c’est clair que quand on connaît pas super bien linux et juste comme user, ben c’est pas clair

    en gros le hic entre linux et nvidia c’est 2 choses vraiment grrrr
    – optimus sur les portables (mais de mieux en mieux supporter, voir la beta 14;04 de cubuntu avec les drivers pré intégrés, ça change et y a du progrès)
    c’est pas encore ça mais la batterie fond plus comme du beurre au soleil du sahara et nvidia à peut être compris pour le futur et aidera (enfin)
    – et arm (là, point de salut à l’heure actuel sauf sur carte tegra de dev en mini tix ou tous est fournis et bootloader pas verrouillé, mais ça coûte un bras !!! – j’exagère mais le même prix qu’un bon (voir très bon) pc mini itx X86-64 aussi puissant et bien plus polyvalent)

    pour les cartes graphique, aucun soucis (mieux c’est intel mais pas les meme perfs graphiques) et il y a le choix entre les drivers nvidia “protégés, signés” comme sous windows, et le driver libre “nouveau” qui marche nikel mais moins performant pour les jeux (et logiciels comme blender par exemple et equivalent en imagerie médicale, architecture etc etc pour bien comprendre certains besoin pro sous linux)

    je pense que c’est valve et steamos qui font bouger tous les acteurs des puces graphiques pour avoir de meilleurs et plus “compréhensible” solutions drivers linux pour le noob

    les vendeurs de puces et de pc ne peuvent pas passer à coté de steamos ou au moins d’un support officiel 100% certifié steam os, ce serait une très mauvaise pub, surtout sur un marché en baisse qui cherche un nouveau relais de croissance (et vu les next gen, y a vraiment une carte à jouer en plus)

    avec les éditeurs de jeux en plus derrière, c’est vraiment un gros marché (bien plus rentable et lourd en poid financier que l’astronome ou le labo medical en open source qui râle)

    ça évolue beaucoup en arrière cour avec des prêt de machines et un “coup de boost” dans le support linux des puces nvidia, intel (notamment le iris qui intéresse valve) et amd toujours à la traîne (les pilotes catalyse des radeon, y a du boulot faut dire et ça part de loin)

    c’est que du bon au final tous ça, surtout pour le consommateur qui (dans un monde idéal) pourra intailler ce qu’il veux sur n’importe quoi
    (et si en plus on pense au streming de jeux nvidia (projet shield ? je crois), whaa, y a de quoi faire vraiment un beau truc et vendre du pc ET de l’android en console portable)

    qui vivra verra mais j’ai envie de dire;
    ouf enfin !

    Répondre
  • 4 février 2014 - 14 h 24 min

    J’ai un peu de mal à comprendre les détails expliqué dans les commentaires sur les partie de pilotes qui vont passer open-source ou pas :/

    En gros, si je dois changer de carte graphique dans les prochains jours et que je veux orienter mon achat vers celui qui est le plus “avantageux” pour Linux, je vais chez qui ?

    AMD ? Nvidia ?

    Merci de votre aide :o)

    Répondre
  • 4 février 2014 - 14 h 37 min

    @Pretexta: pour du jeux, nvidia
    si c’est pas un portable mais une tour et que vous partez sur de l’intel, vous avez deja un bon chipset graphique très bien supporter sous linux mais pas encore “au top” pour le jeux
    donc vous pouvez commencer avec le proc intel au début et mettre une grosse carte graphique nvidia plus tard selon vos besoin de jeux et votre portefeuille

    si c’est pour un portable, une carte graphique nvidia est dans la majorité des cas un meilleur choix mais ça chauffe, y a encore des bugs, bref le jeux sous portable linux c’est pas encore ça

    en avril sort la prochaine version d’ubuntu avec support pendant 5 ans, elle est vraiment bien (beaucoup d’amélioration “sous le capot”, notamment pour les cartes nvidia et l’autonomie)

    à voir, c’est un portable ou pas ?
    vous jouez ou pas ?
    vous pouvez attendre avril avant d’installer linux ou pas ?

    sinon pour amd, c’est le bas du panier en terme de support linux
    attention, ça marche, c’est super pour une “petite” machine, un media center etc etc (surtout au niveau consommation sur certains modèle ou en rapport qualité prix sur certaines tache comme l’encodage X264 sur les gros modèles consommant beaucoup par rapport à intel)

    mais c’est moins bien fini et moins équilibrer

    dites en plus sur vos besoins, vous aurez plus de réponse et je ne serais pas le seul à donner un avis je pense

    Répondre
  • 4 février 2014 - 14 h 37 min

    @Philippe: Merci des , nécessaires, précisions.

    @al: bonne remarque.

    @orangina rouge: Pour le changement d’avis je dis ça juste pour taquiner ceux qui suivent un comportement appris sans comprendre le bien fondé de la rancune tenace des dev contre telle ou telle marque. Généralement ils changent d’avis également, mais bien plus tard et souvent sans comprendre pourquoi. Juste par mimetisme et instinct de troupeau.

    Répondre
  • 4 février 2014 - 14 h 40 min

    @Pretexta: Intel …

    Non je pense que si il a une réelle urgence il faut voir l’utilisation que tu aurais de ta machine, les drivers Nvidia et AMD sont tous les deux relativement bon, les Intel ont un temps été un cran au dessus de la masse (mais ça a changé).

    Personnellement j’ai toujours eu de mauvaises expériences d’ATI/AMD sous linux, donc je conseillerais Nvidia par défaut, mais je conseillerais surtout d’attendre, car je pense que d’ici le milieu de l’année la situation va évoluer, les steambox poussant un peu Linux vers l’avant ilne serait pas étonnant de voir Nvidia et AMD batailler pour fournir les drivers les plus efficace sous linux!

    Répondre
  • 4 février 2014 - 14 h 43 min

    @Pierre Lecourt: y a pas de soucis, c’était pas du premier degré
    je m’attendais à plus de troll sur linus torvald justement qui change souvent d’avis et habituer au clash (notamment de gnome à kde puis xfce puis re gnome, unity j’en parle pas)
    bref, souvent il fait un peu figure de “girouette” et pas mal en rigole (remarque ça viendra peut être ce soir)
    bonne journée en tous cas (et courage avec la dernière “minimachine” en période de rodage)

    Répondre
  • 4 février 2014 - 14 h 58 min

    Excellente nouvelle (surtout si ça permet d’avoir de petites cartes de dev pas trop chères !). Et quand je vois qu’un simple C70+2GO peut faire tourner Unity3D, j’imagine que sur un quad A-15 ce sera un pur bonheur ;)

    Et en espérant qu’AMD ne soit pas en reste et propose lui aussi d’ouvrir ses pilotes.

    Au passage, rendons honneur aux développeurs de pilotes open-source de la communauté du libre qui passent un temps fou à essayer de comprendre comment fonctionnent les GPU comme le souligne Pierre. C’est un boulot de fou-furieux et qui demande un temps énorme.

    Répondre
  • 4 février 2014 - 15 h 00 min

    @youri_1er: je pensais lui proposer ça si c’est un pc tour de joueur sous linux

    http://www.rue-montgallet.com/prix/acheter,gigabyte-geforce-gtx-660-oc-2go,773275

    silencieuse, un monstre de puissance (surtout sous linux ou c’est en opengl et pas directx), souvent en promo et pas “trop” chère

    avec ça il serat peinard un loooong moment sous linux et pour un bon rapport qualité prix (et si il est joueur, il ferra comme beaucoup un upgrade du même ordre dans 3 ans)

    j’aimerais bien connaître la résolution de son écran de jeux, c’est important aussi

    Répondre
  • 4 février 2014 - 17 h 09 min

    Bon, d’autres on précisé que Nouveau n’était pas vraiment un produit de Nvidia, mais plutôt de leur politique générale de fermeture de code/datasheet de leurs composants.

    Politique qui a delà de certaines solutions pour des “minimachines”, ne change d’ailleurs pas. Niveau architecture, il y aura sans doute des enseignements à tirer de la lecture du code/spec des SoC mobiles Nvidia, mais ca va rester en grande partie de la devinette.

    Ceci dit, sur PC j’ai déjà fait mon choix: Intel offre de très bons drivers libres pour ses HD-Graphics et pour mon usage les dernières (disons à partir des HD4000) sont parfaitement suffisantes…
    => Bye-Bye Nvidia et le doigt reste bien levé!

    En mobile Intel devient crédible et Nvidia n’a pas bezef de pdm. Ils évoluent donc sur une question de survie à très court terme sur ce marché.

    Sur PC je ne pense pas qu’ils changeront de sitot, ils vont juste quitter le bas/moyenne gamme pour se concentrer sur le haut. Sauf si là aussi les évolutions d’Intel les y poussent… et vu que Intel doit contrer AMD sur ce point faible pour eux depuis le rachat d’ATI… quand ils se réveilleront il sera peut-être trop tard!

    Pour moi, à terme ils sont déjà morts.

    Répondre
  • 4 février 2014 - 17 h 58 min

    @orangina rouge: je pense que pour le moment tu peu même descendre d’une gamme.
    Pour moi plus de 100€ dans une CG sous linux aujourd’hui c’est ridicule car aucun jeux n’exploite de grosses perfs.
    Une GTX 650 devrais largement sufire, sauf si la 660 est en promo à ~100€
    Pour dire sous Windows j’ai une AMD/ATI HD 6850 et je fait trouner presque tous les jeux à fond, et pourtant j’ai déboursé 99€ pour elle il y a 2/3 ans!

    Répondre
  • 4 février 2014 - 18 h 45 min

    @youri_1er: c’est pour ça, je lui laisse de la marge
    après je connais pas ses jeux ni la reso de son écran (si c’est une tv 42 pouces full hd c’est pas pareil)

    le truc de la 660 oc c’est aussi qu’elle est archi silencieuse et chauffe pas
    (pas comme un kepler “de base” avec un design “made in nvidia” et son turbo réacteur en jeux)

    faut voir, mais il repassera je pense

    perso je tourne sans soucis avec une 430 gainward passive mais mon écran est en 720P max (et j’ai une xbox 360 donc les fps, c’est plus sur l’ordi)

    un dernier truc, nvidia, c’est plus cher mais sous linux ça marche bien
    ati ça marche bien sous windows mais linux moins bien (beaucoup)

    ati optimise se puces pour directx, nvidia aussi mais pour opengl c’est mieux

    résultat, nvidia est toujours un peu plus cher mais moins de bugs dans les jeux sous linux

    Répondre
  • 4 février 2014 - 20 h 34 min

    Désolé Pierre, comme beaucoup ici, j’adore ton site et ses commentaires, mais cet article c’est du GRAND n’importe quoi !

    Pour résumer, Nvidia vient de publier quelques ajouts au kernel Linux (en open-source naturellement) pour un support tout à fait préliminaire de son chipset Tegra K1 (Samsung a régulièrement fait de même pour ses Exynos, par exemple) et précise dans cette publication :
    “we do not have any plan to work on user-space support. So do not uninstall that proprietary driver just yet. ;)”, ce qui veut bien dire qu’il ne prévoient aucune participation à l’élaboration de pilotes (graphiques ou autres) open-source complets.

    On comprend bien que cet article trouve son origine dans le message de Linus Torvalds : après avoir été très virulent envers Nvidia (lesquels se sont toujours éperdument moqués des développements libres) il est bien obligé de saluer cet effort qui, bien qu’anecdotique pour le moment, va dans le bon sens, ce que tu as bien précisé dans l’article. Mais de là à extrapoler dans tous les sens ?

    On croit rêver : “Nvidia travaille son Open Source et séduit la communauté Linux”, “Nvidia semble plus apprécié des développeurs”, “l’événement qui fait danser la gigue (!) aux développeurs Linux c’est (…) la sortie rapide, voire très rapide (…) du code source des pilotes graphiques de son nouveau processeur Tegra K1”, etc.., n’en jetez plus! Et tout le dernier paragraphe…. j’en ai vomi mon quatre heures ! Mais qui sont ces développeurs imaginaires ? Même dans ses songes les plus fous, le service com’ de Nvidia ne pouvait espérer que quelques lignes de code puissent engendrer un tel délire dithyrambique.

    Mais le pompon, c’est “Baptisé Nouveau, c’est un véritable projet Open Source qui a été mis en place par le fondeur” ! C’est le monde à l’envers : ce projet de pilotes graphiques “open-source”, initié par un seul individu (Stéphane Marchesin) en 2007, a nécessité un énorme et très ingrat travail de rétro-ingénierie, sans AUCUN soutien de la part de Nvidia : http://lwn.net/Articles/269558/

    Pourquoi toutes ces erreurs et ces contre-vérités ? “A noter que quand on est un développeur Linux, on change parfois d’avis.” : c’est de la provoc’ ?? Enfin on mettra ça sur le compte de la fatigue et de tes nuits courtes, bon courage :)

    Répondre
  • 4 février 2014 - 22 h 33 min

    @malak: J’attends qu’un autre vienne me mettre le nez dans le caca ou c’est bon on a compris ?

    Répondre
  • 4 février 2014 - 23 h 01 min
  • 4 février 2014 - 23 h 16 min

    le cache de mon vpn re m@rde
    c’est vrai l’article ets mal tourné et pour une fois les infos se mélange (c’est pas simple aussi nvidia et linux comme vous dites)

    mais bon, on va mettre ça sur le compte d’une news nvidia, de linus qui trouve enfin que ça par dans le bon sens (pas partout mais bon, c’est une boite commerciale, le libre sauf intel tous le monde s’en fout), et de la nouvelle “minimachine” qui fatigue l’auteur

    quand on connaît bien linux, on comprends, mais comme je l’ai dit avnt, en tant que “simple utilisateur”, c’est pas aussi simple à comprendre

    après, linux on se connaît, on se comprends, on sait (ou on arrête vite)

    donc bon, ici on discute, restont cool (fatiguer moi, vais dormir)
    mais si on pouvais garder les longues discutions pour les forums linux se serait pas plus mal pour tous le monde (regarder le type qui veux juste s’acheter une carte graphique et qui est perdu, simplifiont, de grâce)
    bref;
    bye tous

    Répondre
  • 5 février 2014 - 3 h 08 min

    @Pierre: pardon, réaction à chaud, et désolé pour les redites par rapport aux commentaires précédents.
    C’est sûr que, comme généralement tu fais du boulot largement au-dessus de la moyenne, on devient exigeant…

    Sur ce site de haute réputation (si, si !) et donc auquel nous sommes nombreux à accorder beaucoup de confiance, cet article m’a fait sincèrement de la peine, et personnellement j’aurais apprécié que tu le reprennes, surtout après les précisions de Philippe… tout le monde peut se tromper.

    Je ne fais aucunement partie de ces (pseudo-)linuxiens orthodoxes et donneurs de leçon (j’écris d’ailleurs ce message depuis chez moi sur Windows 7 :) mais je pense qu’on peut reconnaître que la communauté du “libre”, à part ses “chouineurs”, a beaucoup apporté à notre petit monde informatique.

    Si j’y vais régulièrement de mon petit laïus pour préciser les choses sur les pilotes graphiques “fermés” et les développements libres (en cours) du monde ARM quand tu abordes le sujet, ce n’est pas pour “sortir ma science”, mais simplement pour partager ces informations avec toi et tes lecteurs, et aussi pour rendre “à César”… c’est à dire aux personnes qui donnent concrètement beaucoup d’elles-mêmes pour ce travail (qui, au final, profite à tous).

    Tu mets bien en avant tous les bénéfices que constructeurs, développeurs et utilisateurs pourraient tirer d’une plus grande ouverture. Malheureusement, il faudrait plutôt déplorer l’attitude des fondeurs (qui, mis à part Intel et dans une moindre mesure AMD, ne contribuent que très peu, voire pas du tout, à ces avancées) et ne pas apporter d’eau au moulin d’annonces séduisantes mais souvent bien creuses.

    Sans rancune j’espère, et un grand merci pour laisser s’exprimer toutes les opinions ici, même quand ta prose est fortement mise en cause.

    Répondre
  • 5 février 2014 - 8 h 22 min

    @malak: Ya pas de soucis, je l’ai bien mérité :)

    Répondre
  • 5 février 2014 - 20 h 17 min

    Le Libre serait-il prisonnier de sa complexité et de la confusion qu’il génère?

    ps: je taquine! :)

    Répondre
  • 7 février 2014 - 15 h 49 min
  • LAISSER UN COMMENTAIRE

    *

    *