Problemas do driver GSPCA no Kernel 2.6.27

Dicas e Truques, Linux 18 Comentários

Em 2003, um médico francês chamado Michel Xhaard deu uma webcam para sua filha e percebeu que o Linux não possuía driver para a câmera. Acontece que, como médico, muitos dos diagnósticos do Xhaard eram feitos em cima de interpretação de imagens. Assim, ele tornou-se um especialista em câmeras e resolveu suprir as necessidades do linux, criando drivers para mais de 200 tipos diferentes de câmeras. Foi assim que começou o projeto do driver GSPCA. Hoje em dia, a grande maioria das câmeras utiliza esse driver no Linux.

No ano de 2008, com o objetivo de tornar o uso de webcams no Linux mais automático, o driver GSPCA foi introduzido a árvore principal da versão 2.6.27 do Kernel. Infelizmente, a maioria das webcams utiliza uma compressão ou um formato de vídeo próprio que o driver incluído no Kernel não possui suporte. Por isso, um programador chamado Hans de Goede deu um jeito de contornar o problema. Ele criou uma biblioteca, a libv4l, que faz a ponte entre a compressão que as webcams possuem e o GSPCA incluído no Kernel. Isso significa que, para funcionar bem com o driver GSPCA, o código fonte das aplicações que usam vídeo (Cheese, aMSN, Ekiga, Skype etc) têm que ser modificados para usar a libv4l. Isso está acontecendo, por exemplo, no Fedora 10. O mesmo ainda não está acontecendo, por exemplo, no Ubuntu 8.10 que usa o Kernel 2.6.27. Por isso, no Intrepid, quem possui webcam compatível com o GSPCA não poderá utilizar a webcam com a grande maioria das aplicações. :-O

Felizmente, há um jeito de utilizar a webcam mesmo no Intrepid. Para isso, existe um wrapper (uma especie de tradutor) que deve ser carregado manualmente antes da execução da aplicação. Por exemplo, para utilizar vídeo com o Skype, que tem código fonte fechado e, por tanto, não pode ser feito compatível com a libv4l, execute o comando a seguir.

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

Para usar uma aplicação diferente, no comando anterior, basta trocar skype pelo executável da aplicação que se deseja utilizar.

Infelizmente, para a minha webcam, mesmo com o wrapper, ainda não estou conseguindo usar vídeo com nenhuma aplicação. Vendo as mensagens do kernel com o dmesg, eu recebo algo como o que segue.

[ 2489.369834] gspca: frame overflow 615378 > 614400
[ 2489.429838] gspca: frame overflow 616402 > 614400
[ 2489.489819] gspca: frame overflow 616402 > 614400
[ 2489.549786] gspca: frame overflow 617426 > 614400
[ 2489.609780] gspca: frame overflow 617426 > 614400
[ 2489.668552] gspca: frame overflow 615378 > 614400

Ainda não consegui entender o problema para tentar soluciona-lo. Alguns dizem para usar a libv4l deste repositório, ao invés da que é encontrada nos repositórios do Intrepid. Fiz isso, mas, mesmo assim, continuo sem webcam. :-( Contudo, isso funcionou para muita gente, como pode ser visto aqui e aqui.

Finalizando, quem usa o kernel 2.6.27 e anda com problemas para usar a webcam, aconselho a visitar está página do Fedora 10 e as threads dos bugs 260918 e 273727 do Intrepid.

Atualização: Consegui resolver o problema do driver GSPCA no Ubuntu Intrepid. A solução está descrita aqui.

Tópicos Relacionados

18 Comentários sobre “Problemas do driver GSPCA no Kernel 2.6.27”

Trackbacks / Pingbacks

Deixe um comentário

XHTML: Você pode usar essas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Os direitos autorais de todas as ilustrações pertencem aos respectivos autores e essas são reproduzidas na intenção de atender ao disposto no art. 46 da Lei 9.610. Contudo, se ainda assim alguma delas infringe direito seu, entre em contato para que eu possa removê-la imediatamente.

Icons by N.Design Studio. Designed By Ben Swift. Powered by WordPress, Search Optimization and Free WordPress Themes