Hässliche Streifen in KDE-Leisten
Es gibt einen Bug, der die Darstellung von KDE-Leisten, d.h. Menü- und Werkzeugleisten, Rollbalken und der Kontrollleiste KDE/Kicker, manchmal auch den graphischen Inhalt von KDE-Fenstern, erheblich verunstalten kann. Dieser Bug tritt nur auf in Kombination von KDE-Anwendungen und dem XFree86-Treiber i810 für den gleichnamigen Chipsatz von Intel und dessen Verwandte, im Moment offiziell nur i815. Dazu müssen offenbar noch bestimmte unbekannte Bedingungen kommen, um ihn auszulösen. Vermutlich ist der Bug im Treiber i810 zu suchen, nicht in KDE. Da er aber im wahrsten Sinne des Wortes "offensichtlich" immer in KDE auftaucht, wurde er als Bug immer bei KDE gemeldet, die dortigen Entwickler sagten: "definitely not a KDE problem", "display adapter driver problem", und dann verlief die Sache im Sande.
Mittlerweile wird er aber immer enger eingekreist. (Die kleine Zecke, siehe Bug, hat es gewagt, auf meinem Monitor zu erscheinen.) Immerhin gibt es bereits einige WorkArounds. OffeneFrage ist, zu welchem Zeitpunkt und in welcher Version von XFree86, aktuell ist 4.2.0, der Bug geFixt sein wird. Wer sich für die schmutzigen Details der Ungezieferbekämpfung interessiert, kann im Archiv der Xpert-MailingListe von XFree86 unter i810 + KDE display corruption nachsehen, ggf. auch in späteren Monaten: "June" in der Adresszeile des Browsers durch "July" usw. ersetzen.
"Ich hab das Ding aber jetzt auf meinem Bildschirm. Was mach ich denn jetzt?"
Ruhe bewahren, durchatmen, das Ding frisst keine Löcher in den Schirm. - Es gibt da aber einen netten Bildschirm Schoner: xlock-mesa -nolock -mode bug mal auf der KommandoZeile ausprobieren. Nicht zu schnell abbrechen, wird erst nach einer Weile interessant, wie im richtigen Leben, hat auch bei jedem Start andere Anfangsbedingungen. - Für unser eigentliches Problem aber ist ein WorkAround hier das Mittel der Wahl.
WorkAround
Es gibt im Prinzip drei Möglichkeiten:
Wenn Ihnen diese Auflösung halbwegs zusagt, benutzen Sie 1024 x 768. Diese Auflösung hat bestimmte Eigenschaften, die die anderen nicht haben, deswegen tritt der Bug nicht auf. Für die Umstellung empfiehlt sich das XFree86-Konfigurationsprogramm Ihrer LinuxDistribution.
Man kann offenbar auch eine Farbtiefe von 24bpp (Truecolor) benutzen. Das hat aber zur Folge, dass der so genannte Graphics & Memory Controller Intel 82810, einer der beiden Teile des i810-Chipsatzes, 50% mehr Daten verarbeiten muss als bei 16bpp. Da der i810-Chipsatz eine Grafikkarte einspart - und damit Kosten für den gesamten Rechner - ist er auf einen Teil des Hauptspeichers als Grafikspeicher angewiesen. Und hier, am Datenstrom zum Hauptspeicher, wird es daher bei halbwegs hohen Auflösungen eng. Außer bei sehr kleinen Auflösungen wird XFree86 diese Einstellung daher gar nicht zulassen. Aber auch dann ist zu befürchten, dass der Rest an Speicherbandbreite, der hier noch zur Versorgung des restlichen Rechners übrig bleibt, zu Leistungseinbußen führt. Sollten Sie trotzdem diese Lösung wählen, gilt wie oben: XFree86-Konfigurationsprogramm Ihrer LinuxDistribution.
In allen anderen Fällen bleibt nur die Möglichkeit, so genannte Beschleunigungen abzuschalten. Dazu müssen Sie die Konfigurationsdatei XF86Config ändern. Vorsicht! Diese Datei ist eine der wenigen, mit deren Änderung man sich Teile seiner Hardware grillen kann. Nach dem FHS 2.2 müssten Sie diese Datei unter /etc/X11/XF86Config finden, sie kann aber auch noch unter /etc/XF86Config sein. Wenn es hier mehrere Dateien dieser Art mit verschiedenen Suffixen, z.B. XF86Config-4 gibt, muss man die Sache noch etwas genauer betrachten: Experten fragen, außer bei *.bak, *.old, *.save, das sind Backups. Um diese Datei zu ändern brauchen Sie root-Rechte. Am besten zuerst selbst eine Sicherung erstellen: cp /etc/X11/XF86Config /etc/X11/XF86Config.bak oder entsprechend. Öffnen Sie dann die Originaldatei XF86Config mit dem Editor Ihrer Wahl und suchen Sie den Abschnitt Device. Im Prinzip muss zwischen Section "Device" und EndSection nur die Zeile Driver "i810" stehen, der Rest kann, muss aber nicht. Lassen Sie diesen Rest einfach, wie er ist:
Section "Device" BoardName "82810 CGC" BusID "0:1:0" Driver "i810" Identifier "Device[0]" VendorName "Intel" VideoRam 16384 Option "dpms" EndSection
Hier müssen Sie jetzt zusätzlich eine der folgenden Zeilen einfügen.
Option "NoAccel" Option "XaaNoOffscreenPixmaps" Option "XaaNoPixmapCache" Option "XaaNoScreenToScreenCopy"
NoAccel schaltet alle Beschleunigungen ab, ist also die Holzhammermethode. OffeneFrage bleibt vorerst, welche der anderen drei am wenigsten kostet, vielleicht kann jemand dazu noch etwas beitragen. Ihre Section "Device" könnte jetzt also so aussehen:
Section "Device" BoardName "82810 CGC" BusID "0:1:0" Driver "i810" Identifier "Device[0]" VendorName "Intel" VideoRam 16384 Option "dpms" Option "XaaNoOffscreenPixmaps" EndSection
Nochmals: Achten Sie darauf, dass dies die einzige Veränderung ist, die Sie vornehmen. Insbesondere HorizSync und VertRefresh in der Section "Monitor" dürfen nicht verändert werden, wenn Sie nicht genauestens wissen, was Sie tun.
So, Datei speichern, XServer neu starten, und die Sache müsste laufen. Wenn Ihr Monitor fiept oder flackert oder ähnliches, was aber nicht sein dürfte, wenn Sie sich an die vorstehenden Warnungen gehalten haben, killen Sie den Server sofort: Strg-Alt-Rückschritt oder engl. Tastatur: CTRL-Alt-Backspace. Stellen Sie in diesem Fall lieber die gesicherte Datei wieder her und suchen Sie sich einen Experten vor Ort.
-- Dirk Stöffler 2002-06-16 15:27:03 Dirk Stöffler
Alternative Lösung
Der besagte Bug kenne ich zwar nicht, aber bei störischen Notebooks, nehme ich einfach den VESA-Treiber und legen die Auflösung bereits im LILO fest, dann klappts immer! Ich denke, dass würde hier auch auf jeden Fall funktionieren.
Anm.: diese Seite enthält etwas zu viele nichtssagende Links -- ThomasWaldmann 2002-06-16 19:21:19
Ich verstehe nichtssagend doch richtig mit nicht verlinkt? Wenn ja, es sind schon wieder zwei weniger, No Gschtäd, sie soll ja schließlich wachsen, die Site. Wenn nein, kann ich "nichtssagend" angesichts des potentiellen Inhalts dieser Themen nicht ganz nachvollziehen.-- Dirk Stöffler 2002-06-16 19:54:05
Mit "nichtssagend" meinte ich Links zu Begriffen wie: Sicherung, Backup, Editor, Truecolor, etc. - es soll ja hier kein Lexikon der 10.000 Worte der "Computersprache" werden. Also bitte erst auf einem etwas höheren Niveau verlinken, sonst bläht das die Sache unnötig auf. -- ThomasWaldmann 2002-06-19 14:44:08
Ist dieser Bug mit XFree86 4.3.0 denn heute eigentlich noch aktuell? -- StephanRössig 2003-09-15 20:05:31
Das Problem besteht bei mir (auf IBM Netvista 6578-NCU mit i815 onboard) auch bei der Debian 3.1r2: die Grafikkarte zieht vertikale Streifen in gleichmässigen Abständen. Bei 75 Hz sind trotz gleicher Auflösung (1280x1024) sie breiter als bei 60 Hz. sowohl das Abschalten der Beschleunigungen und als auch die Änderung der Farbtiefe brachte keine Verbesserung.
Bug tritt auch mit Debian Etch und KDE 3.5.5 auf, Lösungsvorschläge zeigen keine Wirkung.