Hatte hier gleich gelagertes Problem unter 12.2 mit ATI und einem 16 Port KVM am VGA-Ausgang. Der Monitor sollte wie alle anderen Rechner an diesem Konsol-Switch mit 1280x1024@75Hz und 24bit Farbtiefe betrieben werden.
Allerdings Pustekuchen. Es wurde ein default Monitor gesehen, und dieser nur mit maximal 1024x768@75Hz angesteuert.
Code:
# hwinfo --monitor
37: None 00.0: 10000 Monitor
[Created at monitor.95]
Unique ID: rdCR.IAXagWAf5O6
Hardware Class: monitor
Model: "Smart Cable"
Vendor: AVO
Device: eisa 0x0000 "Smart Cable"
Resolution: 720x400@70Hz
Resolution: 640x480@60Hz
Resolution: 640x480@72Hz
Resolution: 640x480@75Hz
Resolution: 800x600@56Hz
Resolution: 800x600@60Hz
Resolution: 800x600@72Hz
Resolution: 800x600@75Hz
Resolution: 1024x768@60Hz
Resolution: 1024x768@70Hz
Resolution: 1024x768@75Hz
Size: 304x228 mm
Detailed Timings #0:
Resolution: 1024x768
Horizontal: 1024 1040 1136 1312 (+16 +112 +288) +hsync
Vertical: 768 769 772 800 (+1 +4 +32) +vsync
Frequencies: 78.75 MHz, 60.02 kHz, 75.03 Hz
Driver Info #0:
Max. Resolution: 1024x768
Vert. Sync Range: 56-75 Hz
Hor. Sync Range: 24-61 kHz
Bandwidth: 78 MHz
Config Status: cfg=no, avail=yes, need=no, active=unknown
Ohne Switch dazwischen wurde der Monitor richtig erkannt. Verhalten wie oben auch beschrieben.
Das Einstellen im Bootloader brachte zwar entsprechende Framebufferauflösung für den Startvorgang und die Konsolen aber sobald der X-Server gestartet ist, war wieder maximal 1024x768 angesagt. Sax2 gibts nicht mehr, Sax3 kannste vergessen und alles andere ging auch nicht, die Lösung war dann ziemliche Handarbeit und bestand in der Erstellung einer eigenen speziellen /etc/X11/xorg.conf . Die Tatsache das die Karte gleich mal 3 Ausgange (HDMI-0, HDMI-1 und VGA-0) hat, machte es nicht einfacher.
Das erste ist das erstellen einer
xorg.conf Vorlage. Das geht nur wenn der X-Server nicht gestartet ist, also erst einmal in Runlevel 3
dort dann ausführen.
unter
/root/xorg.conf.new ist dann eine solche Vorlage zu finden.
Leider hatte diese nur dummy Einträge für den Monitor, auch ein Erstellen dieser ohne Konsolswitch brachte leider keine gültigen Einträge für den Monitor sondern auch nur Dummys. Hilfreich könnte eine alte
xorg.conf aus einem System 10.x oder frühem 11.x sein am selben Monitor sein. Entsprechende Abschnitte kann man daraus verwenden und braucht sie nicht per Hand neu zu erstellen.
Die Interessanten Abschnitte sind in etwa folgende:
Code:
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
### <percent>: "<f>%"
### [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "SWcursor" # [<bool>]
#Option "Dac6Bit" # [<bool>]
...
# jede Menge von weiteren auskommentierten Einträgen welche für mögliche Optionen der Grafikkarte stehen
...
#Option "NewPLL" # [<bool>]
#Option "ZaphodHeads" # <str>
Identifier "Card0"
Driver "radeon"
BusID "PCI:0:1:0"
EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
### <percent>: "<f>%"
### [arg]: arg optional
#Option "ShadowFB" # [<bool>]
#Option "Rotate" # <str>
#Option "fbdev" # <str>
#Option "debug" # [<bool>]
Identifier "Card1"
Driver "fbdev"
BusID "PCI:0:1:0"
EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
### <percent>: "<f>%"
### [arg]: arg optional
#Option "ShadowFB" # [<bool>]
#Option "DefaultRefresh" # [<bool>]
#Option "ModeSetClearScreen" # [<bool>]
Identifier "Card2"
Driver "vesa"
BusID "PCI:0:1:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
sowie noch 2 weitere identische "Section Screen" Abschnitte jeweils für Card1 und Card2
Als erstes habe ich in der so erstellen
xorg.conf.new den Abschnitt für den
Monitor0 geändert.
Code:
Section "Monitor"
Identifier "Monitor0"
VendorName "LCD"
ModelName "1280X1024@75HZ"
DisplaySize 305 230
HorizSync 29-81
Option "PreferredMode" "1280x1024"
VertRefresh 58-76
UseModes "Modes0"
EndSection
Der
VendorName ist frei erfunden ebenso der
ModelName, die Werte
HorizSync und
VerRefresh kann man aus dem Handbuch des Monitors oder aus einer eventuellen alten
xorg.conf übernehmen. Die
DisplaySize ist die Größe des Bildschirmes in mm (für die richtige Kalkulation von dpi und somit der Schriftgrößen von Vorteil).
Option "PreferredMode" soll hier die bevorzugte Auflösung sein.
UseModes verweist hier auf einen Abschnitt den es vorher in der
xorg.conf.new nicht gab. In diesem Abschnitt werden die genauen Auflösungen beschrieben, die der Monitor beherrscht.
Dieser Abschnitt wurde neu erstellt und sieht so aus.
Code:
Section "Modes"
Identifier "Modes0"
Modeline "1280x1024" 138.54 1280 1336 1472 1728 1024 1025 1028 1069
Modeline "1280x960" 131.72 1280 1368 1504 1728 960 961 964 1003
Modeline "1280x960" 122.11 1280 1368 1504 1728 960 961 964 1000
Modeline "1280x960" 111.52 1280 1360 1496 1712 960 961 964 997
Modeline "1280x960" 102.10 1280 1360 1496 1712 960 961 964 994
Modeline "1280x800" 108.77 1280 1360 1496 1712 800 801 804 836
Modeline "1280x800" 100.78 1280 1360 1496 1712 800 801 804 833
Modeline "1280x800" 92.08 1280 1352 1488 1696 800 801 804 831
Modeline "1280x800" 83.46 1280 1344 1480 1680 800 801 804 828
Modeline "1152x864" 106.51 1152 1224 1352 1552 864 865 868 903
Modeline "1152x864" 97.69 1152 1224 1344 1536 864 865 868 900
Modeline "1152x864" 90.02 1152 1224 1344 1536 864 865 868 897
Modeline "1152x864" 81.62 1152 1216 1336 1520 864 865 868 895
Modeline "1280x768" 104.48 1280 1360 1496 1712 768 769 772 803
Modeline "1280x768" 95.88 1280 1352 1488 1696 768 769 772 800
Hier wurden jetzt eine Menge rausgeschnitten
Modeline "640x480" 31.13 640 664 728 816 480 481 484 502
Modeline "640x480" 28.83 640 664 728 816 480 481 484 500
Modeline "640x480" 26.60 640 664 728 816 480 481 484 499
Modeline "640x480" 23.86 640 656 720 800 480 481 484 497
EndSection
In diesem Abschnitt sind alle Auflösungen und die entsprechenden Frequenzen beschrieben die der Monitor unterstützt. Wer eine alte
xorg.conf hat, kann sie dort entnehmen. Eine andere Quelle ist auch eventuell die /var/log/Xorg.0.log wenn man einen Rechner hat der auf diesem Monitor sauber arbeitet, oder wenn wie in diesem Fall der Rechner im Direktanschluss am Monitor sauber funktioniert . Im Zweifelsfall kann man die einzelnen Zeilen, (oder die Auflösungen die man gedenkt in Zukunft zu nutzen, Achtung manche Spiele wollen manchmal recht seltsame Auflösungen benutzen ) auch manuell mit Hilfe des Handbuchs vom Monitor erzeugen. Dazu sind die Auflösungen und die Frequenz notwendig.
der Befehl zum erstellen einer Modeline ist
cvt und eine Befehls Zeile für "1280x1024 75Hz" sieht dann zb so aus.
und liefert folgende Ausgabe
Code:
# 1280x1024 74.90 Hz (CVT 1.31M4) hsync: 80.30 kHz; pclk: 138.75 MHz
Modeline "1280x1024_75.00" 138.75 1280 1368 1504 1728 1024 1027 1034 1072 -hsync +vsync
die Modeline Zeile kann 1 zu 1 in der Konfiguration verwendet werden.
Als nächstes wird noch eine Zuweisung vorgenommen bei welcher Auflösung bei welcher Farbtiefe möglich ist. Hierbei ist weniger von Interesse was der Monitor kann sondern was die Grafikkarte beherrscht. bei sehr hohen Auflösungen und großer Farbtiefe reicht bei "kleinen" Grafikkarten der Speicher nicht. Das sollte beachtet werden, bei meiner Konfiguration ist das egal, ich kann bequem alle Farbtiefen bis 1280x1024 verwenden.
Wir ändern dazu die
Sektion Screen0 in der
Monitor0 und
Card0 verknüpft sind.
Code:
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 15
Modes "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1280x720" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
EndSubSection
EndSection
die default Farbtiefe wird hier gleich mit
DefaultDepth angegeben,( irgendwie habe ich unter KDE nichts richtiges gefunden wie die Farbtiefe im laufenden Betrieb zu ändern wäre).
Da die ATI Karte jetzt aber noch mehrere Ausgänge hat, müss ich noch festlegen an welchem Ausgang sich der soeben konfigurierte
Monitor0 befindet. Dazu benötigen wir den genauen Namen wie Xorg die einzelnen Schnittstellen bezeichnet. (kann man aus der /var/log/Xorg.0.log oder aus den Konfigurationstools von KDE ablesen, auch
xrandr ist eventuell möglich) Den Anschluss den ich verwende nennt sich "
VGA-0"
Zur Verknüpfung Ausgang "
VGA-0" mit dem "
Monitor0" wird im Abschnitt "Section Device" wo bei mir der radeon Treiber steht, eine Optionszeile hinzugefügt, der entsprechende Abschnitt sieht dann folgend aus.
Code:
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
### <percent>: "<f>%"
### [arg]: arg optional
hier stehen die vielen ausdokumentierten Optionen des Treibers
Option "Monitor-VGA-0" "Monitor0"
Identifier "Card0"
Driver "radeon"
BusID "PCI:0:1:0"
EndSection
Damit sollte die Konfiguration fertig sein. Die Datei wird als
/etc/X11/xorg.conf gespeichert und beim nächstem Start von Xorg verwendet.
Danach sollte unbedingt die /var/log/Xorg.0.log kontrolliert werden ob es irgendwelche Probleme gab. Auch für eine Fehlersuche und eine Kontrolle ob es wirklich richtig funktioniert hat ist diese Datei dann der allererste Anlaufpunkt. Im groben Fehlerfall einfach die /etc/X11/xorg.conf löschen oder umbenennen.
In meinem Fall hat es prima funktioniert und der Rechner startet im gewünschten Modus, das Bild ist zentriert die Schrift klar und scharf und Kreise sehen sehr schön rund aus. Einige niedrigere Auflösungen funktionieren auch prächtig, also Operation gelungen.
xrandr zeigt mir jetzt auch einen Überblick über die möglichen Auflösungen und Frequenzen dazu.
Code:
xrandr
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 8192 x 8192
HDMI-0 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 304mm x 228mm
1280x1024 75.0*+
1024x768 75.0 + 76.0 75.1 70.7 70.1 65.3 60.0 60.0
1280x960 76.0 70.7 65.3 60.0
1280x800 76.0 70.7 65.3 60.0
1152x864 76.0 70.7 65.3 60.0
1280x768 76.0 70.7 65.3 60.0
1280x720 76.0 70.7 65.3 60.0
1280x600 76.0 70.7 65.3 60.0
1024x600 76.0 70.7 65.3 60.0
800x600 76.0 72.2 75.0 70.7 65.3 60.3 60.0
768x576 76.0 70.7 65.3 60.0
640x480 72.8 75.0 76.0 70.7 65.3 60.0 60.0
720x400 70.1
Wer es jetzt ganz genau braucht, kann alle Modi ausprobieren, und sollte einer gar nicht gehen, dann aus der xorg.conf rausschmeißen, oder probieren den einen oder anderen noch leicht zu korrigieren. (zB. mit xvidtune aber mit aller äußerster Vorsicht) Hier in dem Fall stammen die Monitor Daten aus einem anderem Rechner der schon seit Jahren an diesem Switch und an diesem Monitor hängt, die Konfiguration war dort ursprünglich mal mit sax2 erstellt worden. Ich habe dort noch keinen Modi gebraucht der nicht funktioniert hat, außerdem ist das ja nicht der erste Rechner der ich so eine Handgemachte xorg.conf verpassen musste. Die Konfigurationsdaten des Monitor sind somit auf allen Rechnern gleich und also lasse ich das auf diesem Rechner jetzt so wie es ist, obwohl wie die Ausgabe von xrandr zeigt, wohl einiges nicht so ganz optimal zu passen scheint.
Dass ganze Verfahren und die einzelnen Einträge werden sicherlich bei jedem etwas anders sein und eine solcherart manuell erstellte Konfigurationsdatei sicherlich auch nicht immer gleich auf Anhieb richtig funktionieren, aber vielleicht hilft dem einen oder anderem doch diese Dokumentation.
robi