OpenSuse 10.2 auf  Gigabyte GA-G33-DS3R mit Core 2 Quad Core CPU Q6600

Hardware

Nach drei Jahren Leben mit einem laut rauschenden Prescott mit 3Ghz, der unter Last (als Komplett-PC) 220 Watt verbraucht hat, beschloss ich, im August 2007 die Hardware zu erneuern. Als CPU wählte ich den Einstiegs-Quad Core Q6600 mit 4×2,4 Ghz.

Core 2 Quad Q6600

Quad Core CPU von oben und von unten gesehen

 

Das Motherboard ist ein ziemlich neues Gigabyte GA-G33-DS3R, welches einen FSB von bis zu 1333Mhz unterstützt. Der G33 Express Chipset (Northbridge) ist in etwa ein P35 Chipset mit integrierter Graphik-Funktionalität die Intel GMA 3100 nennt. Der Chip ist Aero-fähig, für tolle 3D-Spiele aber nicht zu gebrauchen und soll 14 Watt verbrauchen. Da ich nicht spiele, für mich kein Problem. Ins Board passen bis zu 8GB, ich baue 2GB ein. Das Board besitzt eine ICH9R Southbridge, 8 RAID-fähige SATA2-Anschlüsse, 4 PCIe-Ports (davon einer 16x), 3 PCI-Ports. Audiochip ist ein Realtek ALC889A. LAN nutzt den Realtek RTL 8111B (Gigabit-fähig).

Dem Board fehlt ein serieller Anschluss (ein serieller Header ist vorhanden).

Das Gigabyte Motherboard. Links unten die Sata-Anschlüsse und der IDE-Anschluss.

Ich installiere zunächst RAM und CPU. Nach Installation des Motherboards im Gehäuse setze ich den Kühler auf die CPU. Wegen des hohen Einpressdrucks biegt sich das Board dabei ziemlich, ich hätte den Kühler entgegen der Anweisung des Handbuchs besser vor Einbau des Boards im Gehäuse aufgesetzt. Das Motherboard macht ansonsten einen guten und stabilen Eindruck. Ich installiere noch ein zugekauftes Slotblech für den seriellen Anschluss. Das mitgelieferte Slotblech zum Anschluss zweier externer SATA-Platten lasse ich erstmal weg.

Quad Core Kühler

Q6600 in Fassung
Der CPU-Kühler und die im Board eingesetzte CPU

Als Platten kommen zwei SATA-Platten (80 und 500GB) ins Gehäuse. Ein NEC DVD-Brenner kommt hinzu. Floppy-Laufwerk lasse ich erstmals ganz weg.

Installation

Ich entscheide mich aus einem Bauchgefühl heraus dazu, die 32Bit-Version von Linux zu installieren. Auf der Website wird allerdings die 64Bit-Version empfohlen. Schon am Anfang der Installation wird nach Laden des Kernels das DVD-Laufwerk nicht mehr gefunden. Der Rechner wechselt in den Textmodus, man befindet sich im Programm linuxrc. Suche im Internet zeigt, dass das Problem bei neueren Motherboards auftritt. Das DVD-Laufwerk ist via IDE angeschlossen. Die Southbridge ICH9R besitzt keinen eigenen IDE-Support mehr. Diese Funktion wird dann von einem weiteren Chip, bei mir der Jmicron 368(xxx), erledigt. Davon weiß der IDE-Treiber jedoch nichts, daher ist plötzlich das DVD-Laufwerk weg. Ich habe das Problem lösen können, indem ich in linuxrc den Bereich Module laden -> IDE selektiert habe. Dort habe ich das Modul pata_jmicron geladen, als extra Kernel-Parameter module=ide-generic angegeben und die Installation fortgesetzt. Die DVD wurde nun erkannt. Die im Gerät eingebaute Graphikkarte wird leider nicht in voller Schönheit erkannt. Linux wählt einen VESA-konformen Framebuffer für den X Server in der Auflösung von 1280×1024. VESA ist sehr langsam und bei meiner TFT-Auflösung von 1600×1200 auch hässlich. Suche im Internet zeigt, dass der neue G33-Chip erst nach Kernel 2.6.20 ordentlich oder überhaupt erkannt wird, OpenSuse 10.2 hat aber nur 2.6.18. Ich laufe nochmal zum Computerhändler und kaufe eine Nvidia 7300GT von MSI. Mit dieser Karte gibt es erwartungsgemäß keine Probleme, sie wird sauber erkannt und eingebunden.

