Comment détecter et configurer une sortie avec xrandr?

33

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 définir la résolution du bureau sur la résolution native 1920x1200. La résolution maximale autorisée est de 1600x1200.

J'ai fait des recherches sur l' xrandrutilitaire. Malheureusement, lorsque je tente de l'utiliser, je ne peux pas le configurer avec la résolution requise. Premièrement, il ne signale pas le nom de sortie (ce qui est supposé être DVI-0) default. Sans cela, je ne peux pas utiliser l' --fboption.

L'utilitaire EDID semble bien identifier le moniteur. Voici le résultat de get-edid:

    # EDID version 1 revision 3
Section "Monitor"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    Identifier "DELL U2410"
    VendorName "DEL"
    ModelName "DELL U2410"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
    HorizSync 30-81
    VertRefresh 56-76
    # Max dot clock (video bandwidth) 170 MHz
    # DPMS capabilities: Active off:yes  Suspend:yes  Standby:yes

    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
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
EndSection

mais la xrandr -qcommande retourne:

Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 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 régler la résolution, je reçois:

$ xrandr --fb 1920x1200
xrandr: screen cannot be larger than 1600x1200 (desired size 1920x1200)

$ xrandr --output DVI-0 --auto
warning: output DVI-0 not found; ignoring

Comment puis-je régler la résolution de l'écran sur 1920x1200? Pourquoi ne pas xrandridentifier la DVI-0sortie?

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

De plus, aucun pilote d'écran facultatif n'est disponible dans la boîte de dialogue Pilotes de matériel.

----

MISE À JOUR :

suite à la réponse à cette question , j'ai eu une avance. À présent, le mode requis est répertorié dans la xrandr -qliste, mais je ne peux pas basculer vers ce mode. En utilisant l'applet Monitors (qui affiche maintenant le nouveau mode), j'obtiens la réponse suivante:

The selected configuration for displays could not be applied. Could not set the configuration to CRTC 262.

A partir de 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
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 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: width  1920 start 2056 end 2256 total 2592 skew    0 clock   74.5KHz
        v: height 1200 start 1203 end 1209 total 1245           clock   59.8Hz

$ xrandr --addmode default 1920x1200_60.00

$ xrandr -q
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 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: Configure crtc 0 failed

