48 votes

Comment détecter et configurer une sortie avec xrandr ?

J'ai un moniteur DELL U2410 connecté à un ordinateur de bureau Compaq 100B équipé d'une carte graphique AMD/ATI intégrée (AMD E-350). Le système d'exploitation installé est Ubuntu 10.04 LTS.

L'ordinateur est connecté au moniteur via la connexion DVI.

Le problème est que je ne peux pas régler la résolution de l'écran à la résolution native 1920x1200. La résolution maximale autorisée est de 1600x1200.

En faisant quelques recherches, j'ai découvert l'utilitaire xrandr. Malheureusement, lorsque j'essaie de l'utiliser, je ne peux pas le configurer à la résolution requise. Tout d'abord, il ne rapporte pas le nom de la sortie (qui devrait être DVI-0), disant plutôt default. Sans cela, je ne peux pas utiliser l'option --fb.

L'utilitaire EDID semble bien identifier le moniteur. Voici la sortie de get-edid:

    # Version EDID 1 révision 3
Section "Monitor"
    # Type de bloc: 2:0 3:ff
    # Type de bloc: 2:0 3:fc
    Identifiant "DELL U2410"
    Nom du vendeur "DEL"
    Nom du modèle "DELL U2410"
    # Type de bloc: 2:0 3:ff
    # Type de bloc: 2:0 3:fc
    # Type de bloc: 2:0 3:fd
    HorizSync 30-81
    VertRefresh 56-76
    # Horloge maximale des points (bande passante vidéo) 170 MHz
    # Capacités DPMS : actif off :oui  Suspendre :oui  Veille :oui

    Mode    "1920x1200" # vfreq 59.950Hz, hfreq 74.038kHz
        DotClock    154.000000
        HTimings    1920 1968 2000 2080
        VTimings    1200 1203 1209 1235
        Flags   "-HSync" "+VSync"
    EndMode
    # Type de bloc: 2:0 3:ff
    # Type de bloc: 2:0 3:fc
    # Type de bloc: 2:0 3:fd
EndSection

mais la commande xrandr -q retourne:

Écran 0: minimum 640 x 400, actuel 1600 x 1200, maximum 1600 x 1200
default connecté 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  

Lorsque j'essaie de définir la résolution, j'obtiens:

$ xrandr --fb 1920x1200
xrandr: l'écran ne peut pas être plus grand que 1600x1200 (taille désirée 1920x1200)

$ xrandr --output DVI-0 --auto
attention : sortie DVI-0 non trouvée ; ignoré

Comment puis-je régler la résolution de l'écran sur 1920x1200 ? Pourquoi xrandr n'identifie-t-il pas la sortie DVI-0 ?

Notez que le même ordinateur exécutant une version d'Ubuntu supérieure à 10.04 détecte la résolution correcte sans problème. Sur cette machine, je ne peux pas effectuer de mise à niveau en raison de certains problèmes de compatibilité matérielle hérités.

De plus, je ne vois aucun pilote d'écran facultatif disponible dans la boîte de dialogue Pilotes matériels.

----

MISE À JOUR:

suivant la réponse à cette question, j'ai progressé. Maintenant, le mode requis est répertorié dans la liste xrandr -q, mais je ne peux pas basculer vers ce mode. En utilisant l'applet Moniteurs (qui affiche désormais le nouveau mode), je reçois la réponse que :

La configuration sélectionnée pour les affichages n'a pas pu être appliquée. Impossible de définir la configuration sur CRTC 262.

Depuis la ligne de commande, cela ressemble à ceci :

$ cvt 1920 1200 60
# 1920x1200 59.88 Hz (CVT 2.30MA) hsync: 74.56 kHz; pclk: 193.25 MHz
Modeline "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr --newmode "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr -q
Écran 0: minimum 640 x 400, actuel 1600 x 1200, maximum 1600 x 1200
default connecté 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
  1920x1200_60.00 (0x120)  193.0MHz
        h: largeur  1920 début 2056 fin 2256 total 2592 inclinaison    0 horloge   74.5KHz
        v: hauteur 1200 début 1203 fin 1209 total 1245           horloge   59.8Hz

$ xrandr --addmode default 1920x1200_60.00

$ xrandr -q
Écran 0: minimum 640 x 400, actuel 1600 x 1200, maximum 1600 x 1200
default connecté 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
   1920x1200_60.00   59.8  

$ xrandr --output default --mode 1920x1200_60.00
xrandr: Configuration crtc 0 n'a pas fonctionné