NVidia FX7300GT von MSI
Die Grafikkarte nVidia FX7300GT von MSI, passiv gekühlt.

 

Leider wird auch der interne Soundchip nicht erkannt. Das Board ist vom Frühjahr 2007, also doch etwas zu neu für OpenSuse 10.2, das, wenn ich mich recht erinnere von Ende 2006 ist.

Auch ein vollständiger Online-Update bringt nichts. Ich habe von einem anderen Rechner noch meine Soundblaster Live! 24Bit übrig, die ich ins Gerät stecke, auch hier gibt es dann keine Probleme mehr. Allerdings müssen alle Nutzer in die Gruppe audio aufgenommen werden, sonst können sie auf die Geräte in /dev nicht zugreifen (sie gehören User root, Gruppe audio und Lese/Schreibrechte sind nur für die Gruppe, nicht für die Welt definiert). Bei xmms funktioniert der Lautstärkeregler nicht.

Soundblaster Live 24 Bit
Die Soundkarte Soundbaster Live! 24Bit

Nach der Installation fehlen die üblichen Programme, die ich nachinstalliere.
Dies sind:

  • xmms mit mpg123 und mpg321 Codecs
  • mplayer – Videoplayer und Encoder
  • avidemux2 – Videoschnittprogramm
  • inkscape – Vektorbasiertes Zeichenprogramm
  • mirror – Skripte fürs mirroring von Dateien
  • lame – mp3 Encoder
  • kompozer – Web Editor
  • timidity – Midi Sequenzer
  • audacity – Audioeditor
  • vmware Server – Virtualisierungslösung
  • googleearth
  • gtk-gnutella – Download Programm
  • Azureus
  • ffmpeg

Open Office und Gimp sind defaultmäßig schon installiert. Desweiteren entferne ich die üblichen Pakete, die ich nicht haben will, von der Maschine:

  • Mono und alles was davon anhängt
  • beagle und Konsorten
  • Zenworks

Bis auf gtk-gnutella, vmware und googleearth kann alles per Yast bequem installiert werden. gtk-gnutella muss von den Sourcen compiliert werden, hier kann man mittels make -j 4 schon mal sehen, wie die 4 Kerne in der CPU rennen. Meine vorhandene Version des VMWare Servers lief nicht mehr, ein Update auf die neueste Version brachte dann aber den Erfolg.

Kpowersave zeigt den momentanen Zustand der CPU (Frequenzen) an.


4 CPUs bei stromsparenden 1,6Ghz

Ein Performancetest mit Videoencoding zeigt, dass der Rechner locker 2,5mal schneller ist als mein alter Prescott. Mir fällt dabei aber trotzdem unangenehm auf,  dass das Encoding alle 5-8 Sekunden kurz stehen bleibt für 1-2 Sekunden. Ein Test mit hdparm /dev/hda und /dev/hdc bringt es an den Tag: Der DMA-Modus ist bei den Platten nicht eingeschaltet, es könnte also noch deutlich schneller gehen! Und der DMA-Modus lässt sich auch nicht einschalten, beim Versuch gibt es Fehlermeldungen:

socraggio:/home/dennis # hdparm -c1d1 /dev/hda /dev/hda: setting 32-bit IO_support flag to 1 setting using_dma to 1 (on) HDIO_SET_DMA failed: Operation not permitted IO_support   =  1 (32-bit) using_dma    =  0 (off)

Effekt ist, dass die Platten, die sonst über 50 MB/s bzw. über 80MB/s bringen, jetzt bei 0,5-8 MB/s herumdümpeln.

socraggio:/home/dennis # hdparm -tT /dev/hda
/dev/hda: 
Timing cached reads:   8234 MB in  2.00 seconds = 4121.45 MB/sec 
Timing buffered disk reads:    2 MB in  3.83 seconds = 535.35 kB/sec 

