Thinkpad+Lenny+Xorg+SMI Lynx ? Quelques solutions !

Bonjour :slightly_smiling:

Voici un mini tuto pour les possésseurs de vieux IBM thinkpad équipés d’un chip graphique silicon motion.

J’ai récemment upgradé mon vieux Thinkpad iSeries1300 (P3 650mHz, 256M RAM, 20G DD, 8 ans) de stable à testing et… bonjour les dégâts avec Xorg :imp: Il est équipé d’un chipset graphique SMI (siliconmotion) Lynx, comme la plupart des portables IBM de l’époque.

J’ai voulu faire les choses proprement et refaire une install à partir de zéro. Voici donc ce qui peut vous arriver, avec ce que vous pouvez ne plus faire, et finalement un xorg.conf qui va vous sortir de la m…

Une dernière chose, et pas des moindres : le pilote VESA peut ne plus fonctionner, j’obtiens pour ma part un écran noir.

Install de base

Je reboot suite à l’install, installe Xorg. Un petit startx… écran noir. Ben ouais l’autodetect marche pas. Donc je me dis, retournons sur la console ! Ecran noir aussi, mais les commandes que je passe marchent.

Aller, dpkg-reconfigure xserver-xorg après le reboot ! Il ne propose plus le pilote bien sur. Vite fait j’édite xorg.conf et je rajoute la ligne siliconmotion. Je relance X. Et là, le fameux problème de bordure qui existe depuis des lustres, ajoutons à ceci le triple pointeur de souris ! En image : http://img205.imageshack.us/my.php?image=im000608ig7.jpg

Je vous promet que j’ai galéré pour retrouver les fréquences (qui de toute manière ne sont pas correctes mais qui seront ajustées par Xorg) et la fameuse option pour virer le triple curseur :laughing:

Donc voilà le xorg.conf qui va bien :

# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#   sudo dpkg-reconfigure -phigh xserver-xorg

Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"fr"
	Option		"XkbVariant"	"latin9"
EndSection

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
EndSection

Section "Device"
	Identifier	"Configured Video Device"
	Driver	"siliconmotion"
	Option "HWcursor" "false"
	Option "UseBIOS" "false"
EndSection

Section "Monitor"
	Identifier	"Configured Monitor"
	 Horizsync       30-65
	 Vertrefresh     50-75
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Monitor		"Configured Monitor"
	Device "Silicon Motion, Inc. SM720 Lynx3DM"
	DefaultDepth 24 
	SubSection "Display" 
	Depth 16 
	Modes "1024x768" 
	EndSubSection 
	SubSection "Display" 
	Depth 24 
	Modes "1024x768" 
	EndSubSection 
EndSection

Et une fois X redemarré, tout revient dans l’ordre, enfin presque…

Ici s’arrête la procédure supportée par Debian, veillez juste à vérifier si ce bug n’est pas fermé, et s’il est fermé de vérifier que vous avez effectué le necessaire.


Console noire ? Problèmes de performance ?

A l’heure où j’écris les pilotes fournis par Debian ont de multiples bugs possibles, dont notamment le fait que la “vraie” console ne sera plus accessible visuellement (écran noir) dès que vous lancez X jusqu’au prochain redémarrage et, vous l’avez surement remarqué, les performances graphiques sont à la baisse par rapport à Etch.

Les versions récentes du pilotes fourni par freedesktop.org (le site “officiel” de X.Org) résolvent ces dysfonctionnements. Mais cela n’est pas supporté par Debian, donc vous prenez vos responsabilités :smiling_imp:

Si ça vous tente, lisez la suite :wink:

(suite, désolé pour le doublepost mais c’est afin de séparer l’officiel et l’officieux)

[size=150]Dernière MAJ : 19/01/2009[/size] mise à jour pour l’excellente version 1.7.0 fournie par le git de freedesktop.

