ATI Radeon Grafikkarten #

In meinem Sony Laptop (siehe LaptopLinux) ist eine Radeon Grafikkarte verbaut. Diese wurde von meinem Debian Linux ordungsgemäß erkannt. Allerdings habe ich immer mal wieder beim Abspielen von Filmen, die ein bisschen ruckelten, gedacht: Muss das denn sein auf einem extra als Fernseh-Ersatz beworbenen Gerät? Ausserdem möchte ich gerne einen zweiten Monitor anschliessen, um mehr Spass mit Eclipse zu bekommen. Also habe ich mich entschlossen, mir das Ding mal näher anzusehen.

Identifikation #

Mit lspci bzw. lspci -n ergibt sich:

  01:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3400 Series  
  01:00.0 0300: 1002:95c4

Daraus wird erstmal grundsätzlich klar, um was für ein Gerät es sich handelt bzw. welche PCI-ID es hat.

Ein Blick in /var/log/Xorg.0.log ergibt (u.a.) folgendes:

  (II) Loading extension XFree86-DRI
  (II) Matched radeon from file name radeon.ids in autoconfig
  (II) Matched radeonhd from file name radeonhd.ids in autoconfig
  (==) Matched radeon for the autoconfigured driver
  (==) Assigned the driver to the xf86ConfigLayout
  (II) LoadModule: "radeon"
  (II) Loading /usr/lib/xorg/modules/drivers//radeon_drv.so
  (II) Module radeon: vendor="X.Org Foundation"

Es gibt also offensichtlich einen radeon und einen radeonhd Treiber. Aus irgendeinem Grund hat der X-Server sich für den ersteren entschieden.

Da ich das so verstanden habe, daß die Anzeige von Videos auf DRI basiert, habe ich da auch mal nach gesehen:

  # xdriinfo
  Xlib:  extension "XFree86-DRI" missing on display ":0.0".
  Screen 0: not direct rendering capable.

Daher könnten meine ruckeligen und schlecht skalierbaren Videos kommen (ohne, daß ich bwhaupten will, ich hätte dass wirklich verstanden).

Links zusammentragen #

Zum Thema XRandR gibt es noch mehr:

mögliche Treiber #

Mir geht es um das Ansehen von Videos. Wie nennt man das? Ist das DRI? Ich glaube ja. Außerdem geht es mir um mehrere Monitore. Beides wird offensichtlich vom proprietären fglrx-Treiber unterstützt. Andererseits ist der radeonhd ganz frei und damit natürlichviel politisch korrekter. Im übrigen zeigt meine Erfahrung, daß proprietärer Code in Debian oft Ärger macht, wenn man z.B. mal den Kernel wechselt oder sonst irgendwie herumbastelt.

Mein erster Versuch war, den radenonhd-Treiber zu benutzen. Allerdings unterstützt dieser in der Version, die bei Debian Lenny dabei ist, offensichtlich nicht die neueren Autokonfigurationsmethoden (ich rate mal, kein RandR). Das führte dazu, daß ich mit meiner xorg.conf, in der eigentlich überhaupt nichts konfiguriert ist, nicht weit gekommen bin.

Ich benutze öfters das KDE-Miniprogramm zum Umschalten der Bildschirmauflösung. Dieses zeigte mir bisher automatisch alle möglichen Auflösungen an. Auf diesen Luxus wollte ich nur ungern verzichten, auch hatte ich vorerst keine Lust, alle Bildschirmmodi von Hand in der xorg.conf einzugeben. Dies insbesondere, da ja mein Ziel ist, einen zweiten Monitor anzuschliessen. Da dies an verschiedenen Arbeitsplätzen immer auch verschiedene Geräte sein können, wäre es schon besser, wenn deren Auflösung automatisch konfiguriert würde. :-(

Also den proprietären fglrx-Treiber ausprobiert. Das entsprechende Debian-Paket forderte mich jedoch auf, meinen Kernel zu downgraden. Da fiel mir ein, daß ich einen Kernel aus "Testing" benutze, damit mein WLAN funktioniert. Da solche Kernel-Abhängigkeiten genau das sind, weshalb ich proprietäre Treiber hasse, war ich nicht glücklich. :-(

Nach ein bisschen Lesen habe ich festgestellt, daß der radeonhd-Treiber eigentlich können sollte, was ich brauche. Also habe ich kurzerhand mein ganzes System auf Debian Squeeze geupgradet. Das das den Umstieg von KDE3 auf KDE4 bedeuten würde, war mir in dem Moment zwar nicht so klar, aber nach einigen Kämpfen lief mein aktualisiertes System (irgendwann wäre das ja eh fällig gewesen...).

Und siehe da: Ich habe den radeonhd-Treinber in die xorg.conf eingetragen und dieser lief sofort. Mit xrandr habe ich dann auch Informationen über alle angeschlossenen Bildschirme erhalten. Ich war da, wo ich hinwollte.

Konfiguration #

Die einzige Einstellung in der xorg.conf, die nötig ist, ist das "Virtual", um den maximalen Framebuffer einzustellen. Dessen Größe ist normalerweise auf 2048x2048 eingestellt, was mit zwei Bildschirmen nebeneinander schnell übertroffen werden kann.

Mit dem Konmandozeilentool xrandr kann man nun alle Aspekte des Dual Mode ansehen und einstellen. Da hatte ich gedacht, ich hätte es geschafft...

Nun hätte ich aber gerne gehabt, daß sich das Ding von alleine bzw. über das KRandR-Miniprogramm in der Kontrolleiste konfigurieren lässt. Leider habe ich das nicht hinbekommen. Wenn ich in der xorg.conf Xinerama einschalte oder mehrere Monitore mit "rightof" einstelle, bekomme ich einen Segmentation Fault. :-(

Auf der Thinkwiki-Seite über RandR ist ein Skript, das beim Start des X-Servers alle xrandr-Einstellungen richtig einstellt. Soweit so gut. Leider führt das dazu, daß ich beim Login ein geklontes Display habe (ist beim Login ja vielleicht auch sinnvoll), dann (wohl durch das Skript) beim hochfahren zwei verschiedene Screens aufgehen. In diesen werden dann auch zwei unterschiedliche (von mir per KDE eingestellte) Hintergrundbilder angezeigt. Während sich dann der Desktop aufbaut (so ca. 1-2 Sekunden später) verschwindet der eine Screen dann wieder und ich bekomme wieder einen geklonten Bildschirm. Für mich heisst das, daß KDE4 die Einstellung des Skripts wieder überschreibt.

Der Versuch, dann eben mit KDE4 alles richtig einzustellen, misslang, weil im entsprechenden Dialog für den Multi-Monitor-Mode lapidar ausgegeben wird, daß mein Rechner dafür ja wohl nicht eingestellt wäre. Auf der anderen Seite kann ich dort sehr wohl für beide Monitore die Auflösung angeben (aber eben nur für eine geklonte Ausgabe...). :-(

Die Lösung, die ich dann genommen habe, ist ein Button, der den Befehl

  xrandr --output VGA_1 --auto --right-of PANEL

startet. Diesen drücke ich dann von Hand, wenn ich einen Monitor angeschlossen habe. Wer weiss, wie man das mit KDE einstellen kann, möge sich bitte bei mir melden. -- ThomasBayen


Tags:  X11

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-3) was last changed on 24-Oct-2009 18:55 by ThomasBayen