Grafiktablett Perixx Peritab-301 unter OpenSuSE 11.2

Malen auf 'nem 12"-Tablet macht total Spass - danke an der Stelle an Tobias ;)
Die Einrichtung war - linux-typisch - recht holprig. Das Gerät wird zwar via Hotplug erkannt, der Mauszeiger lässt sich auch bewegen. Aber klicken und malen ging nicht. Zumindest meine - nicht mehr ganz aktuelle - Distribution erkannte es als generische Maus. Es fehlte also der konkrete Treiber. Wenn man jetzt anfängt, ganz allgemein nach "tablet linux" zu googlen, wird man durch die vielen Treffer in Foren und Anleitungen schnell in die Irre geführt und probiert dann ziellos rum.
Daher: Erstmal rausfinden, welche Hardware sich in dem Gerät tatsächlich befindet. Ein "lsusb" liefert
Bus 003 Device 007: ID 172f:0034 Waltop International Corp.
Aha, es ist also ein umgelabeltes Tablet von Waltop, Vendor-ID "172f", Product-ID "0034". Damit lässt sich schon besser suchen. Der Hersteller bietet sogar Linux-Treiber zum Download an. Allerdings ist das ein ziemlich wild zusammengewürfelter Haufen Code. Der im Readme noch dazu verlangt, den kompletten Kernel zu compilieren. Quatsch. Ich schaue mir den Inhalt des Archivs genauer an und stelle fest, dass es im Wesentlichen eine gepatchte Version von Linux Wacom ist. Das ist der Quasi-Standard-Treiber für Tablets unter Linux. Er unterstützt die meisten am Markt befindlichen Geräte. In irgendeiner Mailingliste finde ich dann noch den Hinweis, dass Waltop die eigenen Modifikationen wohl inzwischen an das Linux-Wacom-Projekt übergeben hat. Die bei OpenSuSE 11.2 mitgelieferte Version (0.8.3) enthält diese Patches noch nicht.

Dann compiliere ich mir den aktuellen linux-wacom-Kram einfach selbst. Die pflegen derzeit zwei Branches - 0.8.x für X-Server < 1.7 und 0.10.x für X-Server >= 1.7. Ich lade mit die 0.8.8 herunter. Zum Compilieren sind einige devel-Pakete nötig - u.a. "tk-devel, xorg-x11-server-sdk, kernel-source" - und sicher noch ein paar weitere, die ich aber schon installiert hatte. Vorher installiere ich schnell noch die bei SuSE mitgelieferten Pakete "x11-input-wacom-tools" und "x11-input-wacom" (warum, erkläre ich später). Ich packe linuxwacom-0.8.x.tar.bz2 aus, wechsle in das Verzeichnis und compiliere es mit:
./configure --prefix=/usr --with-x --enable-wacom \
  --enable-wacomdrv --enable-quirk-tablet-rescale
make
sudo make install

"--prefix=/usr" bewirkt, dass beim Installieren die Dateien aus den beiden "x11-input-wacom"-Paketen von SuSE gegen meine neuen ersetzt werden. Das Kernel-Modul wird von "make install" nicht automatisch installiert. Ich kopiere es also manuell. Verwirrenderweise wird es in "src/2.6.30/wacom.ko" erzeugt, obwohl ich Kernel 2.6.31 verwende. Die Build-Scripts sind da wohl nicht ganz aktuell. Egal, es ließ sich compilieren, also muss es auch funktionieren. Ich kopiere "wacom.ko" nach /lib/modules/$version/kernel/drivers/input/tablet" und führe als Root noch ein "depmod -a" aus, um die Treiber-Map ohne Reboot zu aktualisieren. Ein "modprobe wacom" sollte den Treiber jetzt fehlerfrei laden.

Was jetzt noch fehlt, ist die Konfiguration des X-Servers. Die befindet sich bei OpenSuSE in /etc/X11/xorg.conf. In der Section "ServerLayout" füge ich folgende Zeilen hinzu:
InputDevice  "stylus"  "SendCoreEvents"
InputDevice  "eraser"  "SendCoreEvents"
und hänge am Ende der Datei noch die Konfigurationen für die beiden Devices an:
Section "InputDevice"
  Driver     "wacom"
  Identifier "stylus"
  Option     "Device" "/dev/input/tablet-perixx"
  Option     "Type"   "stylus"
  Option     "USB"    "on"
EndSection

Section "InputDevice"
  Driver     "wacom"
  Identifier "eraser"
  Option     "Device" "/dev/input/tablet-perixx"
  Option     "Type"   "eraser"
  Option     "USB"    "on"
EndSection
In den meisten Anleitungen wird als Device "/dev/input/event${nr}" angegeben. Das finde ich aber etwas unglücklich, weil das generische Device-Bezeichner sind, die sich auch mal ändern können, wenn man Maus und Tablet in unterschiedlicher Reihenfolge angestöpselt werden. Und jetzt komme ich zu dem Grund, warum ich die beiden SuSE-Pakete vorher installiert hatte. Die legen u.a. die Datei /etc/udev/rules.d/60-wacom.rules" an. Dort drin finden sich Sonder-Regeln, die beim Hotplugging der Hardware berücksichtigt werden sollen. Und genau in der füge ich eine eigene Regel hinzu, die bewirkt, dass für genau mein Tablet (mit Vendor/Product 172f/0034) die Device-Datei "/dev/input/tablet-perixx" erstellt wird, wenn ich es anschließe. Somit kann ich sicherstellen, dass sich der Pfad nicht ändert - egal in welcher Lade-Reihenfolge:
ATTRS{idVendor}=="172f", ATTRS{idProduct}=="0034", SYMLINK+="input/tablet-perixx"
Ein "/etc/init.d/boot.udev reload" lädt die Regeln neu. Tablet abziehen und wieder anstecken. Im Verzeichnis "/dev/input" sollte nun ein Link "tablet-perixx" existieren, der auf das korrekte Event-Device zeigt. Meist ist das "event4" oder "event5".

Das war's "schon" ;)
Was jetzt noch fehlt, ist ein Grafikprogramm, welches gut mit Tablets umgehen kann. Gimp kann das natürlich auch. Aber MyPaint ist auf Tablets spezialisiert und bringt haufenweise effektvolle Brushes mit, die auch druck-sensitiv sind. MyPaint ist bei OpenSuSE zwar nicht von Haus aus enthalten, findet sich aber als fertiges Paket auf dem Build-Server (Option "Exclude user's home projects" in den "Search options" deaktivieren).

Fazit: Für Linux-Einsteiger ist das alles natürlich ein Ritt durch die Hölle. Da aktuelle Linux-Distributionen aber neuere Versionen von "linux-wacom" mitbringen, wird die Sache dort sicher out-of-the-box funktionieren. Lediglich die Wacom-Pakete müssen dann installiert werden.

Trackbacks

Trackback-URL für diesen Eintrag

Dieser Link ist nicht aktiv. Er enthält die Trackback-URI zu diesem Eintrag. Sie können diese URI benutzen, um Ping- und Trackbacks von Ihrem eigenen Blog zu diesem Eintrag zu schicken. Um den Link zu kopieren, klicken Sie ihn mit der rechten Maustaste an und wählen "Verknüpfung kopieren" im Internet Explorer oder "Linkadresse kopieren" in Mozilla/Firefox.

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Die Kommentarfunktion wurde vom Besitzer dieses Blogs in diesem Eintrag deaktiviert.