Wie erkenne und konfiguriere ich eine Ausgabe mit xrandr?


33

Ich habe einen DELL U2410-Monitor an einen Compaq 100B-Desktop angeschlossen, der mit einer integrierten AMD / ATI-Grafikkarte (AMD E-350) ausgestattet ist. Das installierte Betriebssystem ist Ubuntu 10.04 LTS.

Der Computer ist über die DVI-Verbindung mit dem Monitor verbunden.

Das Problem ist, dass ich die Desktopauflösung nicht auf die native 1920x1200 einstellen kann. Die maximal zulässige Auflösung beträgt 1600x1200.

Ich habe einige Nachforschungen über das xrandrDienstprogramm angestellt. Wenn ich versuche, es zu verwenden, kann ich es leider nicht auf die erforderliche Auflösung konfigurieren. Erstens wird nicht der Ausgabename (der eigentlich sein sollte DVI-0) gemeldet , defaultsondern stattdessen gesagt . Ohne kann ich die --fbOption nicht verwenden .

Das EDID-Dienstprogramm scheint den Monitor gut zu identifizieren. Hier ist die Ausgabe von get-edid:

    # EDID version 1 revision 3
Section "Monitor"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    Identifier "DELL U2410"
    VendorName "DEL"
    ModelName "DELL U2410"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
    HorizSync 30-81
    VertRefresh 56-76
    # Max dot clock (video bandwidth) 170 MHz
    # DPMS capabilities: Active off:yes  Suspend:yes  Standby:yes

    Mode    "1920x1200" # vfreq 59.950Hz, hfreq 74.038kHz
        DotClock    154.000000
        HTimings    1920 1968 2000 2080
        VTimings    1200 1203 1209 1235
        Flags   "-HSync" "+VSync"
    EndMode
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
EndSection

aber der xrandr -qBefehl gibt zurück:

Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  

Wenn ich versuche, die Auflösung einzustellen, erhalte ich:

$ xrandr --fb 1920x1200
xrandr: screen cannot be larger than 1600x1200 (desired size 1920x1200)

$ xrandr --output DVI-0 --auto
warning: output DVI-0 not found; ignoring

Wie kann ich die Bildschirmauflösung auf 1920x1200 einstellen? Warum wird xrandrdie DVI-0Ausgabe nicht identifiziert ?

Beachten Sie, dass derselbe Computer mit einer Ubuntu-Version höher als 10.04 die richtige Auflösung ohne Probleme erkennt. Auf diesem Computer kann ich aufgrund älterer Hardwarekompatibilitätsprobleme kein Upgrade durchführen.

Außerdem werden im Dialogfeld Hardwaretreiber keine optionalen Bildschirmtreiber angezeigt.

----

UPDATE :

Nach der Beantwortung dieser Frage habe ich einige Fortschritte gemacht. Jetzt ist der gewünschte Modus in der xrandr -qListe aufgeführt, aber ich kann nicht in diesen Modus wechseln. Mit dem Monitor-Applet (das jetzt den neuen Modus anzeigt) erhalte ich die Antwort:

The selected configuration for displays could not be applied. Could not set the configuration to CRTC 262.

Von der Kommandozeile sieht es so aus:

$ cvt 1920 1200 60
# 1920x1200 59.88 Hz (CVT 2.30MA) hsync: 74.56 kHz; pclk: 193.25 MHz
Modeline "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr --newmode "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr -q
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
  1920x1200_60.00 (0x120)  193.0MHz
        h: width  1920 start 2056 end 2256 total 2592 skew    0 clock   74.5KHz
        v: height 1200 start 1203 end 1209 total 1245           clock   59.8Hz

$ xrandr --addmode default 1920x1200_60.00

$ xrandr -q
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
   1920x1200_60.00   59.8  

$ xrandr --output default --mode 1920x1200_60.00
xrandr: Configure crtc 0 failed

Noch eine Info (falls es jemandem hilft):

$ sudo lshw -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc
       vendor: ATI Technologies Inc
       physical id: 1
       bus info: pci@0000:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff

----

UPDATE 2 : Hier ist die aktualisierte lshwListe:

$ sudo lshw -numeric -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc [1002:9802]
       vendor: ATI Technologies Inc [1002]
       physical id: 1
       bus info: pci@0000:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff

