Journal idée idiote

Posté par  .
Étiquettes : aucune
0
18
oct.
2004
Une idée m'est venue, sûrement idiote car quelqu'un aurait déjà lancé un truc comme ça sinon, mais je vous la soumet quand même :


.BACKGROUND.

Linux devient de plus en plus prêt pour le desktop, comme le montre les progrès pour l'utilisateur réalisés par des distributions comme Mandrake ou des environnements comme Gnome : le branchement d'une clef fait apparaitre une belle icône sur le bureau, l'installation d'une nouvelle carte son la rend immédiatement opération grâce à hotplug, etc.

Cependant, il reste un domaine ou ça sucks toujours grave à mon goùt, c'est celui de la gestion des périphériques sous Xfree/X.org. Je ne connais aucun outil à l'heure actuelle capable de configurer proprement une tablette graphique, de tenir compte à la fois de deux périphériques de pointage (au hasard une tablette plus une souris, ou souris usb+touchpad, etc.). Bref, faut se coltiner le XF86Config à la main. Ne parlons meme pas du xinerama. Et c'est pas cool.

.THE IDEA.

Hotplug est capable de détecter les périphériques sus-nommés et de lancer le pilote. Mon imagination verrait bien un script, par l'intermédiaire d'hotplug, capable d'ajouter tout seul une section à XF86Config concernant les périphériques pour lesquels il a quelque chose. Ca donnerait
- branchement périphérique (à chaud pour usb)
- réveil d'hotplug (au lancement au démarrage de l'ordi)
- repérage du bon module grâce aux IDs du périphérique
- lancement du module s'il a quelque chose
- appel du script dont il est question ici
----- la main passe au script -----
- vérification si périphérique connu dans sa base
- si rien trouvé maj par internet sur un serveur libre ou chacun pourrait poser des fichiers de config pour le script ?
- si trouvé, modification du XF86Config
- si X tourne, affichage d'une boite de dialogue "Le périphérique est configuré et prêt à fonctionner dès le prochain démarrage d'XFree"

Le script pourrait disposer d'une base de données de fichiers permettant la config du périphérique, par exemple à chaque fois :
- le bout d'XF86Config qui va bien (la ou les sections)
- un fichier texte décrivant les paramètres de la section et les diffférentes possiblités (paramère optionnel ou non, valeurs possibles, etc.). Ainsi un petit panneau de config pourrait s'afficher avant la boite de dialogue de fin.
- autre chose ?
Ca constituerait un "pack de configuration" pour un périphérique, en quelque sorte.

.THE IDEA++.

En ouvrant un site communautaire ou chacun pourrait envoyer ses fichiers de configs durement élaborés à la main, je suis sur qu'on aurait très rapidement une vaste liste de matériels configurables automatiquement. Les débutants pourraient tirer profit des capacités de config des pros de linux. De plus, les configs de plaisantins seraient rapidement écartées grace à un système de notation des "packs", mettant le mieux/plus noté en haut de la liste lors de la recherche d'un périphérique donné (en téléchargement automatique par le script, seul le 1er serait téléchargé).


