Schlagwort-Archive: xorg.conf

RandR

Mein HP Elitebook 8460p kam leider mit einer AMD Grafikkarte und nicht wie bestellt mit einer von Intel. Die macht Probleme mit einigen Beamern. Trotzdem wollte ich nicht die proprietären AMD Treiber an Bord holen, sondern bei radeon bleiben. Tricks über die xorg.conf (wie hier für die proprietären Nvidia Treiber beschrieben) mit

Option  “ModeValidation” “AllowNonEdidModes”

oder verwandten Lösungen fielen somit erst einmal aus. Ich wollte eine Lösung mit randr und die scheint wie folgt zu gehen:

Einloggen und warten, bis der Desktop bereit ist. Dann den Beamer anstecken und dabei nachsehen, was er überhaupt an Auflösungen zu unterstützen behauptet:

sudo tail -f /var/log/Xorg.0.log

Da tauchen dann eine Reihe von Modelines auf, die nativ unterstützt werden – z.B.:

[   250.087] (II) RADEON(0): EDID vendor "BNQ", prod id 34305
[   250.087] (II) RADEON(0): DDCModeFromDetailedTiming: 1280x768 Warning: We only handle separate sync.
[   250.087] (II) RADEON(0): Printing DDC gathered Modelines:
[   250.087] (II) RADEON(0): Modeline "1280x800"x0.0   83.46  1280 1352 1480 1680  800 803 809 831 -hsync -vsync (49.7 kHz eP)
[   250.088] (II) RADEON(0): Modeline "1280x768"x0.0   68.25  1280 1328 1360 1440  768 771 778 790 -hsync -vsync (47.4 kHz e)
[   250.088] (II) RADEON(0): Modeline "800x600"x0.0   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz e)
[   250.088] (II) RADEON(0): Modeline "640x480"x0.0   31.50  640 656 720 840  480 481 484 500 -hsync -vsync (37.5 kHz e)
[   250.088] (II) RADEON(0): Modeline "640x480"x0.0   31.50  640 664 704 832  480 489 492 520 -hsync -vsync (37.9 kHz e)
[   250.088] (II) RADEON(0): Modeline "640x480"x0.0   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz e)
[   250.088] (II) RADEON(0): Modeline "720x400"x0.0   28.32  720 738 846 900  400 412 414 449 -hsync +vsync (31.5 kHz e)
[   250.088] (II) RADEON(0): Modeline "1024x768"x0.0   78.75  1024 1040 1136 1312  768 769 772 800 +hsync +vsync (60.0 kHz e)
[   250.088] (II) RADEON(0): Modeline "1024x768"x0.0   75.00  1024 1048 1184 1328  768 771 777 806 -hsync -vsync (56.5 kHz e)
[   250.088] (II) RADEON(0): Modeline "1024x768"x0.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz e)
[   250.088] (II) RADEON(0): Modeline "800x600"x0.0   49.50  800 816 896 1056  600 601 604 625 +hsync +vsync (46.9 kHz e)
[   250.088] (II) RADEON(0): Modeline "800x600"x0.0   50.00  800 856 976 1040  600 637 643 666 +hsync +vsync (48.1 kHz e)
[   250.088] (II) RADEON(0): Modeline "640x480"x0.0   36.00  640 696 752 832  480 481 484 509 -hsync -vsync (43.3 kHz e)
[   250.088] (II) RADEON(0): Modeline "800x600"x0.0   56.25  800 832 896 1048  600 601 604 631 +hsync +vsync (53.7 kHz e)
[   250.088] (II) RADEON(0): Modeline "1024x768"x0.0   94.50  1024 1072 1168 1376  768 769 772 808 +hsync +vsync (68.7 kHz e)
[   250.088] (II) RADEON(0): Modeline "1280x1024"x0.0  108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync (64.0 kHz e)

Eigentlich kann der olle BenQ demnach nur 1280×1024. Sagt er. Es geht aber mehr. Mein Laptop hat 1600×900 – und die will ich auch auf dem Beamer. Somit: Modeline für die auf dem Laptop vorhandene Bildschirmauflösung bestimmen:

gtf 1600 900 59.9

Die Antwort von gtf:

# 1600x900 @ 59.90 Hz (GTF) hsync: 55.83 kHz; pclk: 118.80 MHz
  Modeline "1600x900_59.90"  118.80  1600 1696 1864 2128  900 901 904 932  -HSync +Vsync

Die Modeling wird randr bekannt gegeben:

xrandr --newmode "1600x900_59.90"  118.80  1600 1696 1864 2128  900 901 904 932  -HSync +Vsync 
xrandr --addmode VGA-0 1600x900_59.90

Jetzt kann auch Kubuntu 14.04 den Beamer richtig ansprechen: Der entsprechende Dialog in den Systemeinstellungen (evtl. muss man das Paket kde-workspace-randr nachinstallieren) enthält die gewünschte Auflösung.

Größe & Ausrichtung – Systemeinstellungen_001