Wenn ich es richtig überprüft habe, haben Sie einen LED-Monitor - aber Ihre Software "xrandr" möchte einen "crtc" konfigurieren - der ein Kathodenmonitor ist. Ich weiß nicht, was ich jetzt tun soll - aber vielleicht finden Sie eine Einstellung, die Sie ändern können, damit versucht wird, mit Ihrem LED-Monitor zu sprechen. Hoffe das hilft ein bisschen. Es tut uns leid.
Peterling

@ Peterling - Mir ist aufgefallen, dass dies eine wiederkehrende Meldung für andere ist, die diesen Fehler melden, aber es ist wahr, dass es seltsam ist. Ich habe keine Ahnung, was ich dagegen tun soll.
ysap

1
Jetzt ist ein "crtc" nur ein Begriff. Pixel werden immer noch in Zeilen und Pixeln herausgetaktet, und der CRTC ist der Taktmechanismus in der Videologik, der ein korrektes Timing für eine bestimmte Auflösung erzeugt. Als der Begriff eingeführt wurde, war ein "CRTC" eine tatsächliche einzelne integrierte Schaltung, und die Anzeige konnte nur eine CRT sein.
John S Gruber

Welchen Grafiktreiber verwenden Sie?
John S Gruber

@JohnSGruber - wie kannst du das sagen?
ysap

Antworten:


9

Ich denke, Sie werden irgendwohin gekommen sein, wenn Sie das bekommen, um zuzunehmen:

Bildschirm 0: mindestens 640 x 400, aktuell 1600 x 1200, maximal 1600 x 1200    
                                                  ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑
 

Dann, denke ich, können Sie xrandr dazu bringen, den benutzerdefinierten Modus zu verwenden, den Sie definiert haben (wenn Sie ihn nach dem Beheben des Grundproblems noch benötigen).

Erhöhen Sie die Größe des virtuellen Bildschirms

In diesem Artikel wird vorgeschlagen, dem Abschnitt "Bildschirm" einer xorg.conf-Konfigurationsdatei eine virtuelle Zeile hinzuzufügen, um die maximale Bildschirmgröße festzulegen. Es ist von vor ein paar Jahren. Beim Testen konnte ich die virtuelle Linie jedoch nicht über die von angegebene maximale Bildschirmgröße hinaus setzen xrandr -q. Bei meinem Treiber und meiner Hardware war dieser Wert allerdings schon ein recht großer 8192x8192.

Sie könnten experimentieren, indem Sie dies als /etc/X11/xorg.conf hinzufügen, zum Beispiel:

Abschnitt "Bildschirm"
    Kennung "Mein Bildschirm"
    Unterabschnitt "Anzeige"
        Virtuell 2048 2048
    EndSubSection
EndSection

Sie werden wahrscheinlich keine /etc/X11/xorg.conf sehen, da die heutigen Videotreiber versuchen, vernünftige Standardeinstellungen für alles zu ermitteln, und moderne Distributionen lassen diese Datei weg. Es wird jedoch verwendet, wenn vorhanden.

Wenn Sie bereits über eine /etc/X11/xorg.conf-Datei verfügen, können Sie versuchen, die obige virtuelle Zeile in den Unterabschnitt Anzeige des Bildschirmabschnitts einzufügen

Ich schlage vor, Sie testen dies mit einem Befehlszeileneditor, da die Möglichkeit besteht, dass Ihre Fähigkeit, sich mit der Ubuntu-GUI anzumelden, beeinträchtigt wird. Möglicherweise müssen Sie Alt-Strg-F1 ausführen, sich anmelden und die Datei bearbeiten (oder entfernen) Verwenden von Befehlszeilentools. Alle Fehler sollten in /var/log/Xorg.0.log oder /var/log/Xorg.1.log enthalten sein.

Tatsächlich können und sollten Sie dies testen, indem Sie sich bei einer zusätzlichen Benutzer-ID auf Ihrem System anmelden (ohne sich von Ihrer üblichen Benutzer-ID abzumelden) und in der neuen Sitzung prüfen, auf welche Weise Sie mit Alt-Strg-F7 zu Ihrer Arbeit zurückkehren können GUI, wenn es Ärger gibt. Wenn Sie eine zusätzliche Benutzer-ID verwenden, um sich anzumelden, ohne sich zuerst abzumelden, lautet das entsprechende Protokoll /var/log/Xorg.1.log. Melden Sie sich nicht von der Arbeitssitzung ab oder booten Sie nicht, bis Sie eine funktionierende xorg.conf haben oder diese wieder entfernt haben.


