[Linux] – Comment forcer une résolution non adaptée à votre écran ou non supportée par votre carte graphique 6


J’ai récemment fait acquisition de différents composants pour me montrer mon premier PC et étant un Linuxien dans l’âme, j’ai installé Fedora 16 et Windows 7 en dualboot. Sauf que, comme souvent avec n’importe quel distribution Linux, il faut toujours chercher/bidouiller avant que tous les composants soient reconnus par l’OS. Ma carte-mère, une Mini-ITX ASRock H67M-ITX (B3) (qui à une carte graphique intégrée) n’a, à ce jour, aucun drivers Linux qui permet le support de toutes les résolutions des écrans présents sur le marché, j’ai donc dû chercher sur internet comment forcer une résolution non supportée par l’OS.

Suite à de nombreuses recherches et de la patience, j’ai décidé de réaliser ce tuto, qui devrait fonctionner sous presque toutes les distributions Linux, pour aider les personnes ayant un écran avec une résolution spéciale ou que leur carte graphique ne supporte pas la résolution de ce dernier, avec des explications simples (j’essaie en tout cas) et qui, j’espère, pourra en aider plus d’un.

Requis:
Connaître la résolution de votre écran.

L’outil que nous allons utiliser est xrandr. Il permet de paramétrer manuellement vos écrans, comme leur résolution, leur orientation, pour plusieurs écrans et bien plus. Dans ce tutoriel, nous allons nous occuper uniquement de changer la résolution d’un écran, mais peut-être que dans un futur, je rédigerai la suite pour plusieurs écrans.

Alors commençons tout de suite !

Ouvrez un terminal, puis tapez la commande

xrandr

Cette commande va vous renvoyer les différentes sorties vidéos dont vous disposez et qu’elle sont les modes actuellement supportés. Ce dont vous devez retenir, c’est le nom de la sortie qui vous intéresse. Pour moi, cette commande me renvoie

[ludovic@Fedora-Mini-PC ~]$ xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
VGA1 connected 1920×1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024×768       60.0
800×600        60.3     56.2
848×480        60.0
640×480        59.9
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)

Et la sortie qui m’intéresse (et qui est actuellement connectée) est la sortie VGA1. A vous de savoir quelle est la sortie qui vous intéresse.

Puis, tapez la commande

cvt X Y

en remplaçant X par la résolution horizontale de votre écran et Y par la résolution verticale de votre écran.
Pour moi qui ait un écran d’une résolution de 1920×1080, je vais donc mettre:

cvt 1920 1080

cette commande va vous renvoyer en retour une ligne contenant un Modeline qui, pour ma résolution, me renvoie ça (de votre côté, pensez à copier le retour de la commande quelque part, on en aura besoin après):

[ludovic@Fedora-Mini-PC ~]$ cvt 1920 1080
# 1920×1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline « 1920x1080_60.00″  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync

Ce qui nous intéresse ici, c’est la ligne du Modeline. Elle est composée de deux parties; le nom du mode (c’est le nom qui se situe entre les guillemets, pour moi « 1920x1080_60.00″) et ses paramètres (ce qui suit).

Nous avons maintenant tous les éléments qui vont nous permettre d’ajouter une nouvelle résolution, passons à la suite.

Vous allons maintenant éditer un fichier qui va automatiquement, à chaque démarrage, créer et appliquer votre nouvelle résolution. Ce fichier se situe dans /etc/gdm/Init/Default.
Pour se faire, je vous laisse utiliser votre éditeur de texte favori pour éditer ce fichier (il faut être en root pour pouvoir le modifier):

su -
(entrez votre mot de passe root)

puis

gedit /etc/gdm/Init/Default

Ensuite, dans ce fichier, nous allons ajouter ces lignes (qui sont en rapport aux commandes précédentes) juste après les lignes
PATH= »/usr/bin:$PATH »
OLD_IFS=$IFS

xrandr –newmode « [Le nom de votre mode]«   [Paramètres de ce mode]
xrandr –addmode [La sortie écran] [Le nom de votre mode]
xrandr –output [La sortie écran] –mode [Le nom de votre mode]

Ce qui donne, pour moi:

xrandr –newmode « 1920x1080_60.00″  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
xrandr –addmode VGA1 1920x1080_60.00
xrandr –output VGA1 –mode 1920x1080_60.00

