Configurando o monitor ST2220T Touch Screen da Dell no linux

Recebemos o desafio de desenvolver a parte técnica de uma cabine de cinema, nessa cabine você escolhe uma cena clássica do cinema e assiste dentro, sentado em uma confortável poltrona de cinema.

Para selecionar o filme é usada uma tela touchscreen, o modelo escolhido foi o ST2220T da Dell, principalmente por possuir um touch sensível (lembra muito o do ipad), e ter uma tela maravilhosa fullHD.  O lado ruim é que apesar de ter vários meses de estrada a Dell nunca liberou nenhum driver para o monitor, deixando a cargo da comunidade.

Ao ligar o monitor no PC o touchscreen ele pode até funcionar, mas é necessário usar os dois dedos para movimentar o cursor. Isso acontece pois o a tela é dual-touch, ou seja, reconhece até dois toques simultâneos.

O driver que corrige esse problema foi recentemente incluído no kernel 3.4 do linux, mas boa parte das distros ainda usam a versão 3.0, então segue um breve tutorial de como instalar os drivers no Ubuntu 12.04 (Funciona no Debian testing!).

Existem três formas de se obter os drivers, uma é aplicando este patch no fonte do kernel, compilando e instalando apropriadamente.

Outra forma, bem simples é baixando e instalando um kernel com o patch citado acima pré-aplicado, ou seja, pronto para usar. Nesse caso, basta baixar o kernel desse site:

http://people.canonical.com/~bradf/lp791833/

Instale com o comando:

dpkg -i linux-image-3.2.0-20-generic_3.2.0-20.33~lp791833_i386.deb
update-grub2

Após o reboot, o touch funcionará normalmente.

Uma outra forma mais genérica, é compilar o driver para o kernel que você já possui instatalado, para isso, faça:

apt-get install build-essential
git clone git://git.lii-enac.fr/linux-input/ubuntu-multitouch
cd ubuntu-multitouch

Use o comando git branch -a
, para listar os branchs disponíveis, escolha um e digite:

git checkout hid-multitouch-ubuntu-12.04
make
sudo make install
sudo depmode -a

Após esses passos, basta rebootar.

Para melhor funcionamento da tela, vale a pena instalar alguns pacotes com:

apt-get install xinput evtest xserver-xorg-input-evtouch

Existem vários outros detalhes técnicos dessa cabine que quero mostrar em breve 🙂

fontes: enac, launchpad, redhat