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.





Comentários Recentes