Aucun message portant le libellé affichage. Afficher tous les messages
Aucun message portant le libellé affichage. Afficher tous les messages

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

2011/07/08

Installer les pilotes les plus récents pour les cartes « ATI/AMD graphics »

NOUVEAU (2012-04-15) :  le wiki non-officiel des pilotes AMD semble donner de très bonnes informations spécifiques à plusieurs distributions en ce qui concerne l'installation des pilotes propriétaires d'AMD. Le site est en anglais bien sûr : http://wiki.cchtml.com/index.php/Category:Distributions

AJOUT (2011-12-24) : Après quelques problèmes avec les version 11.04 et 11.10 j'ai décidé de retomber à 10.04. En ce faisant, j'ai eu besoin de résoudre certains conflits dans les dépendances du programme de driver d'AMD. Pour réussi l'étape 4 décrite ci-dessous, j'ai dû installer les packages suivants : dpkg-dev, debhelper, execstack, cmake et gcc (sudo apt-get install cmake debhelper dpkg-dev execstack gcc devrait pouvoir tout installer). Puis, pour réussir à faire l'étape 5, il a fallut que j'installe les paquets suivants : lib32gcc1, libc6-i386 et dkms (encore une fois,sudo apt-get install dkms lib32gcc1 libc6-i386 pour tout régler).

ATTENTION POUR LES ÉTAPES DÉCRITES PLUS BAS DANS LE BILLET :
  1. Si vous aviez exécuté l'étape 5 sans succès à cause de dépendances manquantes et que vous avez réglé les dépendances par la suite avec apt-get, apt-get devrait compléter l'installation automatiquement.
  2. Si après avoir suivi les 5 étapes d'installation vous n'arrivez pas à ouvrir le panneau de configuration avec la commande sudo amdcccle, essayez la commande aticonfig --initial=check. Si elle vous retourne un message précisant qu'il n'y a pas de configuration pour fglrx lancez la commande aticonfig --initial (ATTENTION, CETTE COMMANDE MODIFIE UN FICHIER DE CONFIGURATION, ELLE FAIT UNE SAUVEGARDE AVANT DE MODIFIER). Ça semble bien fonctionner sous 10.04, je n'en ai pas eu besoin sous 10.10,11.04 et 11.10.
-----------------------------------------------------------------------------------------------
Je suis définitivement passé à Linux avec Kubuntu 10.10 au cours du mois de mars 2011. Mon ordinateur utilise une carte graphique radeon hd 5670. Elle doit donc utiliser les pilotes propriétaires écrits par AMD pour fonctionner.

Jusqu'au mois de juin, le seul pilote que j'utilisais était celui qui était installable par le gestionnaire des pilotes supplémentaires. C'était un des pilotes de la version 8 qui était assez vieux étant donné que la version actuelle des pilotes est la version 11.

Après être fatigué de certains bogues affectant un nouveau jeu auquel je joue, j'ai commencé une nouvelle recherche pour comprendre comment aller chercher les pilotes plus récents directement sur le site d'AMD et les installer à partir du terminal.

C'est sur un blog en anglais (site externe : http://mygeekopinions.blogspot.com/2011/06/how-to-install-atiamd-catalyst-linux.html) que j'ai enfin trouvé la démarche claire et simple des commandes à entrer au terminal pour faire l'installation manuellement des pilotes les plus récents.

La méthode que j'ai utilisée est basée sur Ubuntu 11.04. La voilà :
  1. Télécharger le pilote pour sa carte graphique sur le site d'AMD
  2. Ouvrir le terminal et utiliser la commande «cd /home/utilisateur/Téléchargements/ » pour se placer dans le répertoire où se trouve le pilote qu'on a téléchargé. Ce qui est souligné devrait être changé par votre répertoire.
  3. Entrer la commande «chmod +x ati-driver-installer-11-6-x86.x86_64.run». Ce qui est souligné devrait être le nom du fichier où se trouve le pilote. On utilise ici la version 11.6 du pilote.
  4. À partir du fichier d'installation, on crée un exécutable avec l'extension «.deb». Il faut utiliser la commande «sudo sh ./ati-driver-installer-11-6-x86.x86_64.run --buildpkg Ubuntu/natty». Ce qui est souligné indique pour quelle distribution on veut créer un installateur. Ici on a Ubuntu/natty, soit Ubuntu 11.04. J'ai changé ce terme par Ubuntu/maverick, car je suis sous Kubuntu 10.10 qui est basé sur « Ubuntu 10.10 - Maverick Meerkat ». (pour ceux qui ne l'avaient pas encore remarqué, chaque nouvelle version d'Ubuntu est identifiée par un nombre et par un nom de code)
  5. Finalement, on installe le pilote à partir de l'exécutable avec la commande «sudo dpkg -i fglrx*.deb». (L'astérisque remplace le reste du nom de l'exécutable, on pourrait aussi utiliser son nom complet.)
Après ces étapes, j'ai redémarré mon ordinateur juste au cas. J'ai vu quelques améliorations satisfaisante en ce qui concerne mon jeu.

J'ai testé cette méthode sous Kubuntu 10.10. Le blog sur lequel je l'ai lu utilisait Ubuntu 11.04. J'imagine que les pilotes des autres cartes graphiques ATI/AMD s'installent de manière similaire, mais je ne peux en être sûr, car je n'est testé cette méthode que sur mon ordinateur.

