
Ich habe zwei Monitore mit unterschiedlichen maximalen Auflösungen (2560 x 1440 und 1920 x 1080). Unter Windows kann ich die maximale Auflösung für beide Monitore konfigurieren, aber unter Linux (Manjaro, proprietäre NVIDIA-Treiber und Xrandr 1.5) ist die Auflösung des größeren Monitors auf 2048 x 1152 begrenzt. Ich habe mehrere Fragen/Threads/Artikel darüber gelesen, wie man eine benutzerdefinierte Auflösung über Xrandr hinzufügt, aber nichts davon funktioniert für mich. Hier ist mein Problem:
Ausgabe von xrandr:
Screen 0: minimum 8 x 8, current 3968 x 1152, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
DVI-I-2 connected 1920x1080+2048+0 (normal left inverted right x axis y axis) 478mm x 269mm
1920x1080 60.00*+
... skipped few lines ....
640x480 75.00 72.81 59.94
HDMI-0 connected primary 2048x1152+0+0 (normal left inverted right x axis y axis) 553mm x 311mm
2048x1152 60.00*+
... skipped few lines ...
640x480 75.00 59.94 59.93
DVI-I-3 disconnected (normal left inverted right x axis y axis)
Ich erstelle eine neue benutzerdefinierte Auflösung mit cvt:
$ cvt 2560 1440 60
# 2560x1440 59.96 Hz (CVT 3.69M9) hsync: 89.52 kHz; pclk: 312.25 MHz
Modeline "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
Jetzt möchte ich eine neue Auflösung erstellen:
xrandr --newmode 2560x1440_60.00 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
Die Ausgabe von xrandr sieht nun folgendermaßen aus:
Screen 0: minimum 8 x 8, current 3968 x 1152, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
DVI-I-2 connected 1920x1080+2048+0 (normal left inverted right x axis y axis) 478mm x 269mm
1920x1080 60.00*+
... skipped few lines ...
640x480 75.00 72.81 59.94
HDMI-0 connected primary 2048x1152+0+0 (normal left inverted right x axis y axis) 553mm x 311mm
2048x1152 60.00*+
... skipped few lines ...
640x480 75.00 59.94 59.93
DVI-I-3 disconnected (normal left inverted right x axis y axis)
2560x1440_60.00 (0x313) 312.250MHz -HSync +VSync
h: width 2560 start 2752 end 3024 total 3488 skew 0 clock 89.52KHz
v: height 1440 start 1443 end 1448 total 1493 clock 59.96Hz
Wenn ich diese Auflösung jetzt zum Ausgang HDMI-0 hinzufügen möchte, erhalte ich folgenden Fehler:
$ xrandr --addmode HDMI-0 2560x1440_60.00
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: 33
Current serial number in output stream: 34
Mit dieser Methode konnte ich bisher problemlos meine Monitore auf verschiedenen PCs (Notebook + ext. Monitor, beide mit gleicher Auflösung) nach Bedarf einrichten. Für Anregungen bin ich sehr dankbar.
Antwort1
nVidia-Treiber befolgen strikt die EDID-Richtlinien, auch wenn sie fehlerhaft sind.
Es verfügt über eine Xorg-Option, um EDID zu ignorieren und aus allen vom Grafikadapter unterstützten Auflösungen auszuwählen. Verwenden Sie eine der folgenden Optionen:
Option "UseEDID" "boolean" Option "ModeValidation" "NoEdidModes"
Teilfunktionen können ignoriert werden bei:
Option "UseEDIDFreqs" "FALSE" Option "IgnoreEDIDChecksum" "<con-1>, <con-2>"
Oder erweiterte Feinabstimmung der EDID-Validierung, unterstützte Werte finden Sie in der Referenz:
Option "ModeValidation" "string"
Außerdem besteht die Möglichkeit, eine korrigierte/modifizierte Kopie von EDID einzufügen. WARNUNG: Dies ist gefährlich, nicht alle Monitore sind robust.
Option "CustomEDID" "<con-1>:</pathto/edid1.bin>; <con-2>:</pathto/edid2.bin>"
Referenz:
Notiz:
Überprüfen Sie übrigens, ob überhaupt EDID-Daten abgerufen wurden, indem Sie Folgendes verwenden:
xrandr --verbose