L'idée est peut-ê^W^Wsûrement farfelue, mais elle me fait plutôt rêver.. et vous ?
  • # dans le meme genre

    Posté par  . Évalué à 6.

    J'ai été surpris que la derniere mandrake modifie le fichier XF86 si le driver proprio nvidia n'arrive pas à se charger ( j'ai mis à jour mon noyau ce we, il a beaucoup plus samedi sur Toulouse..). Du coup X11 ce lance quand même et on peu continuer à bosser sans accel 3d.
    Cela ne change pas qu'il faut se taper une compil du driver à la main et en mode console..
    C'est duste plus long ( il faut quitter X, et ensuite remettre le bon driver dans XFreeConfig-4)
    Tout ca pour dire que le hotplug, c'est compliqué, et ca fait jamais ce que tu veux à moins d'avoir écrit le script toi même.. :-/
  • # Sécurité

    Posté par  . Évalué à -4.

    Ca me semble un peu limite au niveau sécurité, non ?
    Surtout quand tu dis "m-à-j par internet"...

    J'ai quand même l'impression que c'est un peu réinventer la roue ce que tu dis... On dispose déjà de hotplug, de modprobe, modinfo pour tout ça il me semble. Et XFree (que ce soit x.org ou XF86) n'est qu'une surcouche; je ne crois pas que ce soit le bon endroit pour y installer des pilotes (qu'est-ce qu'un pilote de carte son, par exemple, viendrait foutre là-dedans) ?

    Et quand tu dis "En ouvrant un site communautaire ou chacun pourrait envoyer ses fichiers de configs durement élaborés à la main", ca existe déjà, par exemple chez alsa il me semble.

    Quand je te lis, j'ai l'impression que tu voudrais que la gestion des periphs sous linux soit presque à l'identique que celle de windows. Même si la gestion par win$ a des bons points (ne me demandez pas lesquels), la gestion par linux fait quand même l'objet de réflexions sur ce sujet par des milliers d'utilisateurs de par le monde, et s'ils en ont décidé ainsi, c'est que probablement la meilleure façon de faire (il y a toujours plus d'idées dans 1000 têtes que dans 1).
    • [^] # Re: Sécurité

      Posté par  . Évalué à 7.

      J'ai du un peu m'emmeller les pinceaux dont mon explication : je ne propose pas le téléchargement automatique de modules par internet, mais en gros des éléments nécessaires pour modifier automatiquement XF86Config, pour les modules d'XFree.

      Entendons nous bien : je ne parle pas de modules noyau mais bien de lignes de textes "magiques" (et des critères qui vont avec) qu'on doit normalement introduire à la main dans XF86Config. Je voudrais juste pouvoir automatiser la détection et la configuration des nombreux modules déjà fournis par XFree en standard !

      Le répertoire de ces modules a beau etre bien fourni (module watcom, souris diveres), rendre fonctionnel la plupart des périphériques sous XFree n'est pas une mince affaire. Rien que le guide de lea-linux pour configurer une watcom ferait peur à n'importe quel débutant.

      Il est de plus en plus admis que l'utilisateur n'a pas être obligé de se soucier de la config de son système (dès que c'est possible du moins), pourquoi ne pas aller plus loin et étendre la notion de configuration automatique à XFree ?

      Question sécurité, il n'y aurait pas de problème je pense. Difficile de flinguer une souris ou d'ouvrir une backdoor avec les paramètres du style "protocol" ou "driver". Concernant les modelines d'écran, c'est déjà plus risqué je le reconais. Mais là, il suffirait de classer les configs fournies par les internautes en plusieurs catégories : non testé/reservé aux experts (qui sauront lire la config avant de l'appliquer), testé et noté, populaire, etc. Seuls des votes d'inscrits permettraient de faire changer un périphérique de catégorie par exemple.

      Concernant ton dernier point, je voudrais que ca soit comme pour les périphériques noyaux (carte son, clef usb, etc.), automatisé au maximum ! Meme les draketools et l'outil xf86config ne savent pas tenir compte de plusieurs périphériques de pointage à la fois, et ils ne fonctionnent pas automatiquement car il faut les lancer manuellement pour prendre en compte les nouveaux périphériques !

      Mon idée est peut-être loufoque, aussi j'attends vos remarques constructives pour la démonter proprement si c'est le cas :-)
  • # très bien

    Posté par  . Évalué à 5.

    Mais ce que je trouve archaïque ici c'est le coup du fichier de configuration. Pourquoi passer par un fichier, et pas directement modifier X pour qu'il charge automatiquement les modules rendus disponibles par hotplug et cie ?
    • [^] # Re: très bien

      Posté par  . Évalué à 5.

      J'ai pensé à un fichier de configuration puisque c'est le modèle sur lequel fonctionne Xfree avec sont /etc/x11/XF86Config(-4) :-)

      Les fichiers propres à chaque périphérique contiendrait en somme les lignes à ajouter à XF86Config pour le faire fonctionner. Peut-être pas sous forme directe si les lignes à ajouter dépendent de la config matérielle exacte. on pourrait imaginer un fichier contenant un ensemble de règles, ou autre chose. Perso, je préfèrerais un fichier texte formaté selon des règles précises à un script bash ou autre :
      - le fichier est parsé par le script configurateur
      - celui ci en déduit la modif à apporter à XF86Config-4
      - le fichier ne contient aucune instruction (impossible de faire un rm ou autre) et ne pilote le configurateur que dans un cadre scrictement limité. un peu comme un parseur html (je parle du cas brut, sans script) est capable de déduire d'un simple fichier html une page textuelle/graphique complète avec navigation hypertexte.

      Peut-être que la création d'une APi "xf86config modification libt" serait encore le mieux ?
  • # Oui !

    Posté par  (site web personnel) . Évalué à 4.

    Moi je trouve ton idée assez bonne ! Par contre pour les détails technique, meme si j'ai l'habitude de configurer mon linux, et je sais pas comment on pourrait mettre en oeuvre ce que tu dis, et comment le faire.

    En tout cas, pour resumer, ce que tu proposes, c'est une bdd d'infos de configurations de divers périphériques qui, par un moyen à déterminer, mettrait à jour le bon vieux XF86Config.

    Moi je pense vraiment que ca serait bien. Meme sans l'automatisation. Car configurer un périph, c'est vrai que c'est long, et seul les persévérent vont jusqu'au bout.

    A propos de l'analogie avec la gestion des périph de windows... je ne vois pas le rapport. Pourquoi ne pas aider la tache de l'utilisateur, ici, configurer des périph avec xorg/xfree, si on peut trouver un moyen efficace ? Il ne s'agit pas de réinventer la roue et de repenser le système de gestion de périphériques de linux ... :)

    C'est bien ca ?
    • [^] # Re: Oui !

      Posté par  . Évalué à 1.

      En effet, tu m'as bien compris :-)

      Et oui, je ne crois pas que ca impliquerais de réinventer la roue, puisque le système se baserait justement sur hotplug pour la partie détection, qui insérerait le module noyau (grâce à modprobe s'il en faut un) avant de lancer le script capable de reconfigurer XFree.

      Pour la modification d'XFree, je sais qu'il existe une lib appelée libconf, qui pourrait être bien utile lors de la mise en oeuvre pratique. Cette lib permet de modifier divers fichiers de config à la volonté du programmeur au moyen de templates.

      Il faut bien voir que l'idée ne se limiterait pas à la config des souris, où les distribs se débrouillent pas trop mal en général, mais pourrait etre étendue à tous les modules contenus dans XFree : les tablettes graphiques (dieux que c'est éprouvant à faire marcher), la carte 3D, le xinérama, que sais-je.

      Et le jour ou X.org sera capable de prendre en compte une nouvelle config à la volée, ca serait le bonheur complet :-) On branche une deuxième souris usb, hop elle fonctionne tout de suite :-)
  • # une solution dans Knoppix ou Mandrake ?

    Posté par  . Évalué à 5.

    J'ai deux souris sur mon PC : ma souris optique USB et une souris PS/2 que j'ai la flemme de débrancher (et qui me sert bien quand j'oublie d'actvier l'option 'noapic' de Linux pour avoir l'USB sur ma machine). En général, la souris PS/2 traine dans le fatras de fils à mes pieds.

    Avec Knoppix et Mandrake, quand j'étend mes jambes, il arrive que mon pied touche la souris PS/2 et clique au hasard. Les deux souris sont donc bien actives alors que je n'ai rien demandé du tout.

    BeOS le faisait il y a 20 ans !

  • # 2 souris..

    Posté par  (site web personnel, Mastodon) . Évalué à 6.

    Je viens d'installer Ubuntu sur un portable : http://frimouvy.org/wiki/CompaqPresario(...)

    Et bien, dès le début le touchpad a marché sans problème. Et quand j'ai branché la souris USB, elle a marché aussi de suite (à chaud) tout en laissant le touchpad fonctionnel.

    C'est rigolo pour faire des combats (qui gagnera la souris ?) et donc, à ce niveau là, je pense pas qu'il y ait de problèmes dans Linux..

    Mes livres CC By-SA : https://ploum.net/livres.html

    • [^] # Re: 2 souris..

      Posté par  . Évalué à 2.

      Certes, ça marche bien avec 2 souris, ce dont l'utilisateur moyen (voire l'utilisateur exotique) a tout de même rarement besoin.
      Par contre, oui, pour tout ce qui est tablette graphique et autres périphériques non considérés comme "de base-essentiels-indispensables", Ubuntu, Mandrake et autres réussissent-elles à tout faire marcher du premier coup sans aucune manip? (vous fatiguez pas trop, j'ai un pote qui galère pour avoir la gestion de la pression sur une tablette graphique avec Mandrake 10.0...)
      Donc, oui, pour moi aussi, c'est une bonne idée (enfin... au cas où qqun aurait eu besoin de mon avis, hein... ;))
      • [^] # Re: 2 souris..

        Posté par  . Évalué à 5.

        > ce dont l'utilisateur moyen (voire l'utilisateur exotique) a tout de même
        > rarement besoin.

        Allo ! il vient de te dire que c'est pour un portable sur lequel tu branches une souris. L'utilisateur moyen ne fait jamais ça ?
    • [^] # Re: 2 souris..

      Posté par  . Évalué à 1.

      En fait, ca marche aussi dans debian, parce qu'est prévu par défaut une sorte de wrapper qui "canalise" la souris ps/2 et la première souris usb vers /dev/input/mice.

      Maintenant, si la config rentre dans d'autres cas, ça ne fonctionnera plus. Exemples :
      - tablette usb : je n'ai encore rien vu d'automatique à ce niveau. Meme si les tablettes ont pas mal d'options de config, il pourrait être prévu une config par défaut qui fait fonctionner le périphérique. Sous windows aussi, les périphériques sont installés et mis en marche avec une config par défaut que l'utilisateur peut changer après.
      - touchpad+tablette usb+souris usb : si la tablette est chargée avant le touchpad, ca mettra le souc dans le wrapper /dev/input/mice

      Evidemment, certains vont me dire qu'il est rare d'avoir plusieurs périphériques de pointage. Pourtant, sur un portable, on arrive vite à utiliser une vraie souris parce que le touchpad n'est pas pratique, puis on peut décider d'installer une tablette (tout en gardant la souris pour l'utilisation "normale"), voilà déjà 3 périphériques en meme temps :-)

      De plus, les utilisateurs de portable désirent parfois désactiver le touchpad, ce qui nécessite d'éditer XF86Config si aucun bouton n'est prévu à cet effet sur le touchpad.

      Et puis, les périphériques gérés par XFree ne se limitent pas à la souris :-) Dans mon répertoire /usr/X11/lib/modules, je devine, en vrac : clavier, souris, tablettes wacom/acecad, écran tactile (sorte de souris il est vrai), joystick.. C'est vrai qu'il n'y a pas tant que ça de monde à priori ..

      Peut-être que le projet parait un peu complexe par rapport au bénéfice qui en ressortirait ?

      Mais, en admettant que le projet démarre, tant qu'à créer un outil d'édition de XF86Config dynamique, on pourrait imaginer un panneau de config permettant de configurer le xinérama, activer l'accélération matérielle de nombreuses cartes (même l'accélération 2d xv n'est pas toujours évidente à obtenir) etc.
    • [^] # Re: 2 souris..

      Posté par  . Évalué à -1.

      Certes, ça marche bien avec 2 souris, ce dont l'utilisateur moyen (voire l'utilisateur exotique) a tout de même rarement besoin.
      Par contre, oui, pour tout ce qui est tablette graphique et autres périphériques non considérés comme "de base-essentiels-indispensables", Ubuntu, Mandrake et autres réussissent-elles à tout faire marcher du premier coup sans aucune manip? (vous fatiguez pas trop, j'ai un pote qui galère pour avoir la gestion de la pression sur une tablette graphique avec Mandrake 10.0...)
      Donc, oui, pour moi aussi, c'est une bonne idée (enfin... au cas où qqun aurait eu besoin de mon avis, hein... ;))
    • [^] # Re: 2 souris..

      Posté par  . Évalué à 2.

      J'oubliais : essaye d'installer le driver synaptic pour profiter des améliorations rendant plus supportable l'utilisation d'un touchpad (ascenseurs, boutons virtuels, pression, glisser déposé simplifié, etc.) et dis moi si tu t'en sors sans toucher manuellement au XF86Config :-)

      Certes, cette manipulation là n'est pas trop compliquée si on suit bien la doc (ca change selon qu'on est en noyau 2.4 ou 2.6), mais ne serait-ce pas mieux si ça pouvait être évité ?

      De plus, une phrase qu'on entend souvent dans le monde Linux est "ne réinvente pas la roue". N'est-ce pas ce qu'on oblige tous les utilisateurs à faire lorsqu'il doivent configurer manuellement leurs périphériques, en suivant une doc poussiéreuse (pas très attrayante par le look et la technicité et in english only), le plus souvent en se contentant de la config donnée par le how-to (par peur de faire des bêtises je pense) ?

      Vaut-il mieux laisser 10 000 utilisateurs passer 1 heure pour installer une bête tablette ou un développeur qui se dévoue 100 heures à créer un outil pour que les 10 000 utilisateurs soient tranquilles ?
  • # Tiens à propos de tablette graphique

    Posté par  . Évalué à 1.

    Je suis assez content que tu postes cela car justement j'ai une souris ps2 + une tablette graphique wacom penpartner depuis assez longtemps et cela fonctionnait très bien jusqu'à ce que je passe à Mdk 10.1. J'ai aussi eu une souris sans fil + souris PS2 + tablette, sans problème. Depuis (Xorg ?) la tablette ne fonctionne plus et je n'ai pas l'énergie pour me prendre la tête avec cela. Néanmoins si tu as des tuyaux n'hésite pas à m'en faire part...
    Merci d'avance
    • [^] # Re: Tiens à propos de tablette graphique

      Posté par  . Évalué à 1.

      /mode grognon ON

      >la tablette ne fonctionne plus et je n'ai pas l'énergie pour me prendre la tête avec cela

      Ca tombe bien nous non plus!!!

      /mode grognon OFF

      Vous pouvez pas me tapper : je suis dejà dehors ====>> []
  • # ca existe deja

    Posté par  . Évalué à 3.

    c'est D-BUS ->> www.freedesktop.org/Software/dbus
    • [^] # Re: ca existe deja

      Posté par  . Évalué à 2.

      Mon anglais n'est pas très excellent, mais j'ai l'impression que d-bus serait plutot un outil qui permettrait justement de mener à bien ce genre de projet. Enfin, c'est ce que me suggère la phrase d'introduction :

      "D-BUS is a message bus system, a simple way for applications to talk to one another.

      D-BUS supplies both a system daemon (for events such as "new hardware device added" or "printer queue changed") and a per-user-login-session daemon (for general IPC needs among user applications). Also, the message bus is built on top of a general one-to-one message passing framework, which can be used by any two apps to communicate directly (without going through the message bus daemon). "

      De plus, je ne crois pas qu'il permette de modifier directement un XF86Config ;-)
      Ou alors je me trompe ?
  • # merci

    Posté par  . Évalué à 2.

    Je vous remercie tous pour vos contributions, qui m'ont toute parues constructives (malgré quelques "inutilages". Hey, ceux qui ne sont pas d'accord avec un propos peuvent donner leur avis ou expliquer pourquoi untel s'est planté, ça sera plus constructif que de le moinsser sans autre forme de procès).

    Même si j'ai bien conscience que les distributions s'améliorent de plus en plus, je me rend bien compte que c'est encore loin d'être la panacée, et comme on lance souvent de par les contrées linuxfriennes "fais un patch !", je me dit que je vais tenter de poser ma petite pierre à l'édifice, en commençant déjà par une petit état des lieux, puis une étude des faisabilités et peut-être un outil fonctionnel si je parviens au bout (voir le lien page perso pour suivre l'avancée de mes recherches).

    Tant pis si je perds mon temps, ça n'est pas pire que de se vautrer devant la télé à se vider le cerveau au profit de bulles gazeuzes bien connues ;-)
    • [^] # Re: merci

      Posté par  (site web personnel) . Évalué à 2.

      A mon avis, ce n'est pas une idée si farfelue que celà, ça a le mérite de simplifier énormément la configuration.

      Un des avantages du fichier XF86Config(-4), c'est sa modularité :
      -Screen
      -InputDevice
      -Device
      ... etc.

      Il existe beaucoup de sites où l'on peut retrouver des fichiers complets (un au hasard de Google : http://www.st.rim.or.jp/~adats/WL/XF86Config/(...)).

      A mon avis, dans un premier temps, commence par faire une base de données du style :
      Type : Carte vidéo
      Marque : ATI
      Modèle : IGP320M
      Inclure :
      Section "Device"
      Identifier "Generic Video Card"
      Driver "ati"
      Option "UseFBDev" "true"
      EndSection
      Prérequis : driver ATI générique
      Version : XFree86 : >=4.1.0, Xorg : toutes versions.
      etc...

      Il vaut mieux donner des morceaux de fichier plutôt que le fichier complet, forcément plus spécifique à une machine donnée.
      • [^] # Re: merci

        Posté par  . Évalué à 2.

        Merci pour le lien. Une liste de configs typiques risque en effet d'être des plus utiles.

        J'avais en effet dans l'idée de constituer une mini-bibliothèque d'extraits de XF86Config pour divers périphériques ainsi que regrouper toute doc utile pour le projet (voir le wiki).

        Sinon, je ne comptais pas m'occuper des versions de XFree86 <4, : le format du fichier est différent et XFree 3 peut être considéré comme obsoloète (je suis sûr que certains diront le contraire mais bon). Il y a déjà à faire comme cela de toute façon, et il sera temps de s'occuper de l'ancienne version si le projet aboutit à quelque chose.
        • [^] # Re: merci

          Posté par  (site web personnel) . Évalué à 2.

          J'ai vu le wiki et j'ai d'ailleurs ajouté/corrigé un ou 2 trucs au passage.

Suivre le flux des commentaires

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