P.S. Si vous voulez accéder au panneau de configuration d'ATI («ATI catalyst control center») et que vous avez des problèmes pour le lancer en mode administrateur à partir de l'icône dans le menu où se trouvent les autres propriétés de votre système (il ne s'ouvre tout simplement pas pour moi), lancez la commande «sudo amdcccle» dans votre terminal. Il faut absolument travailler en mode administrateur pour que les changements apportés soient sauvegardés.

2011/06/27

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

Hier, j'ai commencé à préparer l'ordinateur que je veux ajouter au cinéma maison familial. Après m'être battu avec deux de mes clefs USB, pendant une partie de la matinée, j'ai été sauvé par un lecteur CD externe qui m'a permis d'installer Ubuntu 11.04 convenablement en début d'après-midi.

La bataille pour l'installation étant gagnée, je suis ensuite allé connecter l'ordinateur sur notre récepteur audio/vidéo qui lui-même est connecté à une télé 60 pouces à rétroprojection. J'ai utilisé la prise HDMI provenant de la carte Nvidia 9600 GS installée dans l'ordinateur. Dès l'allumage, j'étais content de voir que les informations du BIOS s'affichaient bien et que l'image affichée était belle et en 1080i sans avoir à rien sélectionner. Le son était aussi très clair.

Cependant, une fois passé l'écran d'accueil, je me suis retrouvé sur un bureau dont tous les côtés étaient coupés d'environ 5% à 10%, comme si on avait fait un agrandissement sur le centre. Sans m'en douter, la bataille pour les paramètres Nvidia commençait.

Mon premier réflexe a été d'aller voir le gestionnaire de pilotes supplémentaires. Dans Ubuntu, les pilotes de compagnies privées (comme Nvidia) sont rarement installés par défaut. Il faut aller les sélectionner soi-même pour les installer et les activer. En vérifiant ce gestionnaire, je me suis rendu compte, qu'étrangement, le pilote 173 de Nvidia était installé, mais inutilisé.

La deuxième étape a consisté à utiliser le panneau de configuration Nvidia pour voir s'il était possible de régler le problème d'affichage par là. La meilleure manière d'y accèder pour être capable de l'utiliser avec les droits d'administrateurs est de passer par le terminal et de taper sudo nvidia-settings. De cette manière, on aura pas d'erreur si on choisit de sauvegarder nos modifications d'écran en cliquant sur « Save to X Configuration File ». (Pour ceux qui se le demandent, le fichier de configuration est à /etc/X11/xorg.conf)

Le programme nvidia-settings une fois lancé.
Dans cette version du programme, j'ai été incapable de trouvé quelque option que ce soit qui aie un effet sur la perte de pixels qui se produit sur ma télévision.

Avec quelques recherches, j'ai appris comment mettre à jour le pilote Nvidia à une version plus récente grâce à quelques commandes en terminal et au gestionnaire de pilotes supplémentaires. La version que j'ai été en mesure d'installer est la 270.41.19 qui est beaucoup plus récente que la 173. Les commandes que j'ai trouvées sont les suivantes :
sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current 
(lien externe en anglais : http://www.multimediaboom.com/install-nvidia-driver-ubuntu-1-04-11-10-ppa/)
Normalement, avec la dernière commande, les bons pilotes auraient dû s'installer. Mais, quand j'ai redémarré l'ordinateur, rien n'avais changé à l'écran et nvidia-settings me disait toujours que les pilotes utilisés étaient de la version 173.

Avec un peu plus de recherche, j'en suis arrivé à la conclusion que j'aurais dû désinstaller le pilote 173 avant d'installer le 270 et de vérifier que le pilote à code source libre « Nouveau » soit lui aussi désinstallé puisqu'il est installé par défaut dans Ubuntu 11.04. J'ai donc exécuté la commande suivante :
sudo apt-get --purge remove xserver-xorg-video-nouveau 
qui désinstalle le pilote « Nouveau » (documentation externe en anglais : https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia).

Pour désinstaller le pilote 173, je suis allé dans le gestionnaire de pilotes supplémentaires. Ensuite, j'ai activé le 270 au même endroit en choisissant le pilote Nvidia dit « courant » (ou « current » en anglais). Dans la documentation que j'ai liée précédemment, il est écrit qu'il peut être nécessaire de lancer la commande sudo nvidia-xconfig pour que le pilotes s'initialise complètement après.
Gestionnaire de pilotes supplémentaires (version anglaise)

J'ai redémarré par la suite juste pour être sûr que la modification se soit bien faite (vieille habitude souvent profitable sous Windows, mais souvent inutile sous Linux). J'ai remarqué que l'image affichée était plus belle, mais ça ne réglait par pour autant le problème de coupure des bordures de l'écran. Encore une fois, nvidia-settings ne m'offrait aucune option utile pour régler ce problème.

Après quelques recherches dans la documentation des pilotes de Nvidia, j'ai été incapable de trouver une option qui puisse m'aider même en modifiant manuellement le fichier xorg.conf où sont enregistrés les paramètres de l'écran.

Après toutes mes recherches, je sais maintenant que ma télé fait du « surbalayage » ( « overscan » en anglais ). C'est pour ça que tant de lignes en périphérie de la zone du bureau sont perdues. Je suis déçu du fait que Nvidia n'offre pas dans ses paramètres une option pour régler ce problème.

Nvidia gagne pour l'instant. Ce n'est pas par l'angle du pilote que je vais gagner. Cependant, Linux est plein de ressources et plusieurs autres solutions s'offrent à moi pour pallier le manque d'options offertes par nvidia-settings.

La recherche continue!
xrandr, xvidtune, xorg.conf ? ...