Après avoir vu l'annonce sur LinuxFr, j'ai voulu (comme tout le monde) essayer Google Earth. Je ne parlerai pas du soft, car la n'est pas le sujet de ce billet.

ATi En effet, je me suis bien vite aperçu que la 3D ne fonctionnait plus du tout sur ma dapper fraîchement mise-à-jour ! Mais comment est-ce possible ? J'utilise en effet les pilotes fournis par le constructeur de ma carte graphique (ATI radeon AIW 9000) qui fonctionnaient très bien jusqu'à présent !

Google me fournit alors rapidement la réponse : ma carte ne fonctionne plus avec la dernière version des pilotes propriétaires ATI[1].

Propriétaires ?

Qu'est-ce qu'un pilote/driver propriétaire ?
C'est un pilote fournit sous forme binaire uniquement par un constructeur de matériel pour gérer celui-ci. C'est à dire que la communauté ne dispose pas du code source. Ils sont généralement en deux parties :

  • une couche d'adaptation au noyau dont les sources sont fournis afin de la recompiler pour chaque noyau
  • un module binaire contenant le cœur du dialogue avec le matériel.

La gestion des fonctionnalités, la fréquence de sortie, le matériel supporté, etc dépendent donc entièrement du constructeur, seul capable de compiler le module.

A l'opposé, il existe des pilotes libres[2] pour certains matériels. mais le développement de ceux-ci dépendent souvent de la bonne volonté du constructeur qui décide ou non de fournir les spécifications de ses produits[3].

Et alors ?

Ou est le problème ? ça marche avec ma carte vidéo et j'ai l'accélération 3D, je m'en fiche de ne pas avoir les sources, de toutes façon je ne suis pas capable de comprendre ce qu'il y a dedans !
Oui, on peux dire cela tant que tout fonctionne[4] mais dans mon cas, ma carte ne fonctionne plus, et la réaction d'ATI est : "c'est du vieux matériel, nous ne sommes pas focalisés dessus"
Donc le fonctionnement de ma carte graphique payée fort cher il y a moins de 5 ans dépend uniquement du bon vouloir de ce constructeur[5]. Lequel ne pense qu'a vendre de nouvelles cartes ! Pensez-vous qu'il va faire beaucoup d'efforts ?
Je suis à la merci d'une régression qui ne sera peut-être jamais corrigée.

Mais c'est pareil avec l'open source

OpenSource L'open source n'empêche bien sur pas une telle régression. Mais si cela arrive, la communauté peut la corriger et ainsi faire en sorte que les anciennes cartes continuent de fonctionner ! Ce qui est impossible avec des drivers fermés.
La preuve en est que le driver libre radeon fonctionne pour ma carte et même pour de plus anciennes !

J'ai un autre exemple qui date un peu. Il y a longtemps, quand j'étais encore en dual-boot j'avais acheté un scanner SCSI qui marchait très bien sous Windows 98 et sous Linux (Debian Woody). Or un jour j'ai changé de version pour passer à Windows 2000. Malheur ! Mon scanner ne fonctionnait plus, le constructeur ne fournissait plus de drivers, le produit étant trop vieux.
Et sous Linux ? Et bien, il fonctionne toujours merci[6] :)

Les solutions

Bref, que puis-je faire ?

  • downgrader mon driver et perdre les bénéfices de la dernière version[7].
  • Installer le driver libre radeon qui supporte la 3D pour ces cartes. Le test rapide que j'ai fait hier soir n'a pas été concluant. Les performances semblent bien moindres.
  • Remplacer une bibliothèque par une plus vieille version (sujet original) C'est un contournement "sale" mais qui fonctionne à peu prêt correctement.

J'ai donc temporairement opté pour la 3ème solution. Mais la solution définitive devrait être la 2ème[8]

En conclusion il faut bien se rendre compte que des drivers propriétaires nous lient aux volontés du constructeur. Nous devrions donc faire très attention à nos choix pour faire pression auprès de ceux-ci. Qu'ils nous fournissent des drivers libres, ou qu'ils les libèrent en fin de vie du produit, ou qu'ils fournissent les specs complètes.

Quelques liens

Notes

[1] En fait cela semble concerner tous les modèles de la série R2xx

[2] dont les sources sont disponibles

[3] ou bien du travail de reverse-engineering de la communauté

[4] laissons de côté les questions philosophiques et de sécurité pourtant tout aussi importantes !

[5] pas tout a fait, nous verrons ça plus loin

[6] J'en ai déjà parlé ici

[7] corrections de bugs, nouvelles fonctions

[8] dés que j'aurais un peu de temps sur ce PC