No início deste ano, 2010, confesso que voltei a desenhar, ainda de forma amadora, mas isso não vem ao caso, estou aqui contando isso, para explicar minha última saga computacional doméstica. No fim de maio deste ano comprei um pequeno tablet da marca Wacom modelo Bomboo Pen CTL-460 [1], deixei o link, pois a palavra tablet hoje em dia remete diretamente ao iPad, da Apple, e não é disso que estou falando, o que comprei é uma espécie de mini mesa digitalizadora para desenho. Bem quando decidi comprar este modelo, foi evidentemente pelo preço baixo e pela marca ser uma referência de mercado quando se trata deste tipo de equipamento, confesso que dei uma olhadela no Google, para checar como era o funcionamento deste equipamento no Linux, e de uma forma geral, o que encontrei foi um monte de gente reclamando que não funcionava em Linux, mas também vi que existe um projeto chamado The Linux Wacom Project [3] que tem por finalidade produzir drivers, bibliotecas e documentação para tablets Wacom sob a licença GPL, nos Sistemas Operacionais Gnu/Linux & FreeBSD. Além disso, em uma rápida consulta, percebi que dentro da minha distribuição Linux, o Fedora 13, já existia um pacote chamado xorg-x11-drv-wacom, que depois descobri ser um módulo empacotado dentro do xorg pela distribuição do projeto Linux Wacom [3], para estes tablets. Diante de tudo isso, fiquei absolutamente tranquilo, e me lembrei que a última grande surra que eu havia levado para instalar um hardware no Linux havia sido um “winmodem“ da Motorola chamado Modemsurf, e isso por volta de 2001. Quando comecei a usar Wifi, por volta de 2004 também apanhei um pouco dos firmwares de algumas placas, mas nada comparado ao traumático winmodem da Motorola.
Como eu disse, comprei o tablet e ao chegar em casa percebi que não funcionava no meu Fedora 13, testei também no notebook de minha esposa que na época tinha um Ubuntu 9.10 instalado, e nada. A primeira checagem que fiz no Fedora, foi verificar se o pacote que continha o xorg-x11-drv-wacom estava presente, o que verifiquei com uma simples consulta a base de dados rpm:
rpm -qa | grep wacom
A resposta foi:
xorg-x11-drv-wacom-0.10.6-4.fc13.i686 (a versão era mais antiga, mas isso é irrelevante agora) .
Continuando, para saber o que este pacote havia instalado no meu sistema, fiz nova consulta:
rpm -ql xorg-x11-drv-wacom
Como resposta obtive:
/lib/udev/rules.d/70-wacom.rules
/usr/bin/xsetwacom
/usr/lib/xorg/modules/input/wacom_drv.so
/usr/share/X11/xorg.conf.d/50-wacom.conf
/usr/share/doc/xorg-x11-drv-wacom-0.10.6
/usr/share/doc/xorg-x11-drv-wacom-0.10.6/AUTHORS
/usr/share/doc/xorg-x11-drv-wacom-0.10.6/ChangeLog
/usr/share/doc/xorg-x11-drv-wacom-0.10.6/GPL
/usr/share/doc/xorg-x11-drv-wacom-0.10.6/README
/usr/share/man/man4/wacom.4.gz
Bem,o primeiro teste foi subir o módulo:
modprobe wacom
Ok, módulo “ligado”, mas nada acontecia, a esta altura eu já havia adicionado o arquivo /usr/share/X11/xorg.conf.d/50-wacom.conf em /etc/X11/xorg.conf.d/ e o tablet ainda não respondia a comandos da caneta sobre a superfície. Em algum lugar no site do linuxwacom [3] li ainda na primeira semana que quando o módulo subia, mas o dispositivo não era criado em /dev/input/, significava que o módulo deveria ser compilado para substituir o módulo original da distribuição. Neste momento, deu aquela preguiça enorme e eu que sou só um pouco teimoso, achei que aquele caminho poderia funcionar, mas eu queria que a minha distro tratasse isso de forma elegante e transparente. Lembrei que meu último prazer “nerd” foi quando havia ligado minha impressora no fedora 12 e ele detectou tudo sozinho e eu só precisei clicar em “ok” para imprimir um documento que já estava aberto antes da impressora ser instalada. Ter de compilar um módulo era como ter de tecer minha própria roupa para trabalhar no dia seguinte.
Ainda inconformado comecei a dar uma olhada nos bugs aberto no Bugzilla [4] da Red Hat para ver o que estavam discutindo, foi quando descobri que este problema já havia sido parcialmente resolvido, e que aparentemente em outros modelos de computador com alguns ajustes no udev (/etc/udev), os dispositivos eram criados, uma vez que o módulo era carregado, mas no meu netbook Asus 1000H isso não ocorria.
Resolvi esperar algumas atualizações de kernel mas também não adiantou. Até que um dia acordei um pouco mais inconformado do que o normal e resolvi compilar o módulo, após algumas buscas sobre uma maneira mais limpa para fazer isso, achei o blog Last Byte [2] que possui as orientações abaixo para compilar o módulo.
Compilando o módulo [2] e [3]
Testado e funcionando no Fedora 13 (kernel 2.6.33.5) com linuxwacom driver versão 0.8.8-3, ou mais nova, e não é necessário desinstalar o pacote xorg-x11-drv-wacom, que vem com o Fedora 13.
Os seguintes pacotes devem estar instalados:
gcc
gcc-c++
kernel-headers
kernel-devel
libXi-devel
libX11-devel
xorg-x11-proto-devel
xorg-x11-server-devel
tk-devel
tcl-devel
ncurses-devel
xorg-x11-drv-wacom-devel
libXrandr-devel
Caso queira instalar todos os pacotes necessários de forma automática utilize o yum:
yum -y install gcc gcc-c++ kernel-headers kernel-devel libXi-devel libX11-devel xorg-x11-proto-devel xorg-x11-server-devel tk-devel tcl-devel ncurses-devel xorg-x11-drv-wacom-devel libXrandr-devel
Faça o Download da última versão do pacote linuxwacom, que neste momento é linuxwacom-0.8.8-3, e depois de descompactar em um diretório e entrar neste diretório, configure de acordo com a linha de comando abaixo:
./configure --disable-libwacomcfg --disable-libwacomxi --disable-wacdump --disable-xidump --disable-xsetwacom --disable-wacomxrrd --disable-wacomdrv --enable-wacom
Para compilar o módulo digite:
make
Renomeie o módulo atual de seu sistema e copie o que você compilou para o diretório correto:
mv /lib/modules//kernel/drivers/input/tablet/wacom.ko /lib/modules//kernel/drivers/input/tablet/wacom_original.ko
cd src/2.6.30/
chmod +x wacom.ko
cp wacom.ko /lib/modules//kernel/drivers/input/tablet/
Para testar o módulo digite:
depmod -a
modprobe wacom
Para que o módulo “suba” na inicialização:
echo modprobe wacom >> /etc/rc.modules
chmod +x /etc/rc.modules
Pronto, agora o módulo já deve estar instalado e funcionando, isto quer dizer que uma vez que você ligar via USB o seu tablet, ao passar a caneta perto da superfície, ela controla os movimentos do mouse na tela, mais detalhes sobre como utilizar a caneta e o tablet, no site do fabricante [1].
Aplicações para usar com o tablet
Neste momento eu uso basicamente três aplicações com o meu tablet, sendo elas o Gimp, o Inkscape e o Xournal. No Inkscape, uma vez que o tablet foi corretamente reconhecido pelo sistema e instalado, funcionou perfeitamente. No Gimp, quando fui usar o tablet, o mesmo inseria uma distância variável entre o cursor e o traço, além de inicialmente não perceber as variações de pressão da caneta, para corrigir isto no Gimp, fui em Editar -> Preferências->Dispositivos de Entrada->Configurar Dispositivos de Entrada estendidos, Na caixa de seleção Dispositivos, escolha o seu tablet, e em Modo, escolha Janela, clique em Salvar e pronto, pra mim isso resolveu o problema da distância e da sensibilidade à pressão da caneta no Gimp. O Xournal é um programa basicamente para fazer anotações manuscritas digitais com a caneta no tablet, neste programa, também tive o problema da distância entre o cursor e o traço, para resolver isto no Xournal, eu fui em Options e desabilitei a opção “Use Xinput”, aí funcionou normalmente.
[1] http://www.wacom.com/pr/bamboo/bamboo_pen.php
[2] http://nbnds.wordpress.com
[3] http://linuxwacom.sourceforge.net/index.php/main
[4] https://bugzilla.redhat.com/show_bug.cgi?id=468264
Como eu disse, comprei o tablet e ao chegar em casa percebi que não funcionava no meu Fedora 13, testei também no notebook de minha esposa que na época tinha um Ubuntu 9.10 instalado, e nada. A primeira checagem que fiz no Fedora, foi verificar se o pacote que continha o xorg-x11-drv-wacom estava presente, o que verifiquei com uma simples consulta a base de dados rpm:
rpm -qa | grep wacom
A resposta foi:
xorg-x11-drv-wacom-0.10.6-4.fc13.i686 (a versão era mais antiga, mas isso é irrelevante agora) .
Continuando, para saber o que este pacote havia instalado no meu sistema, fiz nova consulta:
rpm -ql xorg-x11-drv-wacom
Como resposta obtive:
/lib/udev/rules.d/70-wacom.rules
/usr/bin/xsetwacom
/usr/lib/xorg/modules/input/wacom_drv.so
/usr/share/X11/xorg.conf.d/50-wacom.conf
/usr/share/doc/xorg-x11-drv-wacom-0.10.6
/usr/share/doc/xorg-x11-drv-wacom-0.10.6/AUTHORS
/usr/share/doc/xorg-x11-drv-wacom-0.10.6/ChangeLog
/usr/share/doc/xorg-x11-drv-wacom-0.10.6/GPL
/usr/share/doc/xorg-x11-drv-wacom-0.10.6/README
/usr/share/man/man4/wacom.4.gz
Bem,o primeiro teste foi subir o módulo:
modprobe wacom
Ok, módulo “ligado”, mas nada acontecia, a esta altura eu já havia adicionado o arquivo /usr/share/X11/xorg.conf.d/50-wacom.conf em /etc/X11/xorg.conf.d/ e o tablet ainda não respondia a comandos da caneta sobre a superfície. Em algum lugar no site do linuxwacom [3] li ainda na primeira semana que quando o módulo subia, mas o dispositivo não era criado em /dev/input/, significava que o módulo deveria ser compilado para substituir o módulo original da distribuição. Neste momento, deu aquela preguiça enorme e eu que sou só um pouco teimoso, achei que aquele caminho poderia funcionar, mas eu queria que a minha distro tratasse isso de forma elegante e transparente. Lembrei que meu último prazer “nerd” foi quando havia ligado minha impressora no fedora 12 e ele detectou tudo sozinho e eu só precisei clicar em “ok” para imprimir um documento que já estava aberto antes da impressora ser instalada. Ter de compilar um módulo era como ter de tecer minha própria roupa para trabalhar no dia seguinte.
Ainda inconformado comecei a dar uma olhada nos bugs aberto no Bugzilla [4] da Red Hat para ver o que estavam discutindo, foi quando descobri que este problema já havia sido parcialmente resolvido, e que aparentemente em outros modelos de computador com alguns ajustes no udev (/etc/udev), os dispositivos eram criados, uma vez que o módulo era carregado, mas no meu netbook Asus 1000H isso não ocorria.
Resolvi esperar algumas atualizações de kernel mas também não adiantou. Até que um dia acordei um pouco mais inconformado do que o normal e resolvi compilar o módulo, após algumas buscas sobre uma maneira mais limpa para fazer isso, achei o blog Last Byte [2] que possui as orientações abaixo para compilar o módulo.
Compilando o módulo [2] e [3]
Testado e funcionando no Fedora 13 (kernel 2.6.33.5) com linuxwacom driver versão 0.8.8-3, ou mais nova, e não é necessário desinstalar o pacote xorg-x11-drv-wacom, que vem com o Fedora 13.
Os seguintes pacotes devem estar instalados:
gcc
gcc-c++
kernel-headers
kernel-devel
libXi-devel
libX11-devel
xorg-x11-proto-devel
xorg-x11-server-devel
tk-devel
tcl-devel
ncurses-devel
xorg-x11-drv-wacom-devel
libXrandr-devel
Caso queira instalar todos os pacotes necessários de forma automática utilize o yum:
yum -y install gcc gcc-c++ kernel-headers kernel-devel libXi-devel libX11-devel xorg-x11-proto-devel xorg-x11-server-devel tk-devel tcl-devel ncurses-devel xorg-x11-drv-wacom-devel libXrandr-devel
Faça o Download da última versão do pacote linuxwacom, que neste momento é linuxwacom-0.8.8-3, e depois de descompactar em um diretório e entrar neste diretório, configure de acordo com a linha de comando abaixo:
./configure --disable-libwacomcfg --disable-libwacomxi --disable-wacdump --disable-xidump --disable-xsetwacom --disable-wacomxrrd --disable-wacomdrv --enable-wacom
Para compilar o módulo digite:
make
Renomeie o módulo atual de seu sistema e copie o que você compilou para o diretório correto:
mv /lib/modules/
cd src/2.6.30/
chmod +x wacom.ko
cp wacom.ko /lib/modules/
Para testar o módulo digite:
depmod -a
modprobe wacom
Para que o módulo “suba” na inicialização:
echo modprobe wacom >> /etc/rc.modules
chmod +x /etc/rc.modules
Pronto, agora o módulo já deve estar instalado e funcionando, isto quer dizer que uma vez que você ligar via USB o seu tablet, ao passar a caneta perto da superfície, ela controla os movimentos do mouse na tela, mais detalhes sobre como utilizar a caneta e o tablet, no site do fabricante [1].
Aplicações para usar com o tablet
Neste momento eu uso basicamente três aplicações com o meu tablet, sendo elas o Gimp, o Inkscape e o Xournal. No Inkscape, uma vez que o tablet foi corretamente reconhecido pelo sistema e instalado, funcionou perfeitamente. No Gimp, quando fui usar o tablet, o mesmo inseria uma distância variável entre o cursor e o traço, além de inicialmente não perceber as variações de pressão da caneta, para corrigir isto no Gimp, fui em Editar -> Preferências->Dispositivos de Entrada->Configurar Dispositivos de Entrada estendidos, Na caixa de seleção Dispositivos, escolha o seu tablet, e em Modo, escolha Janela, clique em Salvar e pronto, pra mim isso resolveu o problema da distância e da sensibilidade à pressão da caneta no Gimp. O Xournal é um programa basicamente para fazer anotações manuscritas digitais com a caneta no tablet, neste programa, também tive o problema da distância entre o cursor e o traço, para resolver isto no Xournal, eu fui em Options e desabilitei a opção “Use Xinput”, aí funcionou normalmente.
[1] http://www.wacom.com/pr/bamboo/bamboo_pen.php
[2] http://nbnds.wordpress.com
[3] http://linuxwacom.sourceforge.net/index.php/main
[4] https://bugzilla.redhat.com/show_bug.cgi?id=468264
Comentários