Примо. В новые ядра дровишки gspca входят штатно, а пакет v4l-utils должен найтись в любом дистрибутиве. Так что качать-собирать ничего не надо, все нужное уже должно быть на борту или, по крайней мере, в коробке.
Секундо. Программам, использующим
gspca-driven видеокамеры, нужно, как правило, подсовывать библиотеку-обертку v4l1compat.so, которая будет перехватывать вызовы подсистемы v4l2 и транслировать их в вызовы v4l1. Сие достигается посредством линухового механизма LD_PRELOAD. Например, вместо
mplayer tv:// используем
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so mplayer tv:// Так нужно поправить менюшки в любимом WM. Или можно написать скрипты-обертки. Или вообще вписать в profile:
export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so (это самый простой, но очень плохой вариант).
Терцио. Сабжевый девайс славен тем, что гонит картинку вверх ногами. Поэтому изображение нужно дважды -- по вертикали, а затем по горизонтали (чтобы вернуть на свои места правое и левое) -- "отразить". Можно, конечно, воспользоваться программулькой qv4l2, но дергать ее при каждом подключении камеры -- довольно утомительно. Правильный же путь таков: нехай udev при обнаружении железки сам ее и настраивает. Забросим в /lib/udev/rules.d файлик 99-my-hw.rules, и пропишем в нем:
# iSlim 300X webcam
ACTION=="add", ATTRS{idVendor}=="093a", ATTRS{idProduct}=="262c", PROGRAM="/usr/bin/v4l2-ctl -d %N -c vflip=1,mirror=1" Демона udevd после этого нужно не рестартовать (добром это не кончится!), а вежливо попросить его перечитать конфиги:
udevadm control --reload Все это, понятно, из-под рута или через sudo.
У меня всё.
[
original post ] [
comments ]