Je n'ai pas trouvé de solution unique à de telles erreurs, malgré le nombre assez important d'utilisateurs qui les ont.
Je veux donc essayer de trouver une solution moi-même. Cependant, je ne sais pas pourquoi ils se produisent ...
Y a-t-il quelqu'un qui sait pourquoi? Vous n'avez pas dit pourquoi chaque erreur se produit, une seule serait géniale!
Erreur BadMatch:
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 150 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 18
Current serial number in output stream: 19
Erreur BadName:
Error of failed request: BadName (named color or font does not exist)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 11 (RRQueryOutputProperty)
Serial number of failed request: 39
Current serial number in output stream: 39
Erreur gamma:
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1920 x 1080, current 1920 x 1080, maximum 1920 x 1080
default connected primary 1920x1080+0+0 0mm x 0mm
1920x1080 0.0*
Vous allez poser une question puis ajouter le lien généré par cette commande
Sudo apt-get install pastebinit; Sudo sh -c "lsb_release -sd; dmidecode -s system-product-name; echo ==; lshw -c display; echo ==; xrandr --verbose; echo ==; cat /etx/X11/xorg.conf" | tee ~/Desktop/ubuntu-graphic-info.txt | pastebinit
Bien plus compliqué que je ne le pensais, j'ai essayé de jouer avec mon processeur graphique Intel pendant un certain temps avec xrandr
name__. Parfois, je reçois des erreurs inattendues. Ceci est un été pour mon expérience.
Voici une liste de pile complète simplifiée, si je comprends bien.
xrandr
└─ Xorg (w/ driver specific module)
└─ kernel
└─ driver
│
graphic card
└─ cables (kvm switch/connection adapter)
└─ monitor
C'est vraiment une pile volumineuse à dépanner, plus difficile avec du vieux matériel et des mises à jour de pilotes propriétaires glissantes, même un mauvais contact de broche dans un câble VGA DB-15 (ou un câble bon marché) peut faire la différence. En fait, la majorité des problèmes que j'ai lus ici dans Ask Ubuntu concernent simplement les données EDID manquantes/erronées du moniteur, qui blâment: des câbles (commutateur kvm/adaptateur de connexion). Vous pouvez le constater rapidement à partir de xrandr --verbose
.
Dans de nombreux cas, les pilotes restreignent également certains modes en raison de données EDID incomplètes ou partiellement incorrectes provenant du Moniteur (erreur du fabricant). L'utilisateur résout ce problème en écrivant le code personnalisé xorg.conf
pour le remplacer: Mode, HSync & VSync, EDID, DPI ... en fonction du pilote ( nvidia
par exemple peut ignorerEDID du moniteur)
Je recommande ceci à lire pour les utilisateurs avancés ou ceux fournissant de l'aide ici:
Soyez prudent lorsque vous lisez des documentations anciennes et des publications fournissant des solutions. Mieux vaut chercher de la documentation sur le lecteur utilisé.
modeset
name__, DRI
ou fb
name __ type de pilote (framebuffer). (Sachez simplement que je ne suis pas un expert).xorg.conf
n'est pas créé par défaut. Même si l'utilisateur en a créé une, il ne devrait pas créer toutes les sections, mais seulement remplacer ce qui est nécessaire. C'est genre de configuration à la volée.Le fils (xrandr
name__) ne semble pas savoir ce que son père peut ou va accepter de l'acheter (toutes les capacités du conducteur), alors il va simplement chez sa mère (Xorg) et lui demande de demander à son père ce qu'il veut. Donc, l’un des scénarios suivants se produira:
Nous obtenons donc ces erreurs lorsque Xorg ou Driver sont incapables de traiter ou de refuser une demande xrandr en raison:
xrandr
name__Pourquoi? J'ai examiné de nombreuses questions liées à la résolution xrandr
& . Il leur manque beaucoup d'informations sur la configuration de la pile complète. L'ensemble considéré ne mentionnait que la dernière commande ayant échoué. Même, je suggérerais de mettre les résultats complets dans la question afin que nous puissions rechercher des similitudes et relier les questions connexes.
Si aucune donnée EDID n'a été trouvée, commencez par:
Voici une liste de quelques commandes utiles
Sudo dmidecode -s system-product-name
lsb_release -sd
Xorg -version
xrandr -v
Sudo lshw -c display
xrandr --verbose
cat /etx/X11/xorg.conf
more /var/log/Xorg.0.log
Sudo apt-get install edid-read
ls /sys/class/drm/*/edid | xargs -i{} sh -c "echo {}; parse-edid < {}"
xrandr --verbose ...
xtrace xrandr --verbose ...
#no need, only to compare between releases for changes, the default driver parameters
Sudo sh -c "ls /sys/module/<driver-module-from-lshw>/parameters/ | xargs -L1 -i{} sh -c 'echo -n {} \" \" ; cat /sys/module/<driver-module-from-lshw>/parameters/{}'"
# additional desktop environment setting, for general cases, gnome/unity
cat ~/.config/monitors.xml
cat /etc/gnome-settings-daemon/xrandr/monitors.xml
gsettings list-recursively org.gnome.settings-daemon.plugins.xrandr
Ajoutez Option "ModeDebug" "true"
à Section "Device"
à xorg.conf
. Pour plus de détails, reportez-vous à la section débogage de nvidia ci-dessous.
cat /proc/driver/nvidia/version
pour la version préciseActivation des informations de débogage de nvidia sur /var/log/Xorg.0.log
gksu nvidia-settings
# go to X configuration then export, copy only device section
Sudo mkdir /etc/X11/xorg.conf.d/
Sudo vim /etc/X11/xorg.conf.d/90_my_nvidia_hacks.conf
# paste the device section
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "NVS 3100M"
Option "ModeDebug" "true"
EndSection
# add to it this line `Option "ModeDebug" "true"`
La documentation complète à file:///usr/share/doc/nvidia-*/html/
, recherchez la même version en cours d'exécution, il y a beaucoup de changements dans les options disponibles et les paramètres par défaut.
Voici un cas où je peux le reproduire et cela ressemble à un bogue dans xrandr
name__. Il est clair, à partir de xtrace
& Xorg.0.log
, que la mémoire tampon de trame n'est pas redimensionnée dans la 1ère combinaison.
#Seems a bug in xrandr
#Xorg error when changing to bigger resolution without changing a previously defined scale.
#-----------
#system info
$ xrandr --version
xrandr program version 1.4.3
Server reports RandR version 1.4
$ Sudo sh -c "lsb_release -dc;echo; uname -a; Xorg -version;echo; lshw -C display"
Description: Ubuntu 15.10
Codename: wily
Linux BlueSkies 4.2.0-25-generic #30-Ubuntu SMP Mon Jan 18 12:31:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
X.Org X Server 1.17.2
Release Date: 2015-06-16
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.13.0-68-generic x86_64 Ubuntu
Current Operating System: Linux BlueSkies 4.2.0-25-generic #30-Ubuntu SMP Mon Jan 18 12:31:50 UTC 2016 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.2.0-25-generic root=UUID=9f0530d5-e0eb-43fa-b99b-000fa742cf10 ro persistent quiet splash vt.handoff=7
Build Date: 12 November 2015 05:33:29PM
xorg-server 2:1.17.2-1ubuntu9.1 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.32.6
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
*-display
description: VGA compatible controller
product: 3rd Gen Core processor Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 09
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:26 memory:f6400000-f67fffff memory:e0000000-efffffff ioport:f000(size=64)
$ Sudo sh -c "ls /sys/module/i915/parameters/ | xargs -L1 -i{} sh -c 'echo -n {} \" \" ; cat /sys/module/i915/parameters/{}'"
disable_display N
disable_power_well 1
disable_vtd_wa N
edp_vswing 0
enable_cmd_parser 1
enable_execlists 0
enable_fbc -1
enable_hangcheck Y
enable_ips 1
enable_ppgtt 1
enable_psr 0
enable_rc6 3
fastboot N
invert_brightness 0
load_detect_test N
lvds_channel_mode 0
lvds_downclock 0
lvds_use_ssc -1
mmio_debug 0
modeset -1
nuclear_pageflip N
panel_ignore_lid 1
prefault_disable N
preliminary_hw_support 0
reset Y
semaphores -1
use_mmio_flip 0
vbt_sdvo_panel_type -1
verbose_state_checks Y
$ modinfo i915
filename: /lib/modules/4.2.0-25-generic/kernel/drivers/gpu/drm/i915/i915.ko
license: GPL and additional rights
description: Intel Graphics
author: Intel Corporation
author: Tungsten Graphics, Inc.
firmware: i915/skl_dmc_ver1.bin
srcversion: BB05D6968744E69AEA30DC2
...
depends: drm_kms_helper,drm,video,i2c-algo-bit
intree: Y
vermagic: 4.2.0-25-generic SMP mod_unload modversions
$ xrandr
Screen 0: minimum 8 x 8, current 1726 x 768, maximum 32767 x 32767
LVDS1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 173mm
1366x768 60.07*+ 40.02
1360x768 59.80 59.96
1280x720 60.00
1024x768 60.00
1024x576 60.00
960x540 60.00
800x600 60.32 56.25
864x486 60.00
640x480 59.94
720x405 60.00
680x384 60.00
640x360 60.00
DP1 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)
HDMI1 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)
VGA1 connected 360x200+1366+0 (normal left inverted right x axis y axis) 410mm x 230mm
1366x768 59.79 +
1280x1024 60.02
1280x720 60.00
1024x768 60.00
800x600 60.32
640x480 60.00
720x400 70.08*
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
Other info not collected
$ grep intel /var/log/Xorg.0.log
#-------------------------
#case reproducing & debug
## 1st combination different mode & same scale
$ xrandr --output VGA1 --mode 720x400 --right-of LVDS1 --scale 0.5x0.5
$ xtrace xrandr --verbose --output VGA1 --mode 1366x768 --right-of LVDS1 --scale 0.5x0.5
000:<:0030: 28: RANDR-Request(140,21): SetCrtcConfig crtc=0x00000040 timestamp=0x00000000 config timestamp=0x00010a4d x=0 y=0 mode=0x00000000 rr=Rotate_0 outputs=;
000:>:0030:32: Reply to SetCrtcConfig: status=Success(0x00)
screen 0: 1726x768 453x202 mm 96.57dpi
crtc 1: 720x400 70.08 +1366+0 "VGA1"
000:<:0031: 20: RANDR-Request(140,7): SetScreenSize window=0x000000d9 width=1726 height=768 width[mm]=453 height[mm]=202
000:<:0032: 32: RANDR-Request(140,21): SetCrtcConfig crtc=0x00000040 timestamp=0x00000000 config timestamp=0x00010a4d x=1366 y=0 mode=0x000000fc rr=Rotate_0 outputs=0x0000004a;
000:>:0032:32: Reply to SetCrtcConfig: status=Success(0x00)
screen 0: 2049x768 538x202 mm 96.57dpi
crtc 1: 1366x768 59.79 +1366+0 "VGA1"
000:<:002f: 4: Request(36): GrabServer
000:<:0030: 20: RANDR-Request(140,7): SetScreenSize window=0x000000d9 width=2049 height=768 width[mm]=538 height[mm]=202
000:<:0031: 32: RANDR-Request(140,21): SetCrtcConfig crtc=0x00000040 timestamp=0x00000000 config timestamp=0x00010a4d x=1366 y=0 mode=0x000000f8 rr=Rotate_0 outputs=0x0000004a;
000:>:0030:Error 8=Match: major=140, minor=7, bad=217
000:>:0031:32: Reply to SetCrtcConfig: status=Success(0x00)
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 7 (RRSetScreenSize)
Serial number of failed request: 48
Current serial number in output stream: 49
## 2nd combination same mode & different scale
$ xtrace xrandr --verbose --output VGA1 --mode 1366x768 --right-of LVDS1 --scale 1x1
$ xtrace xrandr --verbose --output VGA1 --mode 1366x768 --right-of LVDS1 --scale 0.5x0.5
screen 0: 2732x768 718x202 mm 96.57dpi
crtc 1: 1366x768 59.79 +1366+0 "VGA1"
000:<:002f: 4: Request(36): GrabServer
000:<:0030: 20: RANDR-Request(140,7): SetScreenSize window=0x000000d9 width=2732 height=768 width[mm]=718 height[mm]=202
000:<:0031: 56: RANDR-Request(140,26): SetCrtcTransform crtc=0x00000040 transform={matrix=1.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,1.000000;}; filter name='nearest' filter params=;
000:<:0032: 32: RANDR-Request(140,21): SetCrtcConfig crtc=0x00000040 timestamp=0x00000000 config timestamp=0x00010a4d x=1366 y=0 mode=0x000000f8 rr=Rotate_0 outputs=0x0000004a;
000:>:0032:32: Reply to SetCrtcConfig: status=Success(0x00)
000:<:0030: 28: RANDR-Request(140,21): SetCrtcConfig crtc=0x00000040 timestamp=0x00000000 config timestamp=0x00010a4d x=0 y=0 mode=0x00000000 rr=Rotate_0 outputs=;
000:>:0030:32: Reply to SetCrtcConfig: status=Success(0x00)
screen 0: 2049x768 538x202 mm 96.57dpi
crtc 1: 1366x768 59.79 +1366+0 "VGA1"
000:<:0031: 20: RANDR-Request(140,7): SetScreenSize window=0x000000d9 width=2049 height=768 width[mm]=538 height[mm]=202
000:<:0032: 56: RANDR-Request(140,26): SetCrtcTransform crtc=0x00000040 transform={matrix=0.500000,0.000000,0.000000,0.000000,0.500000,0.000000,0.000000,0.000000,1.000000;}; filter name='bilinear' filter params=;
000:<:0033: 32: RANDR-Request(140,21): SetCrtcConfig crtc=0x00000040 timestamp=0x00000000 config timestamp=0x00010a4d x=1366 y=0 mode=0x000000f8 rr=Rotate_0 outputs=0x0000004a;
000:>:0033:32: Reply to SetCrtcConfig: status=Success(0x00)
$ tail /var/log/Xorg.0.log
##1st
[ 6644.557] (II) intel(0): resizing framebuffer to 1726x768
[ 6644.560] (II) intel(0): switch to mode [email protected] on VGA1 using pipe 1, position (1366, 0), rotation normal, reflection none
[ 6660.882] (II) intel(0): switch to mode [email protected] on VGA1 using pipe 1, position (1366, 0), rotation normal, reflection none
##2nd
[ 6804.638] (II) intel(0): resizing framebuffer to 2732x768
[ 6804.647] (II) intel(0): switch to mode [email protected] on VGA1 using pipe 1, position (1366, 0), rotation normal, reflection none
[ 6817.753] (II) intel(0): resizing framebuffer to 2049x768
[ 6817.757] (II) intel(0): switch to mode [email protected] on VGA1 using pipe 1, position (1366, 0), rotation normal, reflection none
xrandr: Failed to get size of gamma for output default
Prise en charge du pilote ou problème Aucun lecteur chargé, il est célèbre avec nomodeset
et les anciens graphiques. xrandr
ne fonctionne pas bien sans KMS. Indicateurs:
Sudo lshw -c display
pourrait être *-display UNCLAIMED
également driver=
vide.maximum 1920 x 1080
correspond exactement à la taille minimale de l'écran. La plupart des graphiques sont maintenant maximum 8192 x 8192
, maximum 16384 x 16384
ou même 32Kx32K.default
name__!glxinfo
name__, exemple: Gallium3D/llvmpipe
.Pour reproduire un problème similaire
Créez une boîte virtuelle Ubuntu sans installer les additions/modules invités (qui incluent le pilote graphique vbox). Ce sera très lent et pareil avec la vraie machine.
X Error of failed request: BadMatch (invalid parameter attributes)
(RRQueryOutputProperty)Un nom de propriété incorrect utilisé avec xrandr --output .. --set <name> <value>
, l'utilisateur doit d'abord vérifier les propriétés disponibles à l'aide de xrandr --prop
. Même cas résolu ici:
--- (Impossible de changer la luminosité de l'ordinateur portable
Les propriétés disponibles dépendent du pilote et de l'adaptateur utilisés. Par conséquent, cela pourrait être le résultat d'un problème précédent lié au pilote, car aucune propriété n'a été déclarée à xrandr.
Pour reproduire un problème similaire
xrandr --output <connection-name> --set whatever 0
X Error of failed request: BadMatch (invalid parameter attributes)
(RRAddOutputMode)Ma théorie actuelle, prévoyant de tester plus tard, lorsque j'en aurai le temps. documenté ici. donc je n’oublie pas et les autres peuvent donner des commentaires.
Erreur générée avec
xrandr .. --addmode
lorsque le pilote le refuse, en raison de la validation de l'EDID. J'ai remarqué que nvidia supprime certains modes après avoir activé le "ModeDebug". Non plus:
- Les données EDID du moniteur ne sont pas parfaites
- Pilotes non robustes dans le traitement de l'EDID
- L'entrée de mode généré n'est pas dans la plage de surveillance déclarée dans l'EDID
(1 & 2) est une substitution personnalisée de Hsync/Vsync/PixelClock ou un fichier EDID local complet, certains pilotes peuvent ignorer l’EDID.
(3) La solution consiste à essayer différents modes de saisie. Remarquez la différence
$ cvt 1280 800 60 # 1280x800 59.81 Hz (CVT 1.02MA) hsync: 49.70 kHz; pclk: 83.50 MHz Modeline "1280x800_60.00" 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync $ gtf 1280 800 60 # 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz Modeline "1280x800_60.00" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync # reduce mode only for flat monitors $ cvt -r 1280 800 60 # 1280x800 59.91 Hz (CVT 1.02MA-R) hsync: 49.31 kHz; pclk: 71.00 MHz Modeline "1280x800R" 71.00 1280 1328 1360 1440 800 803 809 823 +hsync -vsync
Certains cas ont été résolus en modifiant simplement le vsync un peu plus bas, par exemple
1280 800 59.80
.