Une autre information (si cela peut être utile à quelqu'un):

$ sudo lshw -c video
  *-display NON RÉCLAMÉ     
       description: Contrôleur VGA compatible
       produit: ATI Technologies Inc
       fabricant: ATI Technologies Inc
       identifiant matériel: 1
       informations bus: pci@0000:00:01.0
       version: 00
       bits du bus: 32 bits
       horloge: 33MHz
       capacités: pm pciexpress msi bus_master cap_list
       configuration: latence=0
       ressources: mémoire:c0000000-cfffffff(memoria_cachable) port d'e/s:f000(taille=256) mémoire:feb00000-feb3ffff

----

MISE À JOUR 2 : Voici la liste lshw mise à jour :

$ sudo lshw -numeric -c video
  *-display NON RÉCLAMÉ     
       description: Contrôleur VGA compatible
       produit: ATI Technologies Inc [1002:9802]
       fabricant: ATI Technologies Inc [1002]
       identifiant matériel: 1
       informations bus: pci@0000:00:01.0
       version: 00
       bits du bus: 32 bits
       horloge: 33MHz
       capacités: pm pciexpress msi bus_master cap_list
       configuration: latence=0
       ressources: mémoire:c0000000-cfffffff(memoria_cachable) port d'e/s:f000(taille=256) mémoire:feb00000-feb3ffff

26voto

J'ai également rencontré ce problème (j'avais un écran Dell de 23 pouces)

Tout d'abord, déterminez quelle interface est connectée à votre écran :

$ xrandr -q

La sortie de la commande sera :

mukolla@pk:~$ xrandr -q

Écran 0 : minimum 320 x 200, actuel 1920 x 1080, maximum 8192 x 8192

LVDS connecté (normal gauche inversé droit axe x axe y)
   1366x768       60.0 +
   1280x720       59.9  
   1152x768       59.8  
   1024x768       59.9  
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  

HDMI-0 déconnecté (normal gauche inversé droit axe x axe y)

VGA-0 connecté ......

   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  

L'écran externe est connecté au port VGA-0. C'est important de le remarquer.

Ajoutez maintenant un nouveau mode d'affichage :

$ xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync
$ xrandr --addmode VGA-0 1920x1080_60.00
$ xrandr --output VGA-0 --mode 1920x1080_60.00

10voto

John S Gruber Points 12997

Je pense que vous aurez progressé lorsque vous parviendrez à augmenter ceci :

Écran 0 : minimum 640 x 400, actuel 1600 x 1200, maximum 1600 x 1200

Alors, je pense que vous pourrez utiliser xrandr pour utiliser le mode personnalisé que vous avez appris à définir (si vous en avez toujours besoin après avoir résolu le problème de base).

Augmenter la taille de l'écran virtuel

Cet [article][1] suggère d'ajouter une ligne Virtual dans la section Screen d'un fichier de configuration xorg.conf pour définir la taille d'écran maximale. C'est il y a quelques années. Lors de mes tests, je n'ai pas pu définir la ligne Virtual au-delà de la taille d'écran maximale donnée par xrandr -q, cependant. Avec mon pilote et mon matériel, cette valeur était déjà assez grande à 8192x8192.

Vous pouvez expérimenter en ajoutant ceci en tant que /etc/X11/xorg.conf, par exemple :

Section "Screen"
    Identifier "Mon écran"
    Sous-section "Affichage"
        Virtual 2048 2048
    FinSous-section
FinSection

Vous ne verrez probablement pas de /etc/X11/xorg.conf car les pilotes vidéo d'aujourd'hui tenteront de déterminer des valeurs par défaut raisonnables pour tout et les distributions modernes laissent ce fichier de côté. Cependant, il sera utilisé s'il est présent.

Si vous avez déjà un fichier /etc/X11/xorg.conf, vous pouvez essayer d'ajouter la ligne Virtual ci-dessus à la sous-section d'affichage de sa section d'écran.

Je vous suggère de tester ceci avec un éditeur en ligne de commande, car il y a une chance que cela perturbe votre capacité à vous connecter avec l'interface graphique Ubuntu, et vous devrez peut-être faire Alt-Ctrl-F1, vous connecter et éditer (ou supprimer) le fichier à l'aide d'outils en ligne de commande. Toutes les erreurs doivent être dans /var/log/Xorg.0.log ou /var/log/Xorg.1.log.

En fait, vous pourriez et devriez tester ceci en vous connectant avec un autre ID utilisateur sur votre système (sans vous déconnecter de votre ID utilisateur habituel) et vérifier depuis la nouvelle session, de cette façon vous pourrez utiliser Alt-Ctrl-F7 pour revenir à votre interface graphique de travail en cas de problème. Dans le cas où vous utilisez un autre ID utilisateur pour vous connecter sans vous déconnecter du premier, le journal approprié sera /var/log/Xorg.1.log. Ne vous déconnectez pas de la session de travail ou n'effectuez pas de redémarrage tant que vous n'avez pas un fichier xorg.conf fonctionnel ou que vous ne l'avez pas à nouveau supprimé.


