Forcer l’utilisation d’une résolution avec Xrandr
Ce weekend j’avais besoin d’utiliser la 2ème sortie vidéo de mon netbook pour le connecter à un vidéoprojecteur. Je branche donc le vidéoprojecteur, il est bien détecté et j’ai bien une image qui s’affiche. Néanmoins, la résolution affichée ne me satisfait pas.
J’ai beau chercher, sous Gnome 3, je peux effectivement changer la résolution, mais uniquement vers une résolution plus basse. Ce qui bien sur n’est pas mon objectif. La résolution de mon vidéoprojecteur n’est pas détectée, et je suis donc en 1024×768, alors qu’il est capable de faire du 1280×720.
La solution pour ajouter une nouvelle résolution passe par Xrandr.
Lancer la commande xrandr sans arguments va permettre d’en savoir un peu plus sur la configuration actuelle et les résolutions possibles:
$ xrandr Screen 0: minimum 320 x 200, current 2048 x 768, maximum 4096 x 4096 LVDS1 connected 1024x600+0+0 (normal left inverted right x axis y axis) 222mm x 125mm 1024x600 60.0*+ 800x600 60.3 56.2 640x480 59.9 VGA1 connected 1024x768+1024+0 (normal left inverted right x axis y axis) 0mm x 0mm 1024x768 60.0* 800x600 60.3 56.2 848x480 60.0 640x480 59.9
La résolution 1280×720 n’est pas disponible, nous allons utiliser la commande cvt pour avoir la bonne ligne à ajouter:
$ cvt 1280 720 # 1280x720 59.86 Hz (CVT 0.92M9) hsync: 44.77 kHz; pclk: 74.50 MHz Modeline "1280x720_60.00" 74.50 1280 1344 1472 1664 720 723 728 748 -hsync +vsync
il nous suffit de recopier le modèle affiché et de créer le nouveau mode avec xrandr :
$ xrandr --newmode "1280x720_60.00" 74.50 1280 1344 1472 1664 720 723 728 748 -hsync +vsync
vous pouvez vérifier que le mode a bien été créé en lancant xrandr sans arguments:
$ xrandr Screen 0: minimum 320 x 200, current 2048 x 768, maximum 4096 x 4096 LVDS1 connected 1024x600+0+0 (normal left inverted right x axis y axis) 222mm x 125mm 1024x600 60.0*+ 800x600 60.3 56.2 640x480 59.9 VGA1 connected 1024x768+1024+0 (normal left inverted right x axis y axis) 0mm x 0mm 1024x768 60.0* 800x600 60.3 56.2 848x480 60.0 640x480 59.9 1280x720_60.00 (0xc5) 74.5MHz h: width 1280 start 1344 end 1472 total 1664 skew 0 clock 44.8KHz v: height 720 start 723 end 728 total 748 clock 59.9Hz
Il nous reste maintenant à associer cette résolution à l’écran :
$ xrandr --addmode VGA1 1280x720_60.00
et pour appliquer la résolution :
$ xrandr --output VGA1 --mode 1280x720_60.00
La résolution est désormais correcte, néanmoins gnome-shell utilise 90% du CPU en continu suite à cette modification… donc ce n’est pas pleinement satisfaisant.
A noter que la même action sur Fedora 14 fonctionne parfaitement pour moi.