Page 1 of 1

Grafikprobleme mit TFT-Monitor und Grafik on Board

Posted: 03. Dec 2006 23:05
by hastifranki
Vor einiger Zeit hatte ich mit einem Grafikproblem zu kämpfen. Einer meiner hobbymäßig betreuten Rechner hat das Mainboard 'Gigabyte 7VM400M-RZ' mit Grafik on Board und einen TFT-Bildschirm 'Philips 150s'

Nachdem ich bei der Installation von Suse 10.0 bei einer Auflösung von 1024x768 eine völlig verschobene und inakzeptable Darstellung bekommen hatte und alle Versuche gescheitert sind, mit sax2 alles ordentlich einzustellen, habe ich über 'sax2 -m 0=fbdev' den Framebuffertreiber geladen.

Die Entscheidung für Framebuffer fiel auch deswegen, weil ich nicht mit einer Auflösung 800x600 arbeiten wollte. Danach lief alles bestens. Nur xine ruckelte etwas. Das war für mich der Grund, die Sache später nochmals genauer zu untersuchen.

Über 'sax2 -p' habe ich mich deshalb nochmals versichert, welcher Treiber geladen werden sollte. Anschließend habe ich mit
'sax2 -m 0=via' den passenden Treiber geladen und meinen alten Fehler mit der Auflösung 1024x768 reproduziert.

Weiterführend habe ich versucht, über 'xmode -x 1024 -y 768 -r 75' eine passende Modeline generieren zu lassen, um diese anschließend in der Datei xorg.conf zu verwenden. Dabei habe ich die alte Modeline mit der generierten Zeile überschrieben. Nach dem anschließenden Ausführen von xstart ging der Monitor in den Schlummerbetrieb und über Strg+Alt+F2 konnte ich nicht mal mehr eine Textkonsole erreichen. Auch bei Strg+Alt+Backspace reagierte der Rechner nicht. Wenn ich mich richtig erinnere, funktionierte auch Strg+Alt+Entf nicht.

Schließlich kam mir die Idee, die Zeile mit der problematischen Auflösung 1024x768 in der Datei xorg.conf einfach mit # auszukommentieren und anschließend das X Window System mittels xstart neu zu starten.

Zu meinem Erstaunen wurde darauf das X Window System mit der Auflösung 1024x768 gestartet. Noch mehr verblüfft hat mich, dass in der Datei Xorg.0.log die verwendete default Modeline angezeigt wurde.

Daraufhin habe ich die entsprechende Modelinezeile in der Datei xorg.conf mit der generierten Zeile aus der Datei Xorg.0.log überschrieben. Anschließend habe ich die restlichen Modeline-Zeilen in xorg.conf auskommentiert und den Vorgang wiederholt.

Im Folgenden der Auschnitt der Logdatei Xorg.0.log mit den Defaultmodelines, nachdem ich noch die restlichen Modelines der Datei xorg.conf auskommentiert hatte:

Code: Select all

