Heute habe ich versucht, meinen zweiten Monitor an mein Notebook anzuschließen. Ich habe:
- nvidia grafikkarte
- 304.43 treiber [support xrandr 1.2]
- archlinux [aktuell]
- super wm
- xrandr 1.3
Mein Problem ist mit einer höheren Auflösung als 640 x 480 für meinen externen Monitor (VGA). xrandr -q:
Screen 0: minimum 8 x 8, current 1920 x 800, maximum 8192 x 8192
VGA-0 connected 640x480+1280+0 (normal left inverted right x axis y axis) 0mm
640x480 59.9*+
320x240 120.1
LVDS-0 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331m
1280x800 59.9*+
HDMI-0 disconnected (normal left inverted right x axis y axis)
Wie wir sehen können, gibt es keine höhere Auflösung für VGA, also füge ich einen neuen Modus hinzu:
xrandr --newmode $(gtf 1280 1024 70.4 | grep Modeline | sed s/Modeline\ // | tr -d '"')
Ich habe die verfügbare Auflösung und Bildwiederholfrequenz unter Windows überprüft: Eine von ihnen war 1024 x 768 x 70 (das OSD meines Monitors gab an, dass es 70,4 Hz beträgt). Nachdem ich den neuen Modus erstellt habe, wollte ich ihn hinzufügen:
xrandr --addmode VGA-0 1280x1024_70.40
Und ... es ist fehlgeschlagen:
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 153 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 29
Current serial number in output stream: 30
Von Google erfuhr ich, dass in älteren xrandr / nvidia-Treibern Probleme mit der Liste der verfügbaren Modi auftraten, aber jetzt mit der Unterstützung von xrandr 1.2 durch nvidia-Treiber sollte es besser sein. Ich versuche es auch mit einer niedrigeren Auflösung und Bildwiederholfrequenz (zB 1024x768x50), aber ich habe den gleichen Fehler. Ich habe keine Ahnung, was ich mit diesem Problem anfangen soll ...
xrandr --newmode $(gtf 1280 1024 70.4 | grep Modeline | sed s/Modeline\ // | tr -d '"')
selbst, aber ich zerkleinere es zuerst, um zu sehen, wie es funktioniert, zuerstgtf 1280 1024 70.4
, dann mit grep und schließlich mit sed und tr. Es gibt die gleiche Ausgabe, die Sie in Ihremxrandr --newmode
mit einem diff haben - Sie haben"1280x1024_60.00", I have
1280x1024_60.00 "- am Ende verwende ichtr -d '"'
zum Löschen" ". Leider habe ich immer noch den gleichen Fehler."1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 153 (RANDR) Minor opcode of failed request: 18 (RRAddOutputMode) Serial number of failed request: 29 Current serial number in output stream: 30
Nur zwei letzte Nummern haben sich geändert.Ich hatte dieses BadMatch-Fehlerproblem, bis ich ein zuvor hinzugefügtes "1280x1024_60.00" löschte, da es den Modus mit doppelten Anführungszeichen nie erfolgreich verwenden konnte. Irgendwann hat ein besserer Name für den Modus geholfen.
Also habe ich "1280x1024_60.00" gelöscht, indem ich als normaler Benutzer Folgendes ausgeführt habe:
Das Löschen und Entfernen des Junks im System funktionierte oft nicht oder kam wieder, obwohl ich ihn von meinem Konto und meinem Root löschte. Es wird normalerweise unter der Ausgabe mit dem Namen VIRTUAL1 anstelle von VGA1 zurückgegeben.
Fand es viel einfacher, den Müll zu verlassen und am Ende meines neu erstellten Modus einen Brief anzuhängen und sogar die .00 abzulegen , also 1280x1024_60B . Beachten Sie, dass der Parameter --newmode in doppelte Anführungszeichen gesetzt ist, NICHT jedoch --addmode oder --mode
Ein kleines Bildschirmflackern und mein externer 19 "-Monitor läuft mit 1280x1024.
quelle
Wenn Sie Linux auf einer VM (insbesondere VirtualBox) ausführen, stellen Sie sicher, dass die VM über genügend Videospeicher verfügt.
Zu wenig Videospeicher verursacht diesen Fehler, wenn versucht wird, xrandr auszuführen.
quelle
Ich habe 2 Stunden damit verbracht, ein ähnliches Problem zu lösen, und das Problem lag im VGA-Kabel. VGA-Kabel ersetzen Ich kann die Auflösung auf 1920x1080 ändern, ohne xrandr oder xorg zu verwenden. Es ist sehr seltsam.
quelle