Utiliser un pilote graphique différent

Un autre article que j'ai lu a résolu ce problème en changeant de pilotes, mais d'après votre question, le programme Additional Drivers ne vous propose pas d'alternatives. (Je suppose que c'est ce que vous voulez dire ci-dessus lorsque vous mentionnez le "dialogue des pilotes matériels". Sauf si vous changez de pilotes avec le programme Additional Drivers, vous utiliserez un pilote que le noyau juge approprié pour votre carte vidéo ou la logique vidéo de votre carte mère.

Pour l'OP, d'après ce que vous avez décrit dans vos commentaires ci-dessus, il semblerait que votre système devrait utiliser le pilote radeon, mais ce n'est pas le cas. J'utilise le pilote radeon et je fixe généralement ma résolution horizontale à 1920 (le maximum pour le pilote/carte semble être 8192). Les pilotes vesa et fb sont des pilotes très basiques pour du matériel ancien, de sorte que les moniteurs de cette époque n'affichaient pas des tailles d'écran très importantes.


Mettre à jour Ubuntu

Si vous utilisez un ordinateur plus récent que la version d'Ubuntu que vous avez installée et, en particulier, son noyau Linux, il est tout à fait possible que le noyau ne reconnaisse pas votre adaptateur graphique. Si c'est le cas, vous devez mettre à jour votre logiciel Ubuntu qui contient le support pour votre équipement.

Puisqu'il ne peut pas faire fonctionner fglrx, malheureusement, c'est le cas pour ysap. En raison de la nouveauté de cet équipement par rapport à la version que ysap utilise, il n'y a pas de support pour [1002.9802] dans le noyau Linux Lucid (ni dans Maverick non plus). Le support pour cet équipement est apparu pour la première fois dans le noyau Natty 2.6.38. Pour vérifier le support pour un périphérique spécifique dans les modules du noyau, vous pouvez consulter le fichier /lib/modules/version-du-noyau/module.alias et rechercher la valeur de l'adaptateur. Pour cet équipement :

grep v00001002d00009802 /lib/modules/2.6.38-10-generic/modules.alias

Pour vérifier le support du noyau Natty. Il répond :

alias pci:v00001002d00009802sv*sd*bc*sc*i* radeon

À titre de test, vous pouvez essayer de démarrer à partir d'un CD live sur le système et essayer de définir la résolution souhaitée dans cet environnement (cliquez sur Essayer Ubuntu, plutôt que sur Installer).

L'obtention d'un support adapté au pilote peut également activer des fonctionnalités graphiques modernes comme le rendu direct et la prise en charge d'OpenGL, améliorant considérablement les performances et l'esthétique.

Pour un ordinateur personnel, vous pouvez également utiliser un noyau mis à jour si une version compatible est disponible pour votre version d'Ubuntu. Pour un ordinateur de production, il peut être nécessaire de mettre à jour Ubuntu vers une version plus récente, lorsqu'elle sera disponible, pour des raisons de fiabilité et de robustesse.

7voto

darren Points 8541

Bonjour à tous. J'ai eu ce problème lors de la connexion à un système Ubuntu qui n'a pas d'écran (avait un écran Dell 24", mais il était nécessaire ailleurs). Je ne suis pas assez intelligent pour savoir pourquoi cela fonctionne, mais voici une série de commandes qui fonctionnent pour moi - aucune modification de fichier n'est requise.

Remarque: lorsque vous redémarrez, vous devez les exécuter à nouveau. Je suggère un script shell.

gtf 1920 1200 60 -x
xrandr --newmode "1920x1200_60.00"  193.16  1920 2048 2256 2592  1200 1201 1204 1242  -HSync +Vsync
xrandr --addmode VGA1 1920x1200_60.00
xrandr --output VGA1 --mode 1920x1200_60.00

5voto

Tim Points 51

J'ai ajouté les lignes ci-dessus (j'ai obtenu une sortie légèrement différente de la commande gtf) au fichier .xprofile dans mon répertoire personnel. Ça a fonctionné parfaitement. Voir ci-dessous.

gtf 1920 1080 60 -x

xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

xrandr --addmode Virtual1 1920x1080_60.00

xrandr --output Virtual1 --mode 1920x1080_60.00

Je suis en train d'utiliser le lecteur Vmware, d'où le nom de la sortie.

3voto

Essayez d'installer arandr pour configurer votre configuration xrandr avec une GUI.

sudo apt install arandr

ensuite configurez la résolution, l'orientation et la position de vos écrans et enregistrez enfin la configuration.

vous pouvez voir que sa sortie est un script shell (.sh) généralement sur ~/.screenlayout

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X