(X)Ubuntu Hardy Heron auf HP 2710p Tablet-PC

Der 2710p ist Hewlett Packards Neudesign eines Tablet-PCs mit Intel-Architektur, auf dem das Centrino-Pro-Logo prangt (und ein Vista-Sticker, aber das lassen wir hier mal beiseite). Installiert wird ein Xubuntu – wie Ubuntu, aber mit dem von mir präferierten XFCE-Desktop – der aktuellen Generation 8.04 “Hardy Heron”, und zwar in der 64-Bit-Version, um in den Genuss der vollen installierten 4 MB RAM zu kommen. Bis auf wenige (behebbare) Probleme läüft die gewöhnliche Notebook-Funktionalität out of the box, und etwas Tablet-Feeling kann man auch unter Linux erzeugen.

Installation: Zum Einsatz kam die Alternate-Install-CD. Caveat: Beim Start den Framebuffer abschalten – F6, dann Cheatcode

fb=false

hinzufügen -, sonst bleibt die Installation nach wenigen Sekunden hängen und der Bildschirm dunkel.

Chipsatz: Der Intel Chipsatz (ICH8, Centrino-Pro-Logo) mit On-Board-Grafik (GM965), WLAN-Modul (4965 AG, HP verbaut dummerweise die Variante ohne N-Draft) und Gigabit-Ethernet (82566MM) wird unter Linux inzwischen gut unterstützt.

Sound: Der On-Board-Sound funktioniert mit dem HD-Audio-Treiber, aber – wie zahlreiche verzweifelte Forum-Posts und auf Launchpad aufgemachte Bugs bestätigen – manchmal nur teilweise oder auch gar nicht. Bei mir gab’s immerhin sofort etwas zu hören, dafür streikte das Mikrofon. Ein Kernel-Update sorgte für neue Probleme … Alles in allem sehr undurchsichtig. Deshalb hier meine Top-3-Maßnahmen, die alleine oder zusammmen irgendwie zum Erfolg führen sollten.

Maßnahme 1 – die einfachste Variante: Im Terminal alsamixer aufrufen und schauen, ob die einzelnen Kanäle überhaupt aktiv sind. Die Taste M (wie Mute) toggelt in der Playback-Ansicht zwischen Stumm- und Aktivschaltung. Den gewünschten Kanal steuert man mit der Pfeil-Rechts- oder -Links-Taste an. Mit TAB geht es weiter zu Capture-Ansicht. Beim 2710p bleibt das Mikro so lange stumm, wie man nicht mit der Leertaste den Kanal Capture aktiviert – dann erscheint unter dem Regler in roten Buchstaben der Schriftzug L R CAPTUR.

Maßnahme 2: Die Konfigurationsdatei /etc/modprobe.d/alsa-base am Ende um die Zeile

options snd-hda-intel model=auto

ergänzen und ALSA oder den Rechner neu starten.

Maßnahme 3: Wenn der alsamixer gar nicht starten mag oder Regler nicht anwählbar sind, hilft  vielleicht die harte Variante, ALSA noch einmal zu kompilieren. Das bringt den kleinen HP jedenfalls für ein paar Minuten so richtig auf Hochtouren:

ego@2710p:~$ sudo apt-get install module-assistant
ego@2710p:~$ sudo m-a update
ego@2710p:~$ sudo m-a prepare
ego@2710p:~$ sudo m-a a-i alsa
ego@2710p:~$ sudo alsa force-unload
ego@2710p:~$ sudo depmod -ae
ego@2710p:~$ sudo modprobe snd-hda-intel

Webcam: Die HP-Webcam wird vom UVC-Treiber unterstützt und funktioniert – getestet mit Skype.

Buttons: Ohne weitere Tricks stehen in Ubuntu die Folientasten für Lautstärkeregelung und Muting sowie die Funktionstasten für Suspend, Batteriestand und Helligkeit zur Verfügung. Auch der seitlich angebrachte Schiebeschalter für die (De-)Aktivierung von WLAN und Bluetooth tut auf Anbieb, was er soll. Neben dem Lautstärke-Feld hat der HP zudem eine “Präsentationstaste”, um die ich mich noch nicht gekümmert habe.

Wacom-Tablet: Wie die meisten Tablet-PCs hat der HP2710p ein seriell angebundenes Wacom-Tablet eingebaut. Man sollte deshalb seine XServer-Konfigurationsdatei nicht mit Anweisungen für USB-Tablets zumüllen und das dann als Stein der Weisen verkaufen. Wie es richtig geht, steht beim Linux-Wacom-Projekt, wo die notwendigen Ergänzungen der xorg.conf für InputDevices und ServerLayout dargestellt werden.

Für die Praxis poste ich hier ohne weitere Erklärungen meine xorg.conf, die vermutlich auch auf anderen Tablet-PCs wie dem Thinkpad X60t/X61t funktioniert, da moderne Versionen von Xorg die Grafik-Hardware auch ohne spezielle Konfigurationsanweisungen erkennen.

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "de"
Option "XkbOptions" "lv3:ralt_switch"
EndSection

Section “InputDevice”
Identifier “Configured Mouse”
Driver “mouse”
Option “CorePointer”
EndSection

Section “InputDevice”
Identifier “Synaptics Touchpad”
Driver “synaptics”
Option “SendCoreEvents” “true”
Option “Device” “/dev/psaux”
Option “Protocol” “auto-dev”
Option “HorizEdgeScroll” “0”
EndSection

Section “InputDevice”
Driver “wacom”
Identifier “stylus”
Option “Device” “/dev/ttyS0” # SERIAL ONLY
Option “Type” “stylus”
Option “ForceDevice” “ISDV4” # Tablet PC ONLY
EndSection

