Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

: FreeBSD utilise les pilotes Linux

Posté par Florent Zara (Jabber id, page perso, ). Modéré le 12 février 2007.
FreeBSD est désormais capable d'utiliser directement des pilotes matériels pour Linux (en tant que module) sans modification du code original du pilote.

Une couche d'adaptation a été écrite (sous licence BSD), permettant de faire de lien entre les API Linux et les API FreeBSD.

Le développement a principalement été axé sur les pilotes USB. Plusieurs ont ainsi été portés et sont disponibles dans les ports (particulièrement des webcams). Ci-dessous, vous trouverez les liens pour les ports des pilotes de webcam USB gspca et ov511, en espérant que beaucoup d'autres suivront.

> Lire la dépêche (47 commentaires, moyenne: 2,3).  

Vous avez demandé le commentaire #803651.

Bonne idée ?

Posté par ondex () le 12/02/2007 à 15:37. (lien). Évalué à 5.

Est ce réellement une bonne idée ?

Je m'explique : le fonctionnement interne de Linux et FreeBSD doit probablement être différent. Est ce qu'une simple couche d'adaptation peut faire l'affaire ? Par exemple, dans les cas des pilotes SMP-safe (ou non) ?

Ensuite, cela ne risque t'il pas de décourager les développeurs de pilotes pour FreeBSD ? Ne serait pas plus raisonnable de réfléchir ensemble à une API commune pour les pilotes ?