socraggio:/home/dennis # hdparm -tT /dev/hdc 
/dev/hdc:  
Timing cached reads:   7614 MB in  2.00 seconds = 3810.42 MB/sec  
Timing buffered disk reads:   24 MB in  3.20 seconds =   7.50 MB/sec

Da ist die CPU flotter mit dem Komprimieren als die Platten mit dem Wegschreiben, daher die Pausen während der Kompression. Herumgooglen bringt einiges zu Tage, aber nichts brauchbares. Tiefgehende Experimente mit IDE-Treibern etc. kann ich mir zeitmässig dann doch nicht leisten.
Da der Kernel ab 2.6.20 aber angeblich mit den neuen Chipsätzen von Intel umgehen kann und OpenSuse 10.3 mindestens einen 2.6.22-Kernel haben wird, werde ich mit den lahmen Platten bis zum Oktober leben, dann kommt OpenSuse 10.3 heraus.

Die Benutzer-Icons des KDM Logins sind weg und werden wie folgt wiederhergestellt:
Alle Nutzericons liegen im Nutzerverzeichnis unter dem Namen $HOME/.face.icon im PNG-Format mit den Abmessungen von ca. 62×62 Pixeln. In /opt/kde3/share/config/kdm/kdmrc muss die Zeile „FaceSource=“ angepasst werden wie folgt:
# „PreferUser“ – … and the other way round
# „UserOnly“ – from the user’s $HOME/.face[.icon]
# Default is AdminOnly
FaceSource=PreferUser

Danach kommen die Icons wieder. Siehe auch hier.

Ich habe auf derselben Hardware auf einer freien Partition auch OpenSuse 10.3 Beta und RC installiert. Dort trat dann das DMA-Problem nicht mehr auf, auch das Problem mit der DVD-Erkennung während der Installation ist in 10.3 gelöst.

Stromverbrauch