J’ai voulu tester un driver plus récent, donc je vais voir la version expérimentale du paquet sur les dépots Debian… ça n’est qu’une révision de celui fourni par testing (pour la gestion de xorg 1.5). Donc je vais voir sur le GIT de freedesktop, et les versions supérieures à 1.6.0 fonctionnent correctement. Néanmoins je recommande d’utiliser la version 1.7, car cette version detecte automatiquement les fréquences, fixe par défaut le bug du triple curseur etc. Seule l’autodetection ne fonctionne pas actuellement.

[size=150]Avant toute chose[/size]

=> Vérifiez que le bug que j’ai lancé ne soit pas fermé, si c’est le cas, prenez directement les paquets Debian.

=> Soyons clair : cette méthode n’est pas supportée par Debian bien entendu, donc vous prenez vos responsabilités tout comme lorsque vous utilisez les .run de chez nvidia par exemple.

[b] [size=150]Ajout des dépots unstable [/size] [/b]

Les versions récentes du pilotes reclament un fichier xorg-macros.m4, celui fournit sous lenny est trop vieux, on va donc prendre celui d’unstable. Ajoutez ces deux lignes à /etc/apt/sources.list en tant que root.

deb http://ftp.fr.debian.org/debian/ sid main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ sid main contrib non-free


[size=150]Compilation/Installation du dernier pilote SMI[/size]

J’ai automatisé la chose de manière à toujours avoir la dernière version de chez freedesktop.org, mieux encore on va créer un .deb, de cette manière vous pourrez supprimer le pilote sans forcément garder les sources :slightly_smiling:

Ne distribuez jamais ce .deb, il est propre à votre machine. Si vous souhaitez reinstaller le pilote officiel Debian, il faudra supprimer le paquet xf86-video-siliconmotion avant. Si vous ne le faites pas vous allez alors avoir à faire face à un conflit qui n’est pas géré proprement par apt, et c’est toujours délicat. (Plus techniquement, ceci est dû à checkinstall qui ne gère le champs “conflicts” dans control).

Donc voici les commandes, les lignes commençant $ étant à effectuer en utilisateur, les commandes commançant par # en tant que root :

# apt-get update
# apt-get remove xserver-xorg-video-siliconmotion 
# apt-get build-dep xserver-xorg-video-siliconmotion 
# apt-get install checkinstall git-core
# apt-get install -t unstable xutils-dev
$ cd /tmp
$ git-clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-siliconmotion/ 
$ cd xf86-video-siliconmotion
$ ./autogen.sh --prefix=/usr --mandir=/usr/share/man/
$ make
# checkinstall -D --pkgname "xf86-video-siliconmotion" --pkgversion "1.7.0$(hostname)" --nodoc -y

Ceci étant fait, votre paquet est dejà installé et checkinstall vous indique où récupérer le .deb :slightly_smiling:

[size=150]Configuration[/size]

Hormis l’autodetection, tout fonctionne à présent, donc vous devez encore indiquer le pilote, et c’est tout. Voici mon xorg.conf :

#j'ai coupé le fameux header...
Section "InputDevice"
	Identifier	"Generic Keyboard"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"fr"
	Option		"XkbVariant"	"latin9"
EndSection

Section "InputDevice"
	Identifier	"Configured Mouse"
	Driver		"mouse"
EndSection

Section "Device"
	Identifier	"Configured Video Device"
	Driver	"siliconmotion"
EndSection

Section "Monitor"
	Identifier	"Configured Monitor"
EndSection

Section "Screen"
	Identifier	"Default Screen"
	Monitor		"Configured Monitor"
EndSection

Ensuite, (re)démarrez Xorg et tout devrait fonctionner comme sous etch :slightly_smiling:

Bon, après pas mal de recherches, toujours des petits problèmes sous Squeeze :12, mais c’est bien mieux que sous Lenny.

De ce fait, j’ai mis à jour pour Squeeze dans le wiki : isalo.org/wiki.debian-fr/ind … iconmotion

:006

Salut,
J’ai vu ça. J’ai mis un lien dans la page d’accueil.
Merci beaucoup pour la contribution.

Ce serait pas mal de un lien du Wiki vers ce T&A, qu’en penses tu ?

Fait :mrgreen: