web-dev-qa-db-fra.com

Problèmes lors du changement de résolution à l'aide de xrandr: mauvaise correspondance

Je vais aux écrans, et la résolution maximale que j'ai là-bas est 1360x768 (16: 9). Cependant, sous Windows 8.1, je peux avoir la résolution 1680x1050 (16:10) sans aucun type de problème. Pour cette raison, j'ai essayé d'ajouter une résolution personnalisée à l'aide de xrandr:

xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync

xrandr --addmode DVI-I-0 "1680x1050_60.00"

Cependant, après avoir tapé la dernière commande, ceci apparaît:

X Error of failed request:  BadMatch (invalid parameter attributes)
 Major opcode of failed request:  140 (RANDR)
 Minor opcode of failed request:  18 (RRAddOutputMode)
 Serial number of failed request:  39
 Current serial number in output stream:  40

J'ai aussi tapé xrandr, et j'ai confirmé que DVI-I-0 est le seul qui est connecté:

Screen 0: minimum 8 x 8, current 1360 x 768, maximum 16384 x 16384
DVI-I-0 connected primary 1360x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768      60.00 +
   1360x768      59.96*   59.80  
   1152x864      60.00  
   800x600       72.19    60.32    56.25  
   680x384       59.96    59.80  
   640x480       59.94  
   512x384       60.00  
   400x300       72.19  
   320x240       60.05  
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
  1680x1050_60.00 (0x2ae) 146.250MHz
          h: width  1680 start 1784 end 1960 total 2240 skew    0 clock  65.29KHz
          v: height 1050 start 1053 end 1059 total 1089           clock  59.95Hz

De plus, j'utilise Ubuntu 15.10.

Comment puis-je avoir la résolution 1680x1050 (16:10)? Merci pour toute l'aide que tu peux m'apporter.

EDIT: J'ai oublié de dire - Avant Ubuntu, j'avais Linux Mint, où j'avais également le même problème. Cependant, comme je l'ai déjà dit, je n'ai pas ce problème sous Windows.

EDIT2: Sur le lien suivant se trouve le fichier /var/log/Xorg.0.log: http://Pastebin.com/sjSLScjK , et j’ai également un moniteur ASUS.

5
Jonphobos

Ok, au moment d’écrire cette réponse, vous n’avez pas de barre de menu et je n’ai pas encore vu votre fichier xorg.conf, mais je pense en savoir assez pour savoir ce que vous devez faire, et je vous crois sera en mesure d'apporter des modifications à votre fichier xorg.conf à partir du mode de récupération si vous ne pouvez pas le faire en mode de démarrage normal sans barre de menus.

Tout d’abord, j’estime que les avertissements [ 28.338] (WW) NVIDIA: GPU:0: Unable to read EDID for display device DVI-I-0 sont importants, mais je ne pense pas que quoi que ce soit soit "faux", cela pourrait aussi être une limitation de votre moniteur, de vos câbles VGA, de votre ordinateur, ou une combinaison des deux. . Mon ordinateur, la combinaison VGA et TV ne détecte pas non plus automatiquement l’EDID.

Wikipedia a une entrée sur EDID que vous pouvez trouver une référence utile: https://en.wikipedia.org/wiki/Extended_Display_Identification_Data

Vous avez déjà créé un fichier xorg.conf, mais par souci d'exhaustivité, je vais inclure les étapes dans cette réponse. Vous suivez la réponse d'Alexander Malakhov dans cette question :

  1. Alt + Ctrl + F1 pour passer en mode console
  2. Arrêtez le serveur X en arrêtant le gestionnaire d'affichage: Sudo service gdm stop (ou Sudo service lightdm stop si vous avez un environnement Lubuntu et/ou LXDE).
  3. Sudo X -configure pour créer un fichier xorg.conf.new
  4. Sudo mv xorg.conf.new /etc/X11/xorg.conf pour renommer et déplacer le fichier où le xorg.conf va
  5. Sudo service gdm start ou Sudo service lightdm start pour redémarrer le gestionnaire d'affichage et le serveur X. Sudo start gdm et Sudo start lightdm fonctionnent également.

Vous avez maintenant le fichier /etc/X11/xorg.conf. Ce qu'il dit maintenant et ce qu'il devrait dire dépend de votre propre système. Je partagerai ici les parties pertinentes de mon propre fichier xorg.conf (correctement configuré pour mon système) et vous en parlerai.