Autre information (si cela aide quelqu'un):

$ sudo lshw -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc
       vendor: ATI Technologies Inc
       physical id: 1
       bus info: pci@0000:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff

----

UPDATE 2 : Voici la lshwliste mise à jour :

$ sudo lshw -numeric -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc [1002:9802]
       vendor: ATI Technologies Inc [1002]
       physical id: 1
       bus info: pci@0000:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff
ysap
la source
Si je le vérifie correctement, vous avez un moniteur à LED - mais votre logiciel "xrandr" souhaite configurer un "crtc" - qui est un moniteur cathodique. Je ne sais pas quoi faire maintenant - mais peut-être trouvez-vous un paramètre que vous pouvez modifier pour qu'il essaye de parler à votre moniteur LED. J'espère que ça aide un peu. Désolé.
Peterling
@Peterling - J'ai remarqué qu'il s'agissait d'un message récurrent pour les autres personnes signalant cette erreur, mais il est vrai que c'est bizarre. Je ne sais pas quoi faire à ce sujet.
Ysap
1
Maintenant, un "CRTC" est juste un terme. Les pixels sont toujours cadencés en lignes et en pixels et le crtc est le mécanisme d'horloge de la logique vidéo qui produit une synchronisation correcte pour une certaine résolution. Lorsque le terme a été introduit, un "CRTC" était un circuit intégré individuel et l'affichage ne pouvait être qu'un tube cathodique.
John S Gruber
Quel pilote vidéo utilisez-vous?
John S Gruber
@JohnSGruber - comment pouvez-vous dire?
Ysap

Réponses:

9

Je pense que vous aurez quelque part quand vous obtiendrez cette augmentation:

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

Ensuite, je pense que vous pourrez obtenir que xrandr utilise 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 virtuelle à la section Screen d'un fichier de configuration xorg.conf afin de définir la taille maximale de l'écran. Cela date d'il y a quelques années. Lors du test, je n'ai pas pu configurer la ligne virtuelle au-delà de la taille d'écran maximale donnée par xrandr -q. Avec mon pilote et mon matériel, cette valeur était un 8192x8192 déjà assez volumineux.

Vous pouvez expérimenter en ajoutant ceci sous le nom /etc/X11/xorg.conf, par exemple:

Section "Ecran"
    Identifiant "Mon écran"
    Sous-section "Affichage"
        Virtual 2048 2048
    EndSubSection
EndSection

Vous ne verrez probablement pas un fichier /etc/X11/xorg.conf car les pilotes vidéo actuels tenteront de déterminer les valeurs par défaut raisonnables pour tout et les distributions modernes laissent ce fichier de côté. Il sera utilisé si présent, cependant.

Si vous avez déjà un fichier /etc/X11/xorg.conf, vous pouvez essayer d’ajouter la ligne virtuelle ci-dessus à la sous-section Afficher de sa section Screen.

Je vous suggère de tester cela avec un éditeur de ligne de commande car il y a des chances pour que cela gâche 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. en utilisant des outils en ligne de commande. Toutes les erreurs doivent figurer dans /var/log/Xorg.0.log ou /var/log/Xorg.1.log.

En fait, vous pouvez et devriez le tester en vous connectant à un ID utilisateur supplémentaire sur votre système (sans vous déconnecter de votre ID utilisateur habituel) et en vérifiant à partir de la nouvelle session. Vous pourrez ainsi utiliser Alt-Ctrl-F7 pour revenir à votre session de travail. GUI s'il y a des problèmes. Si vous utilisez un ID utilisateur supplémentaire 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 ne démarrez pas avant d'avoir un xorg.conf en état de marche ou de l'avoir supprimé.


Utiliser un pilote graphique différent

Un autre article que j'ai lu a résolu ce problème en changeant de pilote, mais je vois dans votre question que le programme Pilotes supplémentaires ne vous offre aucune alternative. (J'imagine que c'est ce que vous voulez dire plus haut lorsque vous mentionnez la "boîte de dialogue Pilotes de matériel". Sauf si vous modifiez les pilotes avec le programme Pilotes supplémentaires, vous utiliserez un pilote que le noyau juge approprié pour votre carte vidéo ou la logique vidéo de votre carte mère.

En ce qui concerne l'OP, il ressort de ce que vous avez décrit dans vos commentaires ci-dessus que votre système devrait utiliser le pilote radeon, mais ce n'est pas le cas. J'utilise le pilote radeon et règle généralement ma résolution horizontale à 1920 (maximum pour le pilote / carte semble être 8192). Les pilotes vesa et fb sont des pilotes très basiques pour du vieux matériel - suffisamment vieux pour que les moniteurs de cette époque ne disposent pas d’affichages très grands.


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 carte graphique. Si tel est le cas, vous devez mettre à niveau votre logiciel Ubuntu qui prend en charge votre équipement.

Puisqu'il ne parvient pas à exécuter fglrx, c'est malheureusement le cas pour ysap. En raison de la nouveauté de cet équipement par rapport à la version exécutée par ysap, il n'existe pas de prise en charge de [1002.9802] dans le noyau Linux Lucid (ou Maverick non plus). Le premier support pour cet équipement est apparu dans le noyau Natty 2.6.38. Pour vérifier la prise en charge d'un périphérique particulier dans les modules du noyau, accédez au fichier / lib / modules / kernel-version / module.alias et recherchez 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 de Natty. Il répond:

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

En guise de test, vous pouvez essayer de démarrer un live CD sur le système et de définir la résolution souhaitée dans cet environnement (cliquez sur Try Ubuntu, plutôt que sur Install).

Obtenir un support de pilote approprié peut également permettre des installations graphiques modernes telles que le rendu direct et le support OpenGL, améliorant ainsi considérablement les performances et l'esthétique.

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

John S Gruber
la source
1
La chose étrange est que je n'ai nulle xorg.confpart dans le système de fichiers. Mais, si ma compréhension est bonne, dans le gnome moderne, ce fichier est obsolète et n'est pas requis. J'ai trouvé le xorg.conf.dprogramme et la page de manuel correspondante.
Ysap
/etc/X11/xorg.conf n'est plus nécessaire pour le matériel de la plupart des systèmes, mais il n'est pas obsolète - vous pouvez en fournir un pour définir les détails dont vous avez besoin. C'est comme ça que j'ai essayé ce qui précède. Ces détails peuvent également être placés dans un fichier que vous ajoutez au répertoire /etc/X11/xorg.conf.d/. Je vais ajouter un exemple.
John S Gruber
Voyons si cela est plus clair. S'il vous plaît laissez-moi savoir si non.
John S Gruber
Merci John. J'ai testé le fichier xorg.conf que vous avez posté et, en effet, il a bousillé mon écran lorsque j'ai changé de compte. J'ai donc dû le supprimer.
Ysap
Sur Ubuntu 10.04, il existe un applet "Lecteurs de matériel" dans le menu Système / Administration. Cette applet n'a répertorié aucun pilote alternatif Cependant , je viens de me rendre compte que le PC en question n'est pas actuellement connecté à Internet (nous sommes actuellement en démo), il est donc possible qu'une fois de retour au bureau, je vois un pilote alternatif ATI. Je me souviens vaguement de ce passé que les pilotes propriétaires n'ont pas résolu le problème, et je n'ai jamais réussi à obtenir cette résolution avec 10.04.
Ysap
15

J'ai aussi rencontré ce problème (utilisé avec un écran Dell 23 ")

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

$ xrandr -q

Le résultat de la commande sera:

mukolla@pk:~$ xrandr -q

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192

LVDS connected (normal left inverted right x axis y axis)
   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 disconnected (normal left inverted right x axis y axis)

VGA-0 connected ......

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

L’affichage externe est connecté au port VGA-0 . Ceci est important à noter.

Ajoutez maintenant un nouveau mode à afficher:

$ 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
Микола Ткачук
la source
Cela ne fonctionne pas pour changer l'écran intégré, non?
KhoPhi
Error BadMatch avec ex .: xrandr --addmode "DVI-I-1" "1280x800_60.00"une idée? (DVI-I-1 est le connecté)
Aquarius Power
@AquariusPower Essayez DVI-1-1au lieu deDVI-I-1
WinEunuuchs2Unix
6

G'day tous. J'ai eu ce problème lors de la connexion à un système Ubuntu sans écran (utilisé auparavant avec un écran Dell 24 ", mais il était nécessaire ailleurs). Je ne suis pas assez brillant pour savoir pourquoi cela fonctionne, mais voici une série de commandes ce qui fonctionne pour moi - aucune édition de fichier requise.

Remarque: lorsque vous redémarrez, vous devez les réexécuter. 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
utilisateur202431
la source
Cela fonctionne incroyablement bien!
Folkert van Heusden
4

J'ai ajouté les lignes ci-dessus (avec une sortie légèrement différente de la commande gtf) dans le fichier .xprofile de mon répertoire personnel. A travaillé comme un rêve. 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

J'utilise Vmware Player, d'où le nom de la sortie.

Tim
la source
2

essayez d’installer arandr pour configurer votre configuration xrandr avec une interface graphique .

sudo apt install arandr

puis configurez-vous la résolution, l’orientation et la position de vos écrans et enfin sauvegardez la configuration.

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

mwm
la source