Verwenden Sie einen anderen Grafiktreiber

Ein anderer Artikel, den ich gelesen habe, löste dieses Problem, indem er die Treiber wechselte. Aus Ihrer Frage geht jedoch hervor, dass das Programm "Zusätzliche Treiber" keine Alternativen bietet. (Ich nehme an, das meinen Sie oben, wenn Sie das Dialogfeld "Hardwaretreiber" erwähnen. Sofern Sie die Treiber nicht mit dem Programm "Zusätzliche Treiber" ändern, verwenden Sie einen Treiber, der nach Ansicht des Kernels für Ihre Grafikkarte oder die Grafiklogik auf Ihrem Motherboard geeignet ist.

Wie Sie in Ihren Kommentaren oben beschrieben haben, sollte Ihr System für das OP den Radeon-Treiber verwenden, ist es aber nicht. Ich verwende den Radeon-Treiber und setze meine horizontale Auflösung normalerweise auf 1920 (maximal für den Treiber / die Karte scheint 8192 zu sein). Die Treiber vesa und fb sind sehr grundlegende Treiber für alte Hardware - alt genug, dass die Monitore jener Zeit keine sehr großen Bildschirme hatten.


Aktualisieren Sie Ubuntu

Wenn Sie einen Computer verwenden, der neuer als die von Ihnen installierte Ubuntu-Version ist, und insbesondere der Linux-Kernel, erkennt der Kernel Ihren Grafikadapter möglicherweise nicht. In diesem Fall müssen Sie Ihre Ubuntu-Software aktualisieren, die Unterstützung für Ihre Geräte enthält.

Da er fglrx nicht zum Laufen bringen kann, ist dies leider bei ysap der Fall. Aufgrund der Neuheit dieses Geräts in Bezug auf das Release, das ysap ausführt, wird [1002.9802] im Lucid-Linux-Kernel (oder Maverick-Linux-Kernel) nicht unterstützt. Der erste Support für dieses Gerät erschien im Natty 2.6.38-Kernel. Um zu überprüfen, ob ein bestimmtes Gerät in Kernelmodulen unterstützt wird, können Sie die Datei / lib / modules / kernel-version /module.alias aufrufen und nach dem Wert des Adapters suchen. Für diese Ausrüstung:

grep v00001002d00009802 /lib/modules/2.6.38-10-generic/modules.alias

Um Nattys Kernel-Unterstützung zu überprüfen. Es antwortet:

alias pci:v00001002d00009802sv*sd*bc*sc*i* radeon

Als Test können Sie versuchen, eine Live-CD auf dem System zu starten und die gewünschte Auflösung in dieser Umgebung einzustellen (klicken Sie auf Ubuntu testen, anstatt auf Installieren).

Durch eine angemessene Treiberunterstützung können auch moderne Grafikfunktionen wie Direct Rendering und OpenGL-Unterstützung aktiviert werden, wodurch Leistung und Ästhetik erheblich verbessert werden.

Für einen PC können Sie möglicherweise auch einen aktualisierten Kernel verwenden, sofern ein kompatibler Kernel für Ihre Ubuntu-Version verfügbar ist. Für einen Produktionscomputer kann es aus Gründen der Zuverlässigkeit und Robustheit erforderlich sein, Ubuntu auf eine neuere Version zu aktualisieren, sofern diese verfügbar ist.


1
Das seltsame ist, dass ich xorg.confnirgends im Dateisystem habe. Nach meinem Verständnis ist diese Datei in modernen Gnomen jedoch veraltet und wird nicht benötigt. Ich habe das xorg.conf.dProgramm und die entsprechende Manpage gefunden.
ysap

/etc/X11/xorg.conf wird für die Hardware der meisten Systeme nicht mehr benötigt, ist jedoch nicht veraltet. Sie können eine Datei angeben, um die erforderlichen Details festzulegen. So habe ich es versucht. Diese Details können auch in eine Datei eingefügt werden, die Sie zum Verzeichnis /etc/X11/xorg.conf.d/ hinzufügen. Ich werde ein Beispiel hinzufügen.
John S Gruber

Mal sehen, ob das klarer ist. Bitte lassen Sie es mich wissen, wenn nicht.
John S Gruber

Danke, John. Ich habe die von Ihnen gepostete xorg.conf-Datei getestet und tatsächlich hat sie mein Display beim Kontowechsel durcheinander gebracht, sodass ich sie entfernen musste.
ysap

Unter Ubuntu 10.04 gibt es ein Applet "Hardware Drives" im Menü "System / Administration". In diesem Applet sind keine alternativen Treiber aufgeführt. Jedoch , Ich habe erkannt, dass der PC in Frage wird derzeit nicht mit dem Internet verbunden (wir waren in einem Demo sind jetzt), so ist es möglich , dass ich im Büro einmal wir zurück erhalten eine ATI - Treiber Alternative. Ich erinnere mich vage daran, dass die proprietären Treiber das Problem nicht gelöst haben und ich diese Auflösung mit 10.04 nie bekommen konnte.
ysap

15

Ich bin auch auf dieses Problem gestoßen (früher hatte ich einen Dell 23 "-Bildschirm)

Stellen Sie zunächst fest, welche Schnittstelle mit Ihrem Bildschirm verbunden ist:

$ xrandr -q

Die Befehlsausgabe lautet:

mukolla@pk:~$ xrandr -q

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192

LVDS connected (normal left inverted right x axis y axis)
   1366x768       60.0 +
   1280x720       59.9  
   1152x768       59.8  
   1024x768       59.9  
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  

HDMI-0 disconnected (normal left inverted right x axis y axis)

VGA-0 connected ......

   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  

Das externe Display ist an den Port VGA-0 angeschlossen . Dies ist wichtig zu beachten.

Fügen Sie nun einen neuen Modus zur Anzeige hinzu:

$ xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync
$ xrandr --addmode VGA-0 1920x1080_60.00
$ xrandr --output VGA-0 --mode 1920x1080_60.00

Dies funktioniert nicht zum Ändern des eingebauten Bildschirms, oder?
KhoPhi

Fehler BadMatch mit Beispiel: Irgendeine xrandr --addmode "DVI-I-1" "1280x800_60.00"Idee? (DVI-I-1 ist die angeschlossene)
Wassermann Power

@ AquariusPower Versuchen Sie es DVI-1-1stattDVI-I-1
WinEunuuchs2Unix

6

Guten Tag alle. Ich hatte dieses Problem, als ich eine Verbindung zu einem Ubuntu-System herstellte, das keinen Bildschirm hatte (früher hatte es einen Dell 24-Zoll-Bildschirm, wurde aber an anderer Stelle benötigt). Ich bin nicht hell genug, um zu wissen, warum dies funktioniert, aber hier ist eine Reihe von Befehlen das funktioniert bei mir - keine dateibearbeitung erforderlich.

Hinweis: Wenn Sie neu starten, müssen Sie sie erneut ausführen. Ich schlage ein Shell-Skript vor.

gtf 1920 1200 60 -x
xrandr --newmode "1920x1200_60.00"  193.16  1920 2048 2256 2592  1200 1201 1204 1242  -HSync +Vsync
xrandr --addmode VGA1 1920x1200_60.00
xrandr --output VGA1 --mode 1920x1200_60.00

Das funktioniert erstaunlich gut!
Folkert van Heusden

4

Ich habe die obigen Zeilen (etwas andere Ausgabe durch den Befehl gtf) zur .xprofile-Datei in meinem Ausgangsverzeichnis hinzugefügt. Arbeitete wie ein Traum. Siehe unten.

gtf 1920 1080 60 -x

xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

xrandr --addmode Virtual1 1920x1080_60.00

xrandr --output Virtual1 --mode 1920x1080_60.00

Ich benutze den Vmware Player, daher der Name der Ausgabe.


2

Versuchen Sie, arandr zu installieren, um Ihre xrandr- Konfiguration mit einer GUI einzurichten .

sudo apt install arandr

Stellen Sie dann die Auflösung, Ausrichtung und Position Ihrer Displays ein und speichern Sie die Konfiguration.

Sie können sehen, dass die Ausgabe ein Shell-Skript (.sh) ist, normalerweise auf ~ / .screenlayout

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.