Diese lässt sich auch tatsächlich nutzen:

Größe & Ausrichtung – Systemeinstellungen_001

Der BenQ mault dann zwar kurz, dass er bessere Ergebnisse mit anderen Auflösungen erzielen könne, aber das Fensterchen ist bald verschwunden.

Klar wird hierdurch das Bild auf dem Beamer etwas matschig, weil er es skalieren muss. Aber das ist mir lieber, als selbst vor einem Laptop zu hocken, der nicht seine native Auflösung auf dem Bildschirm hat und deswegen MIR den Matsch zeigt.

Und: Es funktioniert auch mit einem NEC Beamer nicht anders, der nativ besser mit 1600×1200 betrieben würde und eine Auflösung von 1600×900 nicht in seinen EDID Informationen mit sich führt. Meine beiden Beamer tun also – jetzt teste ich mal noch in der LAK …

Ratte 3

L1070024

Lewin hat sich zu Weihnachten eine Madcatz Mad Catz R.A.T.3 Mouse besorgt. Die wollte aber an seinem Rechner nicht funktionieren. Je nachdem, wann man sie einsteckte, funktionierte sie zuerst wie jede andere Maus auch – dann aber bald überhaupt nicht mehr. Zickig war vor allem die linke Maustaste.

Eine Recherche im Netz brachte immer wieder den Tipp, in die xorg.conf Einträge zu dieser Maus vorzunehmen [1, 2]. Das ist im Prinzip auch richtig, passt aber auf Lewins Rechner nicht, weil er Dank proprietärem Nvidia-Treiber schon eine ausgewachsene /etc/X11/xorg.conf hat, die bei den vorgeschlagenen Erweiterungen den X-Server am Start hindern. Copy and Paste nach Online-Anleitung half ihm demnach nicht weiter.

Das folgende Vorgehen brachte die Maus zu Laufen und X wurde nicht behindert: Mit xinput wird der exakte Name der Maus ausgelesen, damit die MatchProduct Zeile (siehe unten) später funktioniert:

dirk@lewin:~$ xinput
? Virtual core pointer                          id=2    [master pointer  (3)]
?   ? Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
?   ? Madcatz Mad Catz R.A.T.3 Mouse            id=11   [slave  pointer  (2)]
?   ? AlpsPS/2 ALPS DualPoint TouchPad          id=13   [slave  pointer  (2)]
?   ? DualPoint Stick                           id=14   [slave  pointer  (2)]
? Virtual core keyboard                         id=3    [master keyboard (2)]
    ? Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ? Power Button                              id=6    [slave  keyboard (3)]
    ? Video Bus                                 id=7    [slave  keyboard (3)]
    ? Power Button                              id=8    [slave  keyboard (3)]
    ? Sleep Button                              id=9    [slave  keyboard (3)]
    ? Laptop_Integrated_Webcam_3M               id=10   [slave  keyboard (3)]
    ? AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]
    ? Dell WMI hotkeys                          id=15   [slave  keyboard (3)]

Unter Kubuntu 14.04 wird sodann die Datei /usr/share/X11/xorg.conf.d/50-vmmouse.conf überarbeitet:

#Section "InputClass"
#       Identifier      "vmmouse"
#       MatchIsPointer  "on"
#       MatchTag        "vmmouse"
#       Driver          "vmmouse"
#EndSection
Section "InputClass"
        Identifier "Mouse Remap"
        MatchProduct "Madcatz Mad Catz R.A.T.3 Mouse"
        MatchDevicePath "/dev/input/event*"
        Option "ButtonMapping" "1 2 3 4 5 6 7 8 9 0 0 0 0 0 0"
EndSection

Die /etc/X11/xorg.conf bleibt demnach unangetastet.

Den Rechner einmal neu gebootet (evtl. reicht auch ein Neustart des X-Servers), eingeloggt, erst dann die Maus angesteckt, damit X eine Chance hat, den event zu registrieren, und sie funktioniert.

Wozu Lewin 14 Tasten auf ner Maus benötigt? Ich weiß es nicht. Ist aber sein Problem.

EDID und nvidia-settings

modevalidation

Ich hatte in Erinnerung, dass mein Beamer NC VT580 die Auflösung meines Laptops mit 1440×900 Pixeln eine Zeit lang hatte darstellen können. Irgendwo auf der Strecke hat er das aber vergessen. Auch nvidia-settings zeigte diese nicht mehr an … bis heute.

Die Lösung ist recht simpel. Die /etc/X11/xorg.conf sieht bei mir nun so aus:

Section „Device“
Identifier      „Default Device“
Option  „NoLogo“        „True“
Option  „ModeValidation“ „AllowNonEdidModes“
EndSection

Mehr steht da nicht.

Die entscheidende Zeile hierbei ist die Option „ModeValidation“. Schaltet man nämlich die EDID-Vorgaben des Beamers im Treiber ab, dann kann der Beamer wieder alles, was er wirklich kann, und nicht nur das, was der NV-Treiber gerade aus der EDID annimmt. (via)