lundi 14 janvier 2013

Un p'tit post technique !

Oh là, pas de post depuis septembre déjà ? Et bin pas vu le temps passer depuis septembre moi... !
Bon bref, ça c'est juste un post rapide pour les linuxiens qui pourraient avoir ce problème là :

Dernièrement j'ai eu envie de tester le dernier kernel, ça a été le 3.7.2. J'utilise debian, donc je compile mon kernel et tout va bien. Maintenant debian a intégré le driver nvidia dans un package dkms bien clean qui se reconfigure tout seul et recompile son module quand on installe un nouveau kernel, même non debian... normalement !
Ca faisait vachement longtemps que j'avais pas eu de problème de ce genre, mais cette fois là ça a été pire, d'où ce post !
J'ai senti que ça puait quand il a commencé à me dire qu'il virait le driver nvidia du kernel 3.5.3 avant de recompiler. Ca c'est un truc super chiant du dkms, il suppose qu'on garde les sources séparés de chaque kernel, faut vraiment avoir de l'espace à gaspiller pour faire ça, et il vire d'autorité les anciens modules donc si on a pas fait de copie et que ça se passe mal, on l'a in the baba... !
Et donc là ça s'est mal passé, kernel incompatible pas moyen de compiler. C'est chiant surtout quand on sait que nividia a sortir la version 310 depuis + d'1 mois qui corrige ça... ils sont chiants debian parfois.

Bon alors dans ce cas là avant on avait le driver nvidia de xorg, nv de son petit nom pour nous sortir du caca. Sauf que maintenant il a disparu, remplacé par le driver "nouveau". Et là j'ai un grave problème avec celui là, j'ai un moniteur tout pourri (philips !!!) qui a pété son edid moins d'1 an après l'achat, du coup le driver ne peut pas détecter ses modes, et je me retrouve avec un bel écran noir dès que j'essaye de le charger. J'ai essayé sans trop y croire, et j'ai en effet eu le bel écran noir.

Bah là c'est la merde, au final j'ai été obligé de revenir au 3.5.3 en catastrophe, mais comme j'avais plus de copie de l'ancien module nvidia il a fallu ré-appliquer les patches kernel à l'envers puis tout recompiler pour enfin réinstaller le bon driver nvidia ! Super bazar quoi !

Donc pour éviter ça, le mieux c'est de s'arranger d'abord pour que le driver nouveau puisse marcher en dépannage. Dans mon cas, y a un gars bien sympa qui a fait un patch pour rendre l'edid non obligatoire au niveau du module drm ici : https://bugs.freedesktop.org/attachment.cgi?id=41654
bon pour l'instant je ne l'ai testé que sur le 3.5.3 mais ça a l'air de très bien marcher. Comme indiqué, faut ajouter
drm.edid_strict=0
sur la ligne de commande du kernel. Après un reboot pour tester, ce coup là l'insertion de nouveau provoque juste un message d'erreur à propos de l'edid, mais après il trouve un mode par défaut et ça marche !
Bon il parait qu'à partir du kernel 3.8 ils auront l'accélération 3d, mais avant ça vaut mieux rester au module nvidia, mais garder celui là en dépannage (pour pouvoir éventuellement aller chercher un driver + récent sur le site de nvidia quand tout va mal ! D'ailleurs j'ai essayé courageusement avec links en mode texte, bin ça n'a pas marché, il doit y avoir trop de javascript sur leur site).