Le début de mon fichier donne ça:

#!/bin/sh
# Stolen from the debian kdm setup, aren’t I sneaky
# Plus a lot of fun stuff added
#  -George

PATH= »/usr/bin:$PATH »
OLD_IFS=$IFS
# Cree un nouveau mode pour la resolution 1920×1080.
xrandr –newmode « 1920x1080_60.00″  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
# Ajoute le mode 1920×1080 pour le VGA.
xrandr –addmode VGA1 1920x1080_60.00
# Applique le nouveau mode 1920×1080.
xrandr –output VGA1 –mode 1920x1080_60.00
[...]

Enregistrez votre fichier, fermez le terminal grâce à la commande exit, puis vous pouvez redémarrer.

Normalement, au démarrage de votre ordinateur, à l’écran de login, la résolution devrait être celle que vous souhaitiez. Mais il se peut que lorsque vous vous logiez, cette résolution n’est plus correctement appliquée. Si lors de la fenêtre de connexion, la résolution était la bonne (cela signifie que tout marche), pensez juste à appliquer cette nouvelle résolution depuis les Paramètres d’affichage de votre écran et tout devrait être bon !

En espérant que ce tuto aura servi à quelqu’un d’entre vous :)

Pour plus d’info:
http://doc.ubuntu-fr.org/xrandr
troumad.developpez.com/linux/serveurx/xrandr/

Pour être informé lorsque un nouvel article est publié, abonnez vous !

6 commentaires sur “[Linux] – Comment forcer une résolution non adaptée à votre écran ou non supportée par votre carte graphique

  1. Répondre Mathieu Le 12 / 01 / 2012 à 23 h 20 min

    Salut, bon article tres complet, quelques fautes de frappes, personellement je n’ai jamais eu ce type de probleme sous Linux mise a part quelques cas particuliers, comme l’affichage sur la tele.

    J’attend donc tes futurs articles :)

  2. Répondre Akakyu Le 13 / 01 / 2012 à 18 h 47 min

    Article utile, j’aurais été heureux d’avoir cet article quand j’avais ce problème sur mon ancienne machine sous Linux !

  3. Répondre Parajumpers Jackets Canada Le 23 / 11 / 2012 à 16 h 03 min

    excellent site, it’s practical! thank you for your sharing!

  4. Répondre Bronsky Le 30 / 04 / 2014 à 22 h 41 min

    Salut,
    Quelqu’un saurait comment on fait ça sous Xubuntu 14.04 LTS 32 bit ?
    Vieux PC avec vieille carte grapĥique intégrée et écran TV récente 1366 x 768.
    Mon affichage reste en 1024 x 768.

  5. Répondre Tweak-Man Le 20 / 07 / 2014 à 19 h 08 min

    Salut Bronsky,
    Ayant rédigé cet article il y a longtemps, que les distributions se sont bien améliorées entre temps, je n’ai pas eu l’occasion de retester la solution que j’avais proposé à l’époque. Je ne peux donc que très peu t’aider, mais j’avais trouvé une solution un peu moins « bidouille » qui consistait à télécharger et installer (ou compiler, je sais plus), le driver pour la carte graphique qui posait problème.
    Si je peux te donner un conseil, cherche sur http://doc.ubuntu-fr.org/carte_graphique ou encore du côté de https://wiki.debian.org/fr/GraphicsCard et peut-être encore ici https://help.ubuntu.com/community/VideoDriverHowto
    Bonne chance en tout cas !

  6. Répondre Linuxidable Le 9 / 10 / 2016 à 17 h 06 min

    Enfin une solution à un problème que je traîne comme une casserole depuis presque 10 ans ! Alors merci !!!!!
    Si j’interviens seulement maintenant, c’est que je suis retombé sur le problème en utilisant vnc et nomachine et que Google m’a conduit ici .

    Un petit plus,

    on peut modifier l’écran depuis sa session et même en faire un script que j’appelle directement depuis le fichier .profile de l’utilisateur et, miracle, le bureau de l’ordinateur distant apparaît avec la bonne définition !! super !
    Pour les curieux voici le contenu du fichier :
    #!/bin/bash
    xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
    xrandr --addmode VGA1 1920x1080_60.00
    xrandr --output VGA1 --mode 1920x1080_60.00

Laisser un commentaire