Beim Stromverbrauch hält sich der Quad Core angenehm zurück. Ich messe mit einem ganz einfachen Strommesser den Gesamtverbrauch des Rechners ohne Monitor. Im Leerlauf werden 83 Watt verbraucht, bei normalen Arbeiten 90..105 Watt und unter Volllast (Videokompression mit 4 Threads, bei dem alle vier Cores am Arbeiten sind 123 Watt.
Im Vergleich dazu: mein alter Prescott Pentium 4 3Ghz hat mit demselben Netzteil (welches einen hohen Wirkungsgrad besitzt) im Leerlauf 117 Watt und unter Volllast 180 Watt verbraucht. Mit einem billigen Standardnetzteil hatte der Prescott sogar 134 Watt im Leerlauf und 224 Watt unter Volllast gebraucht.

Wacom Tablet UD-1212-R mit Linux (OpenSuse 13.1)

Durch einen Zufall kam ich an ein altes Wacom Tablet, Typenbezeichnung UD-1212-R. Dieses Tablet hat eine Zeichenfläche von 12×12 Zoll.  Es ist auch als „Digitizer II“ bekannt.

Das Funktionsprinzip beruht auf der Analyse elektrischer Felder. Ein solches Feld wird an der Tabletoberfläche erzeugt. Ein spezieller Stift, in dem ein Schaltkreis eingebaut ist, „stört“  das erzeugte Feld. Die Lokation der Störung wird vom Tablet sehr genau festgestellt. Der Schaltkreis im Stift kommt ohne Batterien aus, er bezieht seine Energie aus dem elektrischen Feld über dem Tablet.

Das UD-1212-R ist uralte Hardware, die Datecodes auf der Controllerplatine weisen bei meinem Exemplar auf das Baujahr 1994 hin.

Das Tablet kam ohne Stift und Kabel zu mir.

Das Tablet sollte also 20 Jahre nach seiner Herstellung wieder angeschlossen werden…

Anschluss der Hardware

Stift: Den Stift (PL900 bzw. UD817e) kann man heute noch bei Wacom kaufen.

Kabel und elektrischer Anschluss: Das Tablet hat einen seriellen Anschluss. Entweder man schließt es an einen PC mit seriellen Anschluss an oder man nimmt ein Adapter-Kabel Seriell<->USB. Ich habe noch serielle Anschlüsse, daher habe ich das Tablet direkt via RS232 angeschlossen.

Das Kabel ist speziell. Es führt sowohl die RS232 Steuersignale als auch die Betriebsspannung (9-12V DC). Ich habe mir das Kabel wie folgt selbst gelötet, Informationen zum Kabel kann man sich aus diversen Foren im Internet zusammensuchen.

DB9 Konnektor (9 Pins). N.C. heißt „Not Connected“.

Pin Tablet
UD-1212-R
„Digitizer II“
Pin PC Kommentar
1 N.C. 1 N.C.
2 TxD 2 RxD
3 RxD 3 TxD
4 RTS 8 CTS
5 CTS 7 RTS
6 DSR 4 DTR
7 GND 5 GND
8 + VCC 9-12V 100mA
9 DTR 6 DSR

An Pin 7/8 ist also die Versorgungsspannung anzuschließen. Ab 6,5 V leuchtet bei mir die Betriebs-LED des Tablets.

Softwaremäßige Einbindung in Linux

Im Internet gibt es viel Information zu diesem Thema, allerdings wenig klärendes. Ich habe mir in zwei Tagen alle Informationen zusammengesucht.

Theorie of Operation
Das meiste hierzu war mir neu und stellt sicher nur einen winzigen Ausschnitt aller Möglichkeiten dar. Eventuell ist was ich schreibe auch nicht ganz richtig.

Ein heute nicht mehr (?) verfolgter Ansatz war es, Geräte innerhalb des X Servers anzubinden, indem der X Server eigene Treiber für diese Geräte enthielt.

Heute verwendet der X Server  Eingabegeräte, die im /dev/input/-Baum eingehängt sind. Vermutlich gibt es dort eine einheitliche Schnittstelle für alle Eingabegeräte, was den X Server von Besonderheiten deutlich entlasten würde.

Das Einhängen von Geräten in den /dev/input-Baum erfolgt entweder über udev, das zum Gerät passende Kernel-Module nachlädt oder „manuell“.

Man braucht also zum Anbinden eines Geräts zwei Dinge:

  • Ein Kernel-Modul, welches das Gerät unterstützt
  • Einen Mechanismus, der das Kernel-Modul bei Bedarf einbindet

Kernel-Modul: Von Wacom gab und gibt es zahlreiche Tablets, die neueren alle mit USB Anschluss. In meinem OpenSuse 13.1 ist standardmäßig schon ein Kernel Modul enthalten, allerdings unterstützt dieses nur neuere (USB-?)Geräte. Das vorhandene Modul wacom_w8001 nutzt also nichts.

Ein Kernel Modul für ältere, seriell angeschlossene Tablets gibt es hier: http://www.cipht.net/2011/07/02/wacom_serial-initial-release.html

Das dortige tar-File, welches die Sourcen des Treibers enthält, lässt sich ganz einfach mittels gcc übersetzen.

Einbindung des Kernel-Moduls mit inputattach: inputattach ist ein Programm, dass das passende Kernel-Modul an eine physikalische Schnittstelle anbindet und die Schnittstelle des Geräts in den /dev/input-Baum einbindet.

Mein Gerät hängt an /dev/ttyS0. Der Aufruf für inputattach it daher:

./inputattach –wacom_iv /dev/ttyS0 &

„wacom_iv“ ist hierbei der Gerätetyp. Diesen nimmt  inputattach her, um  eine  Informationsstruktur  für das angehängte Gerät  anzulegen, die  von udev (?) benutzt wird, um das passende Kernel-Modul zu laden.

inputattach ist Teil des „linuxconsole“ Projekts. Dieses muss heruntergeladen und von Source installiert werden. Dabei entsteht inputattach im Unterverzeichnis „utils“.
Allerdings muss hier vorher noch etwas getan werden. Der Support für die älteren Tablets (einige wenige Zeilen Code) fehlt in inputattach.c. Es gibt zwar zwei patch-Dateien (eine für inputattach.c und eine für serio-ids.h) die sind aber nicht ganz korrekt. Ich habe daher per Hand folgendes gemacht:

inputattach.c: In der Struktur input_types input_types folgende Zeilen eingefügt:
{ „–wacom_iv“,         „-wacom_iv“,    „Wacom protocol 4 tablet“,
B9600, CS8,
SERIO_WACOM_IV,         0x00,   0x00,   0,      NULL },

serio-ids.h: folgende Zeilen eingefügt:
#ifndef SERIO_WACOM_IV
# define SERIO_WACOM_IV         0x3f
#endif

Es muss darauf geachtet werden, dass der Wert für SERIO_WACOM_IV eindeutig ist.  Am besten den höchsten Wert+1 aus der serio-ids.h nehmen. Auch gegen /usr/include/linux/serio.h checken, auch dort darf keine Überdeckung vorliegen (Hinweis: der Original-Patch definiert für SERIO_WACOM_IV 0x3d. Dies kollidiert aber mit dem Define SERIO_TSC40 in /usr/include/linux/serio.h. Daher wird bei sturer Übernahm des Patchs der falsche Treiber (nämlich für TSC40 Tablets) geladen. In dmesg steht das falsche Tablet drin, und funktionieren tut gar nichts).

Wenn man nun ein passendes inputattach und ein Kernel-Modul hat, kann man sehen ob die Anbindung klappt:

% insmod ./wacom_serial.ko

% ./inputattach –wacom_iv /dev/ttyS0 &

Mit dmesg sieht man wenn alles gut geht in etwa so was:

[ 3161.508413] serio: Serial port ttyS0
[ 3161.540516] input (null): Wacom tablet: Digitizer II, version 1.2

[ 3161.540520] input (null): Max pressure: 127.
[ 3161.578164] input (null): Configuration string: ~RE203C800,000,00,1270,1270
[ 3161.600884] input: Wacom protocol 4 serial tablet as /devices/pnp0/00:0a/tty/ttyS0/serio8/input/input17

xsetwacom listet dann das Gerät auch aus:
% xsetwacom –list devices
Wacom protocol 4 serial tablet          id: 12  type: STYLUS

Die Einbindung in den /dev/input-Baum sieht man auch hier:
% cat /proc/bus/input/devices
….
I: Bus=0013 Vendor=003f Product=0000 Version=5544
N: Name=“Wacom protocol 4 serial tablet“
P: Phys=ttyS0/serio0/input0
S: Sysfs=/devices/pnp0/00:0a/tty/ttyS0/serio9/input/input17
U: Uniq=
H: Handlers=mouse1 event14
B: PROP=0
B: EV=b
B: KEY=c43 0 0 0 0 0
B: ABS=1000003

Schließlich kennt nun auch X sebst das Gerät:
% xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=10   [slave  pointer  (2)]
⎜   ↳ Wacom protocol 4 serial tablet            id=12   [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)]
↳ Power Button                              id=7    [slave  keyboard (3)]
↳ Logitech USB Keyboard                     id=8    [slave  keyboard (3)]
↳ Logitech USB Keyboard                     id=9    [slave  keyboard (3)]
↳ Eee PC WMI hotkeys                        id=11   [slave  keyboard (3)]