Mais d'abord, comment l'éditer? Si tout fonctionne correctement, vous pouvez le modifier en ouvrant un terminal et en tapant Sudo nano /etc/X11/xorg.conf. Si vous ne parvenez pas à le modifier en mode d’amorçage normal, vous pouvez le modifier en mode de récupération: démarrez votre ordinateur, puis sélectionnez "Options avancées" dans le menu de démarrage de Grub, puis sélectionnez le mode de récupération de votre dernier noyau, puis sélectionnez l'invite du shell racine. Vous devrez entrer la commande: mount -o remount,rw / pour que tout soit en lecture-écriture. Ensuite, vous pouvez éditer le fichier xorg.conf à l’aide de la commande nano /etc/X11/xorg.conf (Sudo n’est pas nécessaire en mode d’invitation du shell root). (Une fois que vous avez terminé avec l'invite du shell root, entrez exit, puis sélectionnez "Reprendre le démarrage normal". Vous devrez peut-être ensuite redémarrer pour voir si les modifications sont prises en compte.)

Ce lien donne des informations utiles sur le mode de récupération.

Voici les parties pertinentes de mon fichier xorg.conf, les vôtres peuvent différer. Vous pouvez accéder au manuel de xorg.conf en tapant man xorg.conf dans un terminal, ou vous pouvez le trouver à différents endroits sur Internet, comme ici . Il y a aussi un wiki Ubuntu dessus ici .

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
        HorizSync       28.0 - 83.0
        VertRefresh     56.0 - 75.0
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "SWcursor"              # [<bool>]
        #Option     "kmsdev"                # <str>
        #Option     "ShadowFB"              # [<bool>]
    Identifier  "Card0"
    Driver      "sis"
    BusID       "PCI:1:0:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth     1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth     24
                 Modes     "1360x768"
    EndSubSection
EndSection

Je crois que vous auriez le bon Driver dans votre Section "Device", le vôtre devrait être quelque chose comme nvidia.

Ensuite, regardons Section "Screen". Comme moi, vous pouvez avoir plusieurs sous-sections, auquel cas le seul élément dont vous devez vous soucier est la sous-section Depth 24. Insérer la ligne:

Modes "1680x1050"

dans cette sous-section. Votre ordinateur n’ayant pas pu déterminer la taille de l’écran à l’aide de l’EDID, nous lui indiquons manuellement la taille de l’écran.

Je crois que c'est le changement que vous devez faire pour que cela fonctionne. Redémarrez la machine et voyez si la résolution est corrigée.

Il se peut que vous deviez apporter d'autres modifications: dans la section Section "Monitor", vous pouvez voir les lignes HorizSync et VertRefresh dans mon xorg.conf. Vous pouvez également avoir besoin de ces lignes dans le vôtre. Cependant, la plage que vous devez spécifier pour les deux lignes dépend de votre moniteur. Si vous avez le manuel pour votre moniteur, regardez dans les "spécifications" à la fin du manuel. Si vous ne possédez pas le manuel, ASUS semble les fournir sur son site Web, mais je ne connais pas le nom/numéro de modèle de votre moniteur. Vous pourrez peut-être obtenir le nom/numéro de modèle sur un autocollant au dos du moniteur.

La section Spécifications du manuel contient une liste de résolutions, ainsi que les valeurs horizontales et verticales correspondantes. Vous voulez que la plage HorizSync inclue toutes les valeurs horizontales pour chaque résolution que vous pourriez utiliser: recherchez la valeur la plus basse dans la liste et définissez-la comme limite inférieure, puis associez la limite supérieure à la valeur la plus élevée de la liste. . De même, avec le VertRefresh, utilisez les valeurs les plus basses et les plus hautes de la colonne Verticale (un manuel ASUS que j’ai choisi au hasard appelle simplement ce "Taux de rafraîchissement"). Si vous ajoutez les lignes HorizSync et VertRefresh, sauvegardez et redémarrez pour voir si cela résout le problème.

S'il vous plaît faites part par commentaire, à quel point, le cas échéant, le problème de résolution est résolu. S'il n'est toujours pas résolu, il se peut que nous devions examiner à nouveau vos fichiers /etc/X11/xorg.conf et /var/log/Xorg.0.log.

2
Jeffrey Lam