Enfin, on sait que l'API interne de Linux est relativement changeante (euphémisme), le projet va t'il tenter de suivre l'API Linux ou plutôt se fixer sur une version ?

  • [^]Re: Bonne idée ?

    Posté par Diablo150 (page perso, ) le 12/02/2007 à 16:19. (lien). Évalué à 4.

    Etant donné les grosse différences de philosophie entre BSD et Linux, je pense qu'il serait difficile de trouver un terrain d'entente pour les voir bosser ensemble.

    N'étant pas utilisateur d'un système BSD, je vois cette info de loin, mais par contre, j'ai essayé à plusieurs reprises d'installer PC-BSD, sans succès, si ce genre d'initiative peut aider a améliorer le support matériel, c'est du tout bon.

    • [+] [^]Re: Bonne idée ?

      Posté par freebourg () le 12/02/2007 à 18:03. (lien). Évalué à -3.

      Linux est déjà tout juste prêt pour le desktop de monsieur tout-le-monde.
      (par-contre, je n'irais pas le recommander à des musiciens, graphistes, et Cie qui ont besoin de bons logiciels. Elle est où la version Linux de Cubase, Finale, Sibelius, et des cartes MIDI, et audio Pro ??).

      Mais alors, FreeBSD, OpenBSD, et Cie, à part dans un serveur ou de l'embarqué, je les vois mal ailleurs !

      Personnellement, j'ai un serveur OpenBSD à la maison qui gère parfaitement mes serveurs, mon LAN et mon WLAN et qui sécurise le réseau et permet de faire des branchements entre les parties en VPN et avec Internet (WAN tant qu'on est dans les acronymes à 3-4 lettres), il est très stable, les mises à jour arrivent vite, tourne avec un petit PC, quoi de mieux ?

      • [+] [^]Re: Bonne idée ?

        Posté par freebourg () le 12/02/2007 à 18:07. (lien). Évalué à -2.

        >(par-contre, je n'irais pas le recommander à des musiciens, >graphistes, et Cie qui ont besoin de bons logiciels. Elle est où la >version Linux de Cubase, Finale, Sibelius, et des cartes MIDI, et audio >Pro ??).

        Faut quand même avouer que pour eux, au niveau logiciel, Mac OS est génial.

        [^]Re: Bonne idée ?

        Posté par alpage (Jabber id, page perso, ) le 13/02/2007 à 04:47. (lien). Évalué à 4.

        Tu es quand meme un peu dur sur les logiciels de musiques. Il y a plein de bonnes choses dans ce domaine et de nombreuses cartes pro sont supportees. Les choses on pas mal bougees ces dernieres annees.

        • [^]Re: Bonne idée ?

          Posté par Farvardin (page perso, ) le 13/02/2007 à 06:21. (lien). Évalué à 1.

          peut être que je n'ai pas eu de chance, mais j'avais acheté il y a plusieurs années une prise à brancher sur le port joystick, cela fonctionne sans pb sous windows, mais sous linux c'est la galère, avec un noyau de base cela fait des kernel panic, avec un noyau real time cela fonctionne mais comme pour ces projets de noyau RT ils ne fournissent pas les sources modifiées du noyau (que cela soit pour studio64 ou jacklab) il n'est pas possible d'utiliser des modules à compiler pour d'autres applications.

          Ensuite il faut se configurer jack et compagnie, même si sur le principe c'est très bien, c'est largement plus compliqué que sous windows et on obtient parfois des résultats aléatoires, par exemple j'ai eu des configurations où cela aurait du fonctionner, mais il fallait démarrer une troisième applications pour "débloquer" la sortie midi, mais peut être que c'était lié à cette prise joystick. Du coup je vais acheter une prise midi usb, mais c'est pas donné (50 euros), j'espère que cela ira mieux.
          J'ose pas imaginer sous freebsd...

          Et pour l'enregistrement audio, il y avait également des latences (mais je n'ai pas encore essayé avec un noyau real time)

          Par contre pour les logiciels, rien à redire, Audacity est super bien selon moi, Rosegarden également. Je n'ai pas encore essayé les autres (Ardour etc)

          --
          Tous ensemble contre l'esclavitude des logiciels privateurs !
          • [^]Re: Bonne idée ?

            Posté par Laurent Moussault () le 13/02/2007 à 18:48. (lien). Évalué à 5.

            J'utilise aussi une prise joystick<->midi, ça fonctionne sans pb aussi bien avec un noyau classique que RT.

            Jack est préconfiguré dans les distribs audios, et c'est _réellement_ qqchose qui manque aux musicos sous windows, ils le reconnaissent eux-même (enfin, ceux que je connais).

            Afaik, les sources des noyaux des distribs audios sont toujours dispos. Pour 64studio:

            http://archive.64studio.com/pool/main/l/linux-2.6/

            Ces noyaux sont indispensables pour avoir des latences correctes, la bonne nouvelle c'est que le patch RT d'Ingo Molnar est peu à peu intégré au noyau officiel, depuis le 2.6.18.

            Comme dit précédemment, les choses ont drôlement bougé ces derniers temps pour la mao sous linux... et continuent de bouger (qtractor, jokosher, aldrin, Ardour 2, lash, wired...).

            • [^]Re: Bonne idée ?

              Posté par Farvardin (page perso, ) le 14/02/2007 à 12:38. (lien). Évalué à 2.

              pour le patch RT intégré depuis le 2.6.18, il y a bien une option RT / preempt dans le noyau 2.6.19 "vanilla" que j'ai recompilé, mais même s'il était bien marqué comme étant RT, il ne fonctionnait pas comme le noyau fourni par jacklab (sous opensuse).

              Pour résumer : le noyau RT dit multimedia de jacklab permettait de faire fonctionner correctement mon adaptateur midi, si je redémarre avec le noyau opensuse non RT et que j'essaye d'utiliser le midi, cela fait un kernel panic. Avec mon noyau recompilé et la config utilisée par opensuse, mais avec l'option RT activée, cela faisait également un kernel panic (mais un peu moins rapidement apparemment).
              C'est peut être lié au matériel et à la carte son, en tout cas c'est pas facile à utiliser, car si on veut garder le noyau RT de jacklab, comme j'ai dit on n'a pas les sources modifiées apparement.

              Pour studio64 que j'ai installé également, je n'ai pas réussi à faire fonctionner le clavier avec, je ne dis pas que cela ne fonctionne pas, mais en tout cas cela est tellement peu pratique que je vais tenter l'achat d'un adaptateur midi usb, en espérant que cela pourra fonctionner avec un noyau standard. Je vais regarder les sources que tu pointes, mais d'autres utilisateurs ont eu les mêmes soucis que moi pour recompiler des modules extérieurs, par ex

              > Using the SMP kernel I can build the module but it will not
              > install into
              > the kernel, it complains that the version magic is wrong and
              > when I look
              > at the version string for the nvidia module it does not have the
              > SMP
              > string.

              --
              Tous ensemble contre l'esclavitude des logiciels privateurs !
              • [^]Re: Bonne idée ?

                Posté par Laurent Moussault () le 14/02/2007 à 16:26. (lien). Évalué à 2.

                Le patch RT est intégré _progressivement_ au noyau officiel, vu qu'il touche beaucoup d'endroits différents. Donc pour l'instant il faut toujours utiliser le patch d'Ingo Molnar sur un vanilla kernel pour obtenir les mêmes performances.

                En ce qui concerne tes kernel panic, j'avoue que je suis perplexe...

                Pour le noyau de 64 Studio, ils ont simplifié la situation avec la 1.1.1, tu devrais peut-être réessayer... Sinon la situation devrait être encore plus claire avec la 2.0, c'est à dire une fois que Etch sera sorti! ^_^'

            [^]Re: Bonne idée ?

            Posté par alpage (Jabber id, page perso, ) le 14/02/2007 à 03:59. (lien). Évalué à 3.

            Avec un nouyeau realtime maison (patch realtime-lsm) sous Slackware, je n'ai pas remarque de latence, avec 3 a 5 pistes en lecture et une piste en enregistrement, le tout en tirant parti des entrees/sorties mutiples d'un M-Audio Delta 44. Allez courage, tu peux le faire :)

        [+] [^]Re: Bonne idée ?

        Posté par Axioplase Ashi (page perso, ) le 13/02/2007 à 07:19. (lien). Évalué à -1.

        >> Mais alors, FreeBSD, OpenBSD, et Cie, à part dans un serveur ou de l'embarqué, je les vois mal ailleurs !

        Et bien achète toi de nouvelles lunettes alors !
        Ca fait des années que j'utilise plus que BSD comme desktop et je le vois très bien ainsi...
        Ce n'est pas parcequ'on fait les meilleurs serveurs avec BSD qu'on n'en fait rien d'autre ! *sifflote*

        Et puis y'en a marre des applis linux.
        Si vous voulez faire du vrai code libre, pratique, portable, faites des applis avec des bibliothèques qu'on retrouve sur un max d'OS ! (je pense à ALSA par exemple. Ultra portable de la mort qui tue que c'est, ca m'empeche d'utiliser des applis audio que j'aimerai utiliser...)

        --
        J'aime la liberté.
        J'aime BSD.
        • [^]Re: Bonne idée ?

          Posté par -=[ Benoit Plessis ]=- (page perso, ) le 14/02/2007 à 10:18. (lien). Évalué à 0.

          Sans vouloir remuer le couteau dans la plaie, le projet ALSA c'est
          Advanced Linux Sound Architecture. Donc bon ça n'a pas vraiment
          été fait pour etre portable...

          --
          Il [e2fsck] a bien démarré, mais il m'a rendu la main aussitot en me disant "houlala, c'est pas beau à voir votre truc, je préfèrerai que vous teniez vous même la tronçonneuse" (traduction libre)

          [+] [^]Re: Bonne idée ?

          Posté par freebourg () le 22/02/2007 à 09:02. (lien). Évalué à -2.

          Attention ! Moi je parle en fait seulement de FreeBSD, OpenBSD, et NetBSD. Je mets de côté les PC-BSD et l'autre dont je ne me souviens plus du nom.

          Avec les BSD c'est tellement compliqué pour un Linuxien d'installer des trucs, à part en ligne de commandes où il faut faire des "locate", ou des pkg_add -r alors qu'on ne connaît même pas le nom des "progs".
          Sur Gentoo aussi on peut compiler depuis les sources, mais c'est nettement plus perfectionné et plus simple.

          Installation de Gnome : Je ne sais pas si c'est parce que j'ai fait ça dans une machine virtuelle mais il a bien fallu une demi-heure pour qu'il me charge la carte graphique, le clavier et la souris correctement. Le son je n'en ai pas eu (j'ai pas cherché longtemps faut dire).
          Sans compter qu'il faut faire des tas de recherches pour que l'utilisateur puisse faire quelque chose, y'a des quantités de groupes et autres, et pas moyen d'avoir un super-utilitaire qui propose juste des petites cases à cocher.
          Et bonne chance pour mettre la dernière version de Firefox. Il faut compiler depuis les sources ! (sans compter qu'il faille installer toutes les dépendances manuellement avant).

          Alors bon. BSD: pour les geeks.

          Et concernant la musique sous Linux, je m'excuse, mais j'avais testé ça il y a 3-4 ans, mais je crois qu'il n'y a encore rien pour concurrencer Sibelius, Finale, Cubase, et consorts. Mais effectivement, ce sont de gros logiciels, et développés en communauté ça prendrait un temps énorme. Surtout quand on voit le prix des logiciels que je viens de citer, on comprend mieux comment est financé leur développement.

      [^]Re: Bonne idée ?

      Posté par Matthieu Lemerre () le 12/02/2007 à 18:09. (lien). Évalué à 3.

      Quelle difference de philosophie? Tu veux parler plutot de methodologie de developpement peut etre; il est vrai que FreeBSD est plus conservateur que Linux sur ce point la.

      Ceci etant dit, les deux noyaux sont relativement semblable: dans les deux cas il s'agit d'un gros noyau monolithique fournissant une interface UNIX similaire (evidemment avec quelques extensions de chaque cote). Ils sont beaucoup plus proche que par exemple, de Minix ou QNX (pour rester dans le UNIX-Like).

      Pour faire des noyaux SMP-safe, il "suffit" de faire en sorte que les appels de fonctions et macros pour prendre des locks, faire des updates atomiques dans Linux soient transcrits en leur equivalents FreeBSD (et il y a toujours un equivalent, puisque les noyaux sont structures identiquement). Il y a quelques differerences comme les locks RCU sous Linux, mais de toute facon rien n'interdit de porter une primitive de locking d'un OS a un autre.

      Ce travail a surement de plus ete facilite par le fait que la couche USB de Linux tente d'etre generique et accessible depuis l'espace utilisateur.

      C'est quand meme un gros travail, et je felicite le courage des personnes qui l'ont fait. Peut etre que ce travail peut d'ailleurs reservir a d'autres systemes libres?

    [^]Re: Bonne idée ?

    Posté par ZooL (page perso, ) le 12/02/2007 à 17:29. (lien). Évalué à 3.

    Sur le point très particulier des développeurs de pilotes pour FreeBSD, en ce qui concerne les webcams, c'est simple, il n'y a rien d'existant.
    Jusqu'à présent, on avait un port de pwc, mais le statut était le même que pour linux, et c'est tout.
    Les webcams ne sont pas à proprement parler une technologie récente. Si quelqu'un de capable avait voulu faire des drivers, il aurait eu tout le temps.
    Ce débat me rappelle vaguement celui pour le projet evil (ndiswrapper). En l'occurence, ça n'a découragé personne : peut être que je ne suivais pas assez avant, mais j'ai l'impression que le monde des développeurs de drivers de carte wifi pour BSD est en ébullition en ce moment, guidé par Damien Bergamini. Ca n'a pas non plus découragé les constructeurs, puisque si j'en crois le rapport trimestriel de FreeBSD, atheros va plus ou moins donner les specs pour ses derniers chipsets (genre ceux du DWL-G132, ou uath chez OpenBSD)
    Evidemment, ça ne va pas encourager les constructeurs de webcam, mais en même temps, ils n'ont jamais fait aucun effort.

    Pour ce qui est de l'API interne de linux, je suis encore moins un spécialiste pour répondre, mais FreeBSD a déjà une couche de compatibilité linux, avec récemment (enfin, en cours), un passage à la version 2.6 du noyau (oui, on est pas en avance :))
    Je pense pas que ce soit pire de suivre les changements de l'API par rapport à ceux du noyau.

    J'ai testé la chose en question. Ca marche très bien avec un de mes deux webcams, l'autre est seulement détectée, mais d'après luigi, ça devrait mieux marcher par la suite, après quelques optimisations.
    C'est vraiment fantastique de pouvoir utiliser la webcam, sans avoir à se soucier d'installer 30000 drivers.

    De toute manière, je pense pas vraiment que *BSD (prenez celui que vous voulez) a les ressources pour développer tous les drivers de tous les trucs possibles. Linux en a plus, donc si on peut reprendre un peu pour le hardware pas critique, je vois pas vraiment où est le problème.