Wenn man soweit ist, muss man nur noch dem X Server sagen, dass er das Gerät auch verwenden soll. In /etc/X11/xorg.conf.d/ muss eine passende Datei abgelegt werden. Bei OpenSuse ist eine solche Datei (50-wacom.conf) schon da und muss nur noch angepasst werden:
Section „InputClass“
Identifier „Wacom serial class“
MatchProduct „Wacom protocol 4 serial tablet“
MatchDevicePath „/dev/input/event*“
Driver „wacom“
Option „Type“ „stylus“
Option „DebugLevel“ „12“
EndSection

andere, nicht benötigte Klassen kann man löschen. Wichtig ist, dass der Wert des Attributs MatchProduct übereinstimmt mit dem, was xinput list als Namen ausgibt. Über diesen Text matcht X das Gerät zu dieser InputClass.
Nach einem Neustart des Servers kann man nun den Cursor mit der Maus (wie vorher) und zusätzlich mit dem Tabletstift bewegen.

Ich habe auch folgende Datei nach /etc/udev/rules.d gespielt, weiss nicht ich mn die braucht:
cat /etc/udev/rules.d/70-serial-wacom.rules
ACTION==“add|change“, SUBSYSTEM==“pnp“, ENV{PRODUCT}==’13/3f/*‘, ENV{NAME}==“Wacom protocol IV serial tablet“,SYMLINK+=“input/wacom“,ENV{ID_INPUT}=“1″,ENV{ID_INPUT_TABLET}=“1″

Aspect Ratio einstellen
Mein Tablet hat ein Aspect Ratio von 1:1 (15240 x 15240 Pixel).
Meine beiden Bildschirme sind unter X mit 3200×1200 Pixeln verfügbar.
Wenn man nun einen sauberen Kreis auf dem Tablet zeichnet, kommt eine platte Ellipse auf dem Bildschirm heraus. Man muss das Seitenverhältnis passend umrechnen. X erlaubt dies auf unterschiedliche Weise.

Erst Infos sammeln:

dennis@dennis-pc:~> xsetwacom get „Wacom protocol 4 serial tablet“ all
Option „Area“ „0 0 15240 15240“
‚Button‘ requires exactly 1 value(s).
Option „ToolDebugLevel“ „12“
Option „TabletDebugLevel“ „0“
Option „Suppress“ „2“
Option „RawSample“ „4“
Option „PressureCurve“ „0 0 100 100“
Option „Mode“ „Absolute“
Option „TabletPCButton“ „off“
Option „Touch“ „off“
Option „Gesture“ „off“
Option „ZoomDistance“ „0“
Option „ScrollDistance“ „0“
Option „TapTime“ „250“
Property ‚Wacom Proximity Threshold‘ does not exist on device.
Option „Rotate“ „none“
Property ‚Wacom Wheel Buttons‘ does not exist on device.
Property ‚Wacom Wheel Buttons‘ does not exist on device.
Property ‚Wacom Wheel Buttons‘ does not exist on device.
Property ‚Wacom Wheel Buttons‘ does not exist on device.
Property ‚Wacom Wheel Buttons‘ does not exist on device.
Property ‚Wacom Wheel Buttons‘ does not exist on device.
Property ‚Wacom Strip Buttons‘ does not exist on device.
Property ‚Wacom Strip Buttons‘ does not exist on device.
Property ‚Wacom Strip Buttons‘ does not exist on device.
Property ‚Wacom Strip Buttons‘ does not exist on device.
Option „Threshold“ „27“
Option „ToolType“ „426“
Option „ToolSerial“ „1“
Option „ToolID“ „0“
Option „ToolSerialPrevious“ „0“
Option „BindToSerial“ „0“
Option „TabletID“ „0“

xinput  listet eine „Coordinate Transformation Matrix“ aus.Genau daas was ich suche 🙂

dennis@dennis-pc:~> xinput list-props „Wacom protocol 4 serial tablet“
Device ‚Wacom protocol 4 serial tablet‘:
Device Enabled (141):   1
Coordinate Transformation Matrix (143): 0.400000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

Device Accel Profile (266):     0
Device Accel Constant Deceleration (267):       1.000000
Device Accel Adaptive Deceleration (268):       1.000000
Device Accel Velocity Scaling (269):    10.000000
Device Node (262):      „/dev/input/event14“
Wacom Tablet Area (600):        0, 0, 15240, 15240
Wacom Rotation (601):   0
Wacom Pressurecurve (602):      0, 0, 100, 100
Wacom Serial IDs (603): 0, 0, 2, 1, 0
Wacom Serial ID binding (604):  0
Wacom Pressure Threshold (605): 27
Wacom Sample and Suppress (606):        2, 4
Wacom Enable Touch (607):       0
Wacom Hover Click (608):        1
Wacom Enable Touch Gesture (609):       0
Wacom Touch Gesture Parameters (610):   0, 0, 250
Wacom Tool Type (611):  „STYLUS“ (426)
Wacom Button Actions (612):     „Wacom button action 0“ (613), „Wacom button action 1“ (614), „Wacom button action 2“ (615), „None“ (0), „None“ (0), „None“ (0), „None“ (0), „Wacom button action 3“ (616), „Wacom button action 4“ (617)
Wacom button action 0 (613):    1572865
Wacom button action 1 (614):    1572866
Wacom button action 2 (615):    1572867
Wacom button action 3 (616):    1572872
Wacom button action 4 (617):    1572873
Device Product ID (261):        63, 0
Wacom Debug Levels (618):       12, 0

Infos zum Screen:

dennis@dennis-pc:~>  xrandr
Screen 0: minimum 8 x 8, current 3200 x 1200, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
VGA-0 connected 1600×1200+1600+0 (normal left inverted right x axis y axis) 408mm x 306mm
1600×1200      60.0*+
1280×1024      75.0     60.0
1280×960       60.0
1152×864       75.0
1024×768       75.0     70.1     60.0
800×600        75.0     72.2     60.3     56.2
640×480        75.0     72.8     59.9
DVI-I-1 connected primary 1600×1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
1600×1200      60.0*+
1280×1024      70.0     60.0
1024×768       85.0     75.0     60.0
800×600        85.1     75.0     60.3
640×480        85.0     75.0     60.0     59.9

Setzen einer Matrix, die den Tabletbereich auf  den Monitor-bereich 1200×1200 am linken Bildschirm setzt:

xinput set-prop „Wacom protocol 4 serial tablet“ –type=float „Coordinate Transformation Matrix“ 0.375 0 0 0 1 0 0 0 1

Erklärung: 1 0 0 0 1 0 0 0 1 ist die Matrix
100
010
001 . Dies ist die Identitätsmatrix. Damit wird der Tablet-Bereich auf den Gesamtbildschirm umgerechnet. Dies bringt eine starke Zerrung in horizontaler Richtung mit sich.

Ich möchte keinerlei Verzerrung beim Zeichnen. Dann darf der Tablet-Bereich nur auf einen Bereich gemappt werden, dessen Aspect Ratio auch 1:1 ist. Die maximale Ausdehung in Y-Richtung ist bedingt durch die Monitore 1200. Ich kann also einen Bereich 1200×1200 innerhalb meiner 3200×1200 definieren, in den das Tablet verzerrungsfrei gemappt wird. Der Skalierfaktor in X-Richtung ist 1200/3200 = 0.375.
Somit ergibt sich „meine“ Matrix zu:
0.375 0 0
0        1 0
0        0 1 .

und xinput wird so aufgerufen:
xinput set-prop „Wacom protocol 4 serial tablet“ –type=float „Coordinate Transformation Matrix“ 0.375 0 0 0 1 0 0 0 1

Wenn man wieder das volle Mapping haben will (mit Verzerrung):
xinput set-prop „Wacom protocol 4 serial tablet“ –type=float „Coordinate Transformation Matrix“ 1 0 0 0 1 0 0 0 1

Details und Diskussion siehe hier: http://ubuntuforums.org/archive/index.php/t-1656089.html

Nutzung mit Gimp

In Gimp kann man via Einstellungen weitere Eingabegeräte aktivieren. Als ich das für mein Tablet gemacht habe, konnte ich sofort zeichnen, auch mit unterschiedlicher Aufdruckstärke. Die Bedienung ist aber erstmal gewöhnungsbedürftig und vermutlich müssen zusätzliche InputClass-Optionen eingestellt werden, ich habe z.B-. zwei Bildschirme mit zusammen 3200×1200 Pixeln und ich kam mit dem Tablet zwar auf beide Bildschirme, aber nicht ganz bis in die rechte Ecke. Außerdem behinderten sich beide vorhandenen Cursoren gegenseitig, z.B. bei angedockten Dialogen.

Hier mein allererstes Bild, ca, 5 Minuten nachdem das Tablet erstmal lief hingezaubert :-)))

(Etwas infantil, ich gebs zu. Dem gingen allerdings drei Stunden Kernel-Modul Basteleien voran…)

Das Innenleben des Tablets

Chips on Board: W3007F, W5000F, W6001F


Riesige Abschirmung

 


Der Controller

 


Chips on Board: W3007F, W5000F, W6001F. Oben das EPROM 27C512 mit der Firmware. Neuester Datecode 29. Woche 1994.