2011/07/30

Ubuntu sur sa télé - Partie 2 : xrandr, xvidtune, xorg.conf

À la suite de l'échec de la configuration de l'ordinateur dédié à ma télévision par nvidia-settings, j'ai trouvé plusieurs programmes alternatifs dans divers forums sur internet qui donnaient des pistes de résolutions pour compenser un problème de surbalayage. Cependant, aucune de ces solutions ne m'ont été utiles, car le pilote propriétaire Nvidia n'est actuellement pas compatible Randr.

xrandr

Le programme en terminal xrandr permet d'ajuster la résolution d'un écran. Il est basé sur Randr qui est un acronyme pour « rotate and resize » (en français, « tourner et redimensionner »). Pour que xrandr soit utilisable, il faut que le xserver (le gestionnaire de fenêtres) et le pilote graphique soient compatibles avec Randr. D'après ce que j'ai lu (site externe en anglais : « A Newbie's Guide to RandR 1.2 »), le pilote expérimental « nouveau » qui vient normalement par défaut avec Ubuntu serait compatible, mais j'utilise présentement le pilote propriétaire de Nvidia qui ne l'est pas. 

Certaines options m'ont semblé intéressantes en lisant le manuel (tapez « man xrandr » dans un terminal). J'ai pu en tester quelques unes en terminal dans un Ubuntu virtualisé. Je les ai décrites plus bas dans cet article. Cependant, dans le cas de ma télévision, l'écran ne faisait que scintiller pendant une seconde et le terminal m'annonçait qu'il venait d'y avoir une erreur.

xvidtune

Ce logiciel en terminal est un complément à xrandr et il peut aussi être utilisé seul si on est capable de modifier le fichier de configuration xorg.conf manuellement. Il permet de trouver les bons paramètres pour créer une « Modeline » (littéralement « ligne de mode »). La ligne de mode permet de configurer manuellement un nouveau mode d'affichage pour un écran en jouant avec les temps de balayage reliés à différentes résolutions. J'ai trouvé que c'était une solution longue, complexe et possiblement risquée (comme les avertissements de l'image 1 le suggèrent) pour régler facilement et efficacement mon problème.

Image 1 : Fenêtre d'avertissements - xvidtune - Ubuntu 11.04

Pour l'utiliser, il faut le lancer la commande en terminal « sudo xvidtune ». Une fois la commande lancée, une interface graphique qui comporte des boutons comme « Wider », « Narrower », « Shorter », « Taller » (en français, plus large, plus mince, plus petit, plus grand) apparaît. Une fois qu'on pense avoir trouvé le bon mode on peut cliquer sur « Apply » (appliquer en français) pour le tester et sur « Show » (en français, montrer) pour afficher la ligne de mode dans le terminal.
Image 2 : Fenêtre principale de xvidtune - Ubuntu 11.04

Il faudrait ensuite manuellement ajouter la ligne de mode au fichier xorg.conf. Par contre, xrandr contient des options permettant d'ajouter des lignes de mode sans avoir à le faire manuellement. Je parle des options « xrandr --newmode <ligneDeMode> » et « xrandr --addmode <nomDeL'Affichage> <nomDuMode> » (voir « man xrandr » pour plus d'information). L'option « newmode » permet de spécifier un nouveau mode et l'option « addmode » ajoute le mode au choix possibles pour un moniteur voulu. Ensuite, il faut utiliser la commande « sudo xrandr --output <nomDeL'Affichage> --mode <nomDuMode> » pour l'appliquer.

À la fin, la recherche continue. Les solutions que j'ai trouvées ici sont très peu intéressantes pour quelqu'un qui veut rapidement régler un problème d'affichage sans entrer dans de la grande configuration en console.

À venir, mythbuntu et wmctrl...

Supplément 1 - xorg.conf

Le fichier xorg.conf contient toutes les informations et les lignes de configuration concernant les moniteurs et les résolutions d'un ordinateur sous Ubuntu. Son chemin est « /etc/X11/xorg.conf ». Il est utilisé par le programme xorg qui gère notre session quand on se connecte en personne devant l'ordinateur. Il est « possible » de modifier manuellement ce fichier si on a des connaissances avancées de son fonctionnement et/ou l'expérience suffisante pour le faire, mais je pense qu'il est très préférable de passer par xvidtune et xrandr.

Un nouveau problème avec le xorg.conf est  qu'il n'existe plus sous Ubuntu 11.04 à moins qu'on le crée soi-même (forum sur Ubuntu 11.04, site externe en anglais : « xorg.conf in ubuntu Natty 11.04 »).

La méthode qui suit permet quand même d'ajouter une ligne de mode dans Ubuntu 11.04 et dans tout autre Ubuntu ayant le fichier xorg.conf.

Supplément 2 - ajouter une ligne de mode; un exemple pas à pas détaillé
  1. Tenter d'ouvrir xvidtune avec la commande « sudo xvidtune ». Il se peut que le programme n'ouvre pas et que la console nous annonce que notre carte graphique ne nous permet pas de modifier les modes d'affichages par xvidtune. Les étapes qui suivent sont inutiles dans ce cas.
  2. Lisez et comprenez les avertissements. Cliquer sur « OK » pour ACCEPTER les risques.
  3. Utiliser l'interface de l'image 2 pour modifier les temps d'affichage. 
  4. Si vous avez accepté les risques, essayer de tester le nouveau mode en cliquant sur le bouton « Apply ».
  5. Si le mode vous plaît, vous pouvez cliquer sur le bouton « show » pour afficher la ligne de mode à ajouter avec xrandr. Je supposerai que le logiciel me donne la ligne de mode suivante pour continuer ma démarche : « "1024x768"     65.00   1024 1048 1184 1344    768  771  777  806 -hsync -vsync  ».
  6. Fermer xvidtune.
  7. Entrer la commande « xrandr -q » pour connaître le nom de votre affichage. (Voir l'encadré rouge de l'image 3 en dessous de cette démarche pour savoir où trouver le nom de l'affichage.) « Default » est celui que j'utiliserai pour le reste de mon exemple.
  8. Utiliser la commande « xrandrd --newmode "1024x768"     65.00   1024 1048 1184 1344    768  771  777  806 -hsync -vsync » pour ajouter le nouveau mode d'affichage. La partie délimitée par les guillemets anglais est le nom de ce mode. On peut le remplacer par ce que l'on veut.
  9. Utiliser la commande « xrandr --addmode default 1024x768 » où default est le nom de l'affichage et 1024x768 est le nom du mode que l'on veut lui ajouter. Si on réutilise la commande « xranrd -q », on devrait voir le nouveau mode apparaître dans la liste des modes compatibles affichés pour notre moniteur.
  10. Utiliser la commande « xrandr --output default --mode 1024x768 » pour appliquer le nouveau mode.
Image 3 : sortie de la commande « xrandr -q »

Autre article :
Ubuntu sur sa télé - Partie 1 : Se battre avec Nvidia

Aucun commentaire:

Publier un commentaire