Preparar gráficos para las diapositivas de clase es una tarea ardua y costosa. A veces, esos gráficos podrían hacerse más rápidamente en papel, y tras escanearlos, se podrían incrustar en el documento de presentación que queramos usar. Pero ya que el Olentzero estaba esperando mi carta, decidí pedirle una tableta gráfica para poder dibujar directamente con un lápiz sobre la tableta – y pasarlo a digital – como si lo hiciera sobre papel y disfrutar mientras «pinto».
El Olentzero me trajo una tableta Wacom (Bamboo Pen), y aunque es compatible Linux, el problema radica en que, de serie, Ubuntu Karmic no la reconoce. Lógicamente la comunidad se ha volcado en cambiar la situación y ya hay una solución . En ese enlace se resume lo que habría que hacer para distintas tabletas gráficas Bamboo (Pen, Touch, Pen & Touch…) y distintas versiones de Ubuntu. Dada la diversidad de opciones, que los enlaces están un poco desperdigados, y que ya hay nuevas versiones, resumo aquí lo que hay que hacer para instalar la tableta Bamboo Pen en Karmic, con todos los enlaces bien colocaditos, y paso a paso, para que con una sesión de copy&paste y 10 minutillos, tengáis la tableta funcionando. Vamos allá.
Preparamos el entorno, descargando paquetes necesarios:
# apt-get update
# apt-get install build-essential libx11-dev libxi-dev x11proto-input-dev
# apt-get install xserver-xorg-dev tk8.4-dev tcl8.4-dev libncurses5-dev
# apt-get install libhal-dev |
# apt-get update
# apt-get install build-essential libx11-dev libxi-dev x11proto-input-dev
# apt-get install xserver-xorg-dev tk8.4-dev tcl8.4-dev libncurses5-dev
# apt-get install libhal-dev
El fichero de cabeceras hids.h es necesario para compilar los drivers de linuxwacom más adelante:
# wget http://kernel.ubuntu.com/git-repos/ubuntu/linux-2.6/drivers/hid/hid-ids.h
# cp ./hid-ids.h /lib/modules/`uname -r`/build/drivers/hid/hid-ids.h |
# wget http://kernel.ubuntu.com/git-repos/ubuntu/linux-2.6/drivers/hid/hid-ids.h
# cp ./hid-ids.h /lib/modules/`uname -r`/build/drivers/hid/hid-ids.h
Ahora tenemos que descargar los drivers linuxwacom-0.8.4-3.tar.bz2 (ojo, hay que navegar el enlace, no vale con «Guardar destino como…»)
También necesitaremos descargar los parches necesarios para Bamboo Pen ( wcm2_patch.tar.bz2 )
Descomprimir y parchear todo:
# tar -xvjf linuxwacom-0.8.4-3.tar.bz2
# tar -xjvf wcm2_patch.tar.bz2
# cp wcm2_patch/*.patch linuxwacom-0.8.4-3/
# cd linuxwacom-0.8.4-3/
# patch -p1 < wacomcpl-exec.patch
# patch -p1 < wacom_sys.c.patch
# patch -p1 < wacom_wac.c.patch
# patch -p1 < wacom_wac.h.patch
# patch -p1 < wactablet.h.patch
# patch -p1 < wacusb.c.patch
# patch -p1 < wcmUSB.c.patch |
# tar -xvjf linuxwacom-0.8.4-3.tar.bz2
# tar -xjvf wcm2_patch.tar.bz2
# cp wcm2_patch/*.patch linuxwacom-0.8.4-3/
# cd linuxwacom-0.8.4-3/
# patch -p1 < wacomcpl-exec.patch
# patch -p1 < wacom_sys.c.patch
# patch -p1 < wacom_wac.c.patch
# patch -p1 < wacom_wac.h.patch
# patch -p1 < wactablet.h.patch
# patch -p1 < wacusb.c.patch
# patch -p1 < wcmUSB.c.patch
Y comienza la compilación de los drivers:
# make clean
# ./configure --enable-wacom --prefix=/usr
# make
# make install |
# make clean
# ./configure --enable-wacom --prefix=/usr
# make
# make install
Ahora ojo, porque la versión del módulo de kernel wacom.ko, dependerá del kernel que estemos usando. En mi caso, haciendo «uname -a» vemos que la versión que necesito es la 2.6.31.
Cargamos el módulo y reconstruímos las tablas de dependencias entre módulos:
# insmod /lib/modules/$(uname -r)/kernel/drivers/input/tablet/wacom.ko
# depmod -e |
# insmod /lib/modules/$(uname -r)/kernel/drivers/input/tablet/wacom.ko
# depmod -e
Necesitaremos decirle a HAL cómo es nuestra tableta gráfica y qué capacidades tiene, generando un fichero .fdi para ello. Tranquilos, ya está hecho, sólo hay que descargarlo y dejarlo en su sitio:
$ sudo cp Favux_new-generic_rc2_10-linuxwacom.fdi.txt /usr/share/hal/fdi/policy/20thirdparty/10-linuxwacom.fdi |
$ sudo cp Favux_new-generic_rc2_10-linuxwacom.fdi.txt /usr/share/hal/fdi/policy/20thirdparty/10-linuxwacom.fdi
Si todo ha ido bien, conectaremos la tableta, y al pedir un listado de dispositivos USB conectados, obtendremos algo como :
# lsusb
...
Bus 001 Device 006: ID 056a:00d4 Wacom Co., Ltd
Bus 001 Device 004: ID 046d:c50e Logitech, Inc. MX-1000 Cordless Mouse Receiver
Bus 001 Device 003: ID 05e3:0606 Genesys Logic, Inc. USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub
... |
# lsusb
...
Bus 001 Device 006: ID 056a:00d4 Wacom Co., Ltd
Bus 001 Device 004: ID 046d:c50e Logitech, Inc. MX-1000 Cordless Mouse Receiver
Bus 001 Device 003: ID 05e3:0606 Genesys Logic, Inc. USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub
...
(lo importante es la línea Wacom, el resto dependerá de vuestros dispositivos USB 🙂
Ya sólo hace falta indicarle a las X que tenemos un nuevo dispositivo de entrada, editando para ello el fichero /lib/udev/rules.d/40-xserver-xorg-input-wacom.rules y añadiendo (sólo la línea ATTRS, el resto simplemente sirve para situarnos en contexto):
..
ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d4", SYMLINK+="input/tablet-wacom-bamboo-pen"
# Convenience links for the common case of a single tablet. We could do just this:
.. |
..
ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d4", SYMLINK+="input/tablet-wacom-bamboo-pen"
# Convenience links for the common case of a single tablet. We could do just this:
..
(donde pone 00d4 poner el id que nos devuelva lsusb, que en el caso de Bamboo Pen es 00d4)
Reiniciar. ¡Buf! Que ustede lo dibujen bien.
PD: tal cual está, la tableta debe de ser reconocida y podréis trabajar con ella sin problemas. Pero si queréis que por ejemplo GIMP detecte cuándo presionáis más o menos el lápiz sobre la tableta, y en función de ello se realicen unos trazos más finos o gruesos, hay que configurar GIMP. Es fácil, basta con seguir estas explicaciones paso a paso con pantallazos.