(**) VIA(0): *Mode "1024x768": 78.8 MHz (scaled from 0.2 MHz), 60.1 kHz, 75.1 Hz
(II) VIA(0): Modeline "1024x768"   78.80  1024 1040 1136 1312  768 769 772 800 +hsync +vsync
(**) VIA(0): *Default mode "800x600": 49.5 MHz (scaled from -0.0 MHz), 46.9 kHz, 75.0 Hz
(II) VIA(0): Modeline "800x600"   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync
(**) VIA(0): *Default mode "640x480": 31.5 MHz (scaled from -0.2 MHz), 37.5 kHz, 75.0 Hz
(II) VIA(0): Modeline "640x480"   31.50  640 656 720 840  480 481 484 500 -hsync -vsync
(**) VIA(0):  Default mode "832x624": 57.3 MHz (scaled from -0.3 MHz), 49.7 kHz, 74.6 Hz
(II) VIA(0): Modeline "832x624"   57.28  832 864 928 1152  624 625 628 667 -hsync -vsync
(**) VIA(0):  Default mode "800x600": 50.0 MHz (scaled from 0.2 MHz), 48.1 kHz, 72.2 Hz
(II) VIA(0): Modeline "800x600"   50.00  800 856 976 1040  600 637 643 666 +hsync +vsync
(**) VIA(0):  Default mode "800x600": 40.0 MHz (scaled from 0.0 MHz), 37.9 kHz, 60.3 Hz
(II) VIA(0): Modeline "800x600"   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync
(**) VIA(0):  Default mode "800x600": 36.0 MHz (scaled from -0.3 MHz), 35.2 kHz, 56.2 Hz
(II) VIA(0): Modeline "800x600"   36.00  800 824 896 1024  600 601 603 625 +hsync +vsync
(**) VIA(0):  Default mode "640x480": 31.5 MHz (scaled from -0.2 MHz), 37.9 kHz, 72.8 Hz
(II) VIA(0): Modeline "640x480"   31.50  640 664 704 832  480 489 491 520 -hsync -vsync
(**) VIA(0):  Default mode "640x480": 25.2 MHz (scaled from -0.2 MHz), 31.5 kHz, 60.0 Hz
(II) VIA(0): Modeline "640x480"   25.20  640 656 752 800  480 490 492 525 -hsync -vsync
Weiterhin ein Ausschnitt der xorg.conf, nachdem ich alle Modelines aus der Logdatei übernommen hatte:

Code: Select all

Section "Monitor"
  DisplaySize  300 230
  HorizSync    30-61
  Identifier   "Monitor[0]"
  ModelName    "PHILIPS PHILIPS 150S"
  Option       "DPMS"
  VendorName   "PHL"
  VertRefresh  43-76
  UseModes     "Modes[0]"
EndSection


Section "Modes"
  Identifier   "Modes[0]"
  Modeline 	"1024x768"   78.80  1024 1040 1136 1312  768 769 772 800 +hsync +vsync
#
  Modeline 	"800x600"   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync
  Modeline 	"640x480"   31.50  640 656 720 840  480 481 484 500 -hsync -vsync
#
#Modeline "832x624"   57.28  832 864 928 1152  624 625 628 667 -hsync -vsync
#Modeline "800x600"   50.00  800 856 976 1040  600 637 643 666 +hsync +vsync
#Modeline "800x600"   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync
#Modeline "800x600"   36.00  800 824 896 1024  600 601 603 625 +hsync +vsync
#Modeline "640x480"   31.50  640 664 704 832  480 489 491 520 -hsync -vsync
#Modeline "640x480"   25.20  640 656 752 800  480 490 492 525 -hsync -vsync
#
EndSection


Section "Device"
  BoardName    "KM400"
  BusID        "1:0:0"
  Driver       "via"
  Identifier   "Device[0]"
  VendorName   "VIA Technologies, Inc."
EndSection


Section "Screen"
  DefaultDepth 16
  SubSection "Display"
    Depth      15
    Modes      "1024x768" "800x600" "640x480" 
  EndSubSection
  SubSection "Display"
    Depth      16
    Modes      "1024x768" "800x600" "640x480" 
  EndSubSection
  SubSection "Display"
    Depth      24
    Modes      "1024x768" "800x600" "640x480" 
  EndSubSection
  SubSection "Display"
    Depth      32
    Modes      "1024x768" "800x600" "640x480" 
  EndSubSection
  SubSection "Display"
    Depth      8
    Modes      "1024x768" "800x600" "640x480" 
  EndSubSection
  Device       "Device[0]"
  Identifier   "Screen[0]"
  Monitor      "Monitor[0]"
EndSection

Ich habe zwar das Grafikproblem gelöst, xine läuft jetzt flüssig. Ich würde mich dennoch freuen, wenn mir jemand sagen könnte, woher das X Window System die Informationen bezüglich der default Modelines bezieht, um diese anschließend selbst zu verwenden und in eine Logdatei zu schreiben.

Viele Grüße
hastifranki

Posted: 04. Dec 2006 10:50
by Janka
Modelines werden aus den möglichen Clockfrequenzen der Grafikkarte und den vom Monitor per DDC gemeldeten Horizontalfrequenzen errechnet.

Janka