Warum wird die native Auflösung meines Monitors unter Linux nicht erkannt?

570
Evangelos

Ich besitze einen ViewSonic VA1931wa-LED-Monitor mit einer Auflösung von 1366 x 768 Pixeln bei einer Bildwiederholfrequenz von 60 Hz. Das Problem ist, dass egal was ich mache, es funktioniert einwandfrei unter Windows, aber auf jeder Linux-Distribution kann es nicht richtig funktionieren. Ich habe sowohl mit dem proprietären nvidia-Treiber (meine GPU ist eine nvidia GeForce 210) als auch mit dem nouveau-Treiber und den Auflösungen, die ich bekomme, die dem nativen am nächsten kommen, experimentiert, 1368x768 und 1360x768.

Ich habe auch versucht, gtf 1366 768 60 in das Terminal einzugeben, und die Ausgabe lautet wie folgt:

 # 1368x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 85.86 MHz 

Modeline "1368x768_60.00" 85,86 1368 1440 1584 1800 768 769 772 795 -HSync + Vsync

Wie Sie deutlich sehen, obwohl ich 1366 horizontale Pixel eingebe, bekomme ich 1368 als Ausgabe. Gibt es eine Möglichkeit, meinen Monitor zu zwingen, seine native Auflösung anzuzeigen? Wenn nicht, was kann dann noch getan werden?

0
Überprüfen Sie, ob dies hilft https://superuser.com/questions/1323967/wie-can-i-set-display-resolution-to-3840x2160-with-intel-graphics-3000 https://askubuntu.com/questions/377937 / How-to-a-Custom-Auflösung `cvt 1366 768 60`, dann` xrandr --newmode` und dann `xrandr --addmode`. Dies funktioniert in VirtualBox mit nicht standardmäßigen Auflösungen, bei realen Monitoren glaube ich jedoch, dass dies vom Videotreiber abhängt. Paulo vor 5 Jahren 0
Mögliches Duplikat von [Mein Computer erkennt die Auflösung des Monitors an einigen VGA-Kabeln nicht, was ist los?] (Https://superuser.com/questions/943139/my-computer-doesnt-recognize-the-monitors-resolution-resolution- auf einigen VGA-Kabeln-was) phuclv vor 5 Jahren 0
Probieren Sie ein anderes Kabel [VGA-Auflösung mit Sony Bravia TV] (https://superuser.com/q/23119/241386), [VGA-Kabel, das ein Auflösungsproblem verursacht] (https://superuser.com/q/147792/241386) , [Auflösung 1920 x 1080 ist nicht für externen Monitor verfügbar] (https://superuser.com/q/193703/241386) ... phuclv vor 5 Jahren 0

1 Antwort auf die Frage

0
dirkt

Aufgrund der Funktionsweise der älteren CRTC-Hardware auf Nvidia-Grafikkarten können Sie nur horizontale Auflösungen einstellen, die Vielfache von 8 sind. 1360 und 1368 sind Vielfache von 8, 1366 nicht.

Sie haben nicht gesagt, wie Ihr Monitor an Ihre Grafikkarte angeschlossen ist (VGA, DisplayPort, HDMI / DVI, ...). Die Details sind etwas kompliziert, aber aus Gründen der Vergangenheit enthalten einige dieser Verbindungen eine horizontale und vertikale Phase, in der nur leere Pixel gesendet werden. Für Ihre Modellinie hätten Sie beispielsweise 1368 Framebuffer-Pixel von insgesamt 1584 horizontalen Pixeln.

Das heißt, es spielt keine Rolle, dass die letzten beiden Pixel des 1368-Bereichs nicht angezeigt werden. Die Karte sendet zusätzlich 216 leere Pixel, die vom Monitor ohnehin ignoriert werden.

In Ihrem Fall würde ich mich für die horizontale Auflösung von 1368 entscheiden. Dies bedeutet, dass Ihr Desktop auf der rechten Seite zwei Pixel hat, die nicht sichtbar sind (und ich weiß nicht, wie ich X davon überzeugen kann, dass der tatsächliche Framebuffer kleiner ist). Möglicherweise können Sie Ihren Fenstermanager so konfigurieren, dass dieser Bereich immer ignoriert wird.

Bearbeiten

Da VGA analog übertragen wird, verfügt ein an VGA angeschlossenes LCD über einen A / D-Wandler, um die Pixelinformationen wieder in digitale Daten umzuwandeln. Ich bin nicht ganz sicher, was Sie unter "einige vertikale Teile der Anzeige sind verschwommen" verstehen, aber wenn Sie vertikale Bereiche oder Streifen in gleichem Abstand meinen, liegt dies daran, dass die A / D-Umwandlung nicht an der Pixelgrenze stattfindet Der Grund dafür ist, dass die horizontale Gesamtbreite (1584 in der Modeline) nicht für den Monitor erforderlich ist: Durch diese Gesamtbreite werden die Pixel gedehnt oder verkleinert. Zu regelmäßigen Zeitpunkten erfolgt die Abtastung an einer Grenze zwischen den Pixeln.

Sie können also mit der Gesamtbreite (und / oder den Sync-Werten zum Verschieben des Bildes) Ihrer Modeline herumspielen.

Bitte sehen Sie sich auch Ihre an /var/log/Xorg.0.log, sie sollte die Modelllinien enthalten, die der Monitor über EDID vorschlägt. Oder lesen Sie die EDID-Daten mit anderen Tools. Wenn Sie nicht wissen, wie das Protokoll interpretiert werden soll, laden Sie es bitte in ein Pastebin usw. hoch und bearbeiten Sie Ihre Frage mit einem Link.

Eine andere Sache, die Sie versuchen können, ist, nachzuschauen, welche Modeline Windows verwendet (obwohl ich nicht sicher bin, wo ich diese Informationen unter Windows finde).

Der Monitor ist über VGA, die einzige auf diesem Monitor verfügbare Schnittstelle, mit der GPU verbunden. Das Problem ist, dass, obwohl ich meine Auflösung auf 1368 x 768 einstellen kann und das Bild in Ordnung ist, einige vertikale Teile des Displays verschwommen sind und nicht fixiert werden können, selbst wenn Sie die Einstellungen manuell vornehmen. Noch rätselhafter ist jedoch, dass unter Windows sowohl die GPU als auch die native Auflösung des Monitors sofort erkannt und angewendet werden, sobald der Treiber installiert ist und er einwandfrei funktioniert. Evangelos vor 5 Jahren 0