Section “InputDevice”
Driver “wacom”
Identifier “eraser”
Option “Device” “/dev/ttyS0” # SERIAL ONLY
Option “Type” “eraser”
Option “ForceDevice” “ISDV4” # Tablet PC ONLY
EndSection

Section “Device”
Identifier “Configured Video Device”
EndSection

Section “Monitor”
Identifier “Configured Monitor”
EndSection

Section “Screen”
Identifier “Default Screen”
Monitor “Configured Monitor”
Device “Configured Video Device”
SubSection “Display”
Virtual 2560 1280
EndSubSection
EndSection

Section “ServerLayout”
Identifier “Default Layout”
Screen “Default Screen”
InputDevice “Synaptics Touchpad”
InputDevice “stylus” “SendCoreEvents”
InputDevice “eraser” “SendCoreEvents”
EndSection

Lediglich die drei Zeilen SubSection "Display" ... EndSubSection sollten angepasst oder ganz gestrichen werden, je nachdem, ob man einen virtuellen Desktop über den Notebook-Bildschirm und einen externen Monitor spannen will oder nicht. In meinem Fall hat der externe Monitor eine SXGA-Auflösung von 1280*1024 Pixeln. Da der HP 2710p ein WXGA-Panel mit 1280*800 Pixeln besitzt, lautet die Formel hier: 1280+1280 (beide Display-Breiten addieren) für die Horizontale und 1280 (die größte Display-Höhe, das sind 1280 Pixel, wenn das Laptop-Display nämlich in den Portrait-Modus rotiert wird) für die Vertikale.

Bildschirm-Rotation: Auch dies ist dank des verbesserten Xorg keine Wissenschaft mehr. Mit dem Kommando xrandr lässt sich der Bildschirm ganz ohne X-Server-Neustart rotieren. Im Tablet-Mode genügt das xrandr-Kommando alleine aber noch nicht. Die neue Bildschirm-Orientierung muss mit xsetwacom auch der Tablet-Digitizer erfahren, sonst herrscht verkehrte Welt. Das folgende Mini-Skript dreht den Bildschirm entweder um 90 Grad nach rechts (CW wie clockwise) in den Portrait-Modus oder wieder zurück ins Querformat.

#!/bin/sh
if [ -n "$(xrandr | grep 800x1280)" ]; then
xrandr -o normal
xsetwacom set "stylus" Rotate NONE
xsetwacom set "eraser" Rotate NONE

else
xrandr -o left
xsetwacom set “stylus” Rotate CCW
xsetwacom set “eraser” Rotate CCW
fi

Wer das weiter automatisieren will, findet hier ein für den HP 2710p angepasstes Rotate-Skript.

Suspend/Hibernate: Beides funktioniert, wenn auch hakelig. Der kurze Pausenschlaf per Suspend-to-RAM lässt sich ohne Mucken in die Wege leiten. Beim Aufwachen gibt es dann allerdings eine Fehlermeldung (offenbar dieser Ubuntu-Bug), bevor der Rechner wieder da ist. Beim Herunterfahren im Hibernation-Modus produziert uvcvideo mehrere Fehlermeldungen. Letztlich legt sich der HP aber schlafen und kommt nach erneutem Einschalten irgendwie auch wieder hoch.

Kernel Panic beim Zuklappen des Bildschirmdeckels: Klappe zu, Affe tot. Die Lösung steht in den englischsprachigen Ubuntuforums: Beim Systemstart lässt man den Befehl

echo "1" > /proc/acpi/video/C09A/DOS

ausführen. Um das zu automatisieren, fügt man diese Zeile in die beim Systemstart nach allen anderen Startscripten ausgeführte Batch-Datei /etc/rc.local ein, und zwar VOR der Zeile exit 0, die immer am Ende stehen muss, um einen fehlerfreien Ausstieg zu signalisieren.

Fingerabdruck: HP benutzt in diesem (und in anderen Notebooks) Hardware von Authentec, für die eine Treiber existiert. Diesen (und andere) Fingerprint-Reader unterstützen die Fprint-Pakete von Madman, dessen Repository zuerst in /etc/apt/sources.lst mit der Zeile

deb http://ppa.launchpad.net/madman2k/ubuntu hardy main restricted universe multiverse

hinzugefügt werden muss. Alles zusammen in einem Rutsch installiert dann

$ sudo apt-get install aes2501-wy libpam-fprint fprint-demo libfrint0

Tablet-PC-Utilities:
Cellwriter – endlich ein Programm für die buchstabenweise Handschriftenerkennung in Linux. Ersetzt auch die nachfolgend genannten Anwendungen für Bildschirmtastaturen.

sudo apt-get install cellwriter

xvkbd – Bewährte Bildschirm-Tastatur, der Entwickler arbeitet im Rahmen des finanziell von Nokia unterstützten Matchbox-Desktops für UMPCs und Web-Tablets an einem Nachfolger (Matchbox Keyboard), der zudem von einer Zeichen- und Schrifterkennungs-Anwendung auf Basis von Xstroke flankiert wird.

$ sudo apt-get install xvkbd

onBoard – noch ein virtuelles Keyboard, neuer und schicker als xvkbd; Ubuntu-Projekt für Gnome.

$ sudo apt-get install onboard

Xournal – Notiz- und Skizzenblock, der auch handschriftliche Anmerkungen in PDF-Dokumenten erlaubt.

apt-get install xournal

Grab and Drag – Firefox-Erweiterung für das Srollen mit Hand-Cursor und Gesten-Steurerung

Weitere Links zu Linux-Installationsberichten auf dem HP 2710p:

Gentoo Linux Wiki (auf Gentoo)
LinuxWiki (auf Kubuntu Gutsy)
Free Like Gnu (auf Ubuntu Hardy)