Gentoo Linux auf Thinkpad W540

Nach acht Jahren ist mein T430 nun so abgenutzt, dass ich mir bei Refurbed ein gebrauchtes Thinkpad W540 gekauft habe. Bestellt hatte ich eigentlich ein T540p, bekommen nun aber jenes W540, was mir auch recht ist.

Warum genau dieses Modell? 15 Zoll sollten es sein, weil ich das Notebook im Wesentlichen am Schreibtisch benutze, da ist ein größeres Gerät & vor allem Display angenehmer zum Arbeiten. Und das T540p respektive W540 ist das letzte Modell, das noch ein optisches Laufwerk hat.

Auf das neue Thinkpad habe ich meine Gentoo-Installation im Wesentlichen einfach übernommen, indem ich die SSD dort eingebaut habe. Einige Feinarbeit brauchte es natürlich dennoch, um alles zu meiner Zufriedenheit zum Laufen zu bringen. Dabei habe ich mich zunächst am Lenovo Thinkpad W540-Artikel im Gentoo-Wiki orientiert, der allerdings unvollständig ist. Im Einzelnen:

Lesbare Schrift trotz hoher Auflösung

Der Intel-Grafiktreiber unterstützt die integrierte Intel HD-Grafik zwar ohne weitere Änderungen, durch die extrem hohe Auflösung des W540 musste ich allerdings erst mal meine Augen zusammenkneifen, um überhaupt noch etwas lesen zu können. Den richtigen Hebel, um das zu ändern, fand ich schließlich im Artikel HOWTO set DPI in Xorg. Den dortigen Hinweis

A DPI setting based on 96 may produce less artifacts in those applications who do care about the X DPI setting. You may want to use 96, 120 (25% higher), 144 (50% higher), 168 (75% higher), 192 (100% higher) if any of those values are close to your DPI.

habe ich beherzigt und erst mal 144 DPI ausprobiert – damit war mir die Schrift dann aber doch zu groß. 120 DPI passt genau für mich.

Da ich LXDE als Desktop-Umgebung benutze und dazu LXDM als Displaymanager, ist die Stelle für den Parameter für Xorg in meinem Fall die Datei /etc/lxdm/lxdm.conf:

[server]
arg=/usr/bin/X -dpi 120

In die $HOME/.Xresources habe ich entsprechend die Zeile

Xft.dpi: 120

eingefügt.

Damit war das Gerät fürs erste einigermaßen benutzbar, allerdings auch nur durch meine zusätzliche USB-Tastatur sowie -Trackball. Doch zu den Eingabegeräten später mehr.

Sound: snd-hda-intel in der richtigen Reihenfolge

Die nächste Hürde war nämlich, dass der Sound nicht so richtig wollte. VLC konnte direkt Sound ausgeben, die meisten anderen Programme scheiterten aber daran, dass ALSA als erste Soundkarte den HDMI-Ausgang von snd-hda-intel eingestellt hatte, den eigentlichen PCH-Soundchip erst als zweite Soundkarte. Nach langem Suchen fand ich schließlich im Artikel Matrix:Module-hda-intel im ALSA-Wiki den entscheidenden Hinweis. Mit folgenden Einträgen in der /etc/modprobe.d/alsa.conf konnte ich die Reihenfolge erfolgreich umdrehen:

options snd-hda-intel id=PCH index=0
options snd-hda-intel id=HDMI index=1

Eingabegeräte: die Fn-Taste und das @!#*$ Synaptics Touchpad

Was mich bei der integrierten Thinkpad-Tastatur zunächst genervt hatte, ist, dass die Funktionstasten dort nur über die gedrückte “Fn”-Taste erreichbar sind. Das erwies sich im Midnight Commander als die Hölle, denn wenn ich dort auf der Konsole die Fn-Taste drücke, scrollt er nach unten. So kann man natürlich keine Dateien kopieren, wenn der Fokus ständig wandert, bis man endlich auf F5 gedrückt hat. Da war der Eintrag bei Ask Ubuntu hilfreich, der folgenden Tipp enthält:

The Fn key can be locked (indicated by the green LED on the key) by hitting Fn+Esc keys at the same time. Then the function keys will act as if the Fn key is pressed.

Unter X scheint es aber problemlos zu funktionieren.

Anders sieht es mit dem Synaptics-Touchpad aus, dafür muss man nämlich verschiedenste Kernel-Optionen, die an unterschiedlichen Stellen versteckt sind, aktivieren, damit es endlich funktioniert. Das hat mich etliche Reboots gekostet, bis ich die Optionen endlich alle zusammenhatte. Es handelt sich um folgende Optionen im Bereich “Device Drivers” (die grundsätzlichen Maus-Optionen lasse ich mal weg):

  • Input device support
    • Synaptics RMI4 bus support (CONFIG_RMI4_CORE) – habe ich als Modul gebaut
    • RMI4 I2C Support (CONFIG_RMI4_I2C)
    • RMI4 SMB Support (CONFIG_RMI4_SMB)
    • RMI4 Function 03 (PS2 Guest) (CONFIG_RMI4_F03) – das aktiviert den Trackpoint
    • RMI4 Function 11 (2D pointing) (CONFIG_RMI4_F11)
    • RMI4 Function 12 (2D pointing) (CONFIG_RMI4_F12)
    • RMI4 Function 30 (GPIO LED) (CONFIG_RMI4_F30)

Die letzten 3 Optionen werden automatisch gesetzt, wenn man aus dem Bereich “HID Support” bei den “Special HID drivers” die Option Synaptics RMI4 device support (CONFIG_HID_RMI) aktiviert (das habe ich ebenfalls als Modul getan). Zusätzlich habe ich aus dem gleichen Bereich noch die Lenovo / Thinkpad devices (CONFIG_HID_LENOVO) ebenfalls als Modul aktiviert.

Ich bin mir nicht sicher, ob es wirklich alle genannten Optionen braucht, mit ihnen funktioniert es jedenfalls zu guter Letzt.

Die zweite GPU von NVidia

Das W540 unterscheidet sich vom T540p auch dadurch, dass eine zweite dedizierte GPU von NVidia drinsteckt. Die liegt im Moment noch brach, weil ich sie für den täglichen Gebrauch nicht benötige. Allerdings steckt da natürlich einiges an Rechenleistung drin, die sich bei Bedarf schon gut nutzen ließe. Damit beschäftige ich mich aber ein andermal und ergänze das dann hier.