La configuration de la résolution de l’écran ou d’un vidéo projecteur a toujours été un problème pour les “nons initiés”, recherches des paramètres sur le Web, configuration de Xorg… Heureusement, l’arrivée des ports “numériques” (DVI / HDMI) permettent de ne plus se soucier de cette configuration car les paramètres optimaux sont négociés automatiquement entre l’écran et le système. Il existe néanmoins des cas ou un une configuration manuelle est encore nécessaire: utilisation d’un PC avec une interface RGB, écran non reconnu par le système (vidéo projecteur ou écran de télévision)… Nous allons donc dans ce billet voir comment utiliser des outils simples pour optimiser l’affichage de son système GNU/Linux sur n’importe quel écran.
xrandr est ton ami
xrandr est un projet de la fondation X.org. C’est à la fois un protocole et un logiciel permettant de paramétrer l’affichage de vos écrans: résolution, fréquence, rotation, multi-écran…
Détection des écrans
On commence par détecter les écran disponible avec la commande suivante:
xrandr Screen 0: minimum 320 x 200, current 1360 x 768, maximum 8192 x 8192 VGA1 connected 1360x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1360x768 59.8* 1024x768 60.0 800x600 60.3 56.2 848x480 60.0 640x480 59.9 59.9 xrandrScreen 0: minimum 320 x 200, current 1360 x 768, maximum 8192 x 8192VGA1 connected 1360x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1360x768 59.8* 1024x768 60.0 800x600 60.3 56.2 848x480 60.0 640x480 59.9 59.9
On peut voir que le PC dispose d’une sortie VGA (nommée VGA1) avec un écran branché dessus (connected) à une résolution de 1360×768 (à 59.8 Hz). L’écran en question est en fait un HP LP2465 supportant une résolution full-hd de 1920×1200… il y a donc une coquille à résoudre…
Création d’une nouvelle configuration
On utilise pour cela un deuxième logiciel nommé gtf qui va permettre de générer pour vous une nouvelle configuration d’écran. gtf demande en paramètre la résolution et la fréquence souhaités (par exemple 1920×1200 à une résolution de 60 Hz):
gtf 1920 1200 60 # 1920x1200 @ 60.00 Hz (GTF) hsync: 74.52 kHz; pclk: 193.16 MHz Modeline "1920x1200_60.00" 193.16 1920 2048 2256 2592 1200 1201 1204 1242 -HSync +Vsync
Il faut mettre la ligne suivante de coté:
"1920x1200_60.00" 193.16 1920 2048 2256 2592 1200 1201 1204 1242 -HSync +Vsync
Application de la nouvelle configuration
On utilise pour cela le logiciel xrandr, d’abord en créant la nouvelle configuration dans le système:
xrandr --newmode "1920x1200_60.00" 193.16 1920 2048 2256 2592 1200 1201 1204 1242 -HSync +Vsync
On ajoute cette nouvelle configuration à l’interface VGA1:
xrandr --addmode VGA1 1920x1200_60.00
Puis on force l’interface VGA1 à utiliser cette nouvelle configuration:
xrandr --output VGA1 --mode 1920x1200_60.00
Si tout ce passe comme prévu, l’écran devrait passer dans la nouvelle résolution. On peut vérifier celà par la ligne de commande:
xrandr Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 8192 x 8192 VGA1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1360x768 59.8 1024x768 60.0 800x600 60.3 56.2 848x480 60.0 640x480 59.9 59.9 1920x1200_60.00 60.0*
Sources
- Pour une configuration multi-écran: http://manual.sidux.com/fr/hw-dev-mon-fr.htm
- Article en Anglais: http://www.arunviswanathan.com/node/53
- La doc sur ubuntu-fr: http://doc.ubuntu-fr.org/xrandr