[SOLVED] Веб-камера Logitech QuickCam E1000

Доброго времени, уважаемые форумчане.

Приобрел я веб-камеру Logitech QuickCam E1000 (Cool/Easy). Хотелось бы его адекватно настроить в любимом Gentoo.

Для начала я узнал pid камеры:

Цитата:
#lsusb
...
Bus 006 Device 002: ID 046d:08af Logitech, Inc.
...

Сей девайс по идее должен поддерживаться драйвером gspca. Это я узнал здесь. Соответственно включаю поддержку в ядро:

Цитата:
Device Drivers (Multimedia devices)

<*> Video For Linux
[ ] Enable Video For Linux API 1 (DEPRECATED)
[*] Enable Video For Linux API 1 compatible Layer
[*] Load and attach frontend and tuner driver modules as needed

[*] Video capture adapters --->
[*] V4L USB devices --->
<*> USB GSPCA driver

Само ядро говорит следующее:

Цитата:
...
Linux video capture interface: v2.00
gspca: main v2.3.0 registered
usbcore: registered new interface driver zc3xx
zc3xx: registered
...
gspca: probing 046d:08af
hda_codec: Unknown model for ALC883, trying auto-probe from BIOS...
zc3xx: probe 2wr ov vga 0x0000
zc3xx: probe sensor -> 11
zc3xx: Find Sensor HV7131R(c)
gspca: probe ok
...

Устройство /dev/video0 создается. При загрузке индикатор мигает пару секунд.

Камера работает в Ekiga, но совершенно отказывается показывать в camorama (горит лампа, но программа вылетает с ошибкой "Unable to capture image") и в Cheese :(. Так же проблема с mplayerом. И моя самая главная проблема (именно это меня больше всего и беспокоит и мучает совесть), она не работает в Skype :((((((((((. Индикатор горит, и на консоль ничего не сыпется, а вот в самом окошке Skype показывается "испорченный телевизор".

Привожу вывод команды luvcview^

Цитата:
$luvcview -l
luvcview version 0.2.1
Video driver: x11
A window manager is available
video /dev/video0
Available controls of device 'zc3xx' (Type 1=Integer 2=Boolean 3=Menu 4=Button)
V4L2_CID_BASE (predefined controls):
index:9963776 name:Brightness type:1 min:0 max:255 step:1 def:128 now:128
index:9963777 name:Contrast type:1 min:0 max:256 step:1 def:128 now:128
index:9963792 name:Gamma type:1 min:1 max:6 step:1 def:4 now:4
index:9963794 name:Auto Gain type:2 min:0 max:1 step:1 def:1 now:1
index:9963803 name:Sharpness type:1 min:0 max:3 step:1 def:2 now:2
V4L2_CID_PRIVATE_BASE (driver specific controls):

$ luvcview -L
luvcview version 0.2.1
Video driver: x11
A window manager is available
video /dev/video0
{ pixelformat = 'JPEG', description = 'JPEG' }

Объясните, мне дураку криворукому, в чем я ошибся? Что я сделал не так? И как я могу заставить работать эту камеру в Skype? Хотя бы в нем. Мне родителям это очень надо, ради них никак не хочется ставить винду. Спасите от этого отчаянного шага. Подскажите хоть какие-нибудь идеи или направления, или киньте ссылочку, если вам не трудно.

Погляди вот сюда -

Погляди вот сюда - http://forums.gentoo.org/viewtopic-t-721826-highlight-v4l1compat.html особенно 4 и 5 посты - мне в аналогичной ситуации это помогло.

LD_PRELOAD

и везде пишут, что после включения gspca в состав ядра надо делать LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so

хотя, в ранних версиях, когда gspca ставился из портежей,media-video/gspcav1 , работало и без этого и более как то правильно, на мой взгляд..

кстати, а что за утиля luvcview? я для настройки пользую v4l2ucp

Да, с gspcav1 как-то меньше

Да, с gspcav1 как-то меньше геморроя было. Хотя, с другой стороны, теперь собеседники отмечают что картинка, с ядерным драйвером, стала намного лучше чем раньше. Мелочь, но приятно :)

Работает

Все здорово, спасибо. Проблема решилась.

Нужно было собрать libv4l и соотственно запускать приложения следующим образом:

Цитата:
$LD_PRELOAD="/usr/lib/libv4l/v4l1compat.so" skype

Только у меня теперь другой вопрос. Запуск из консоли хорошо, но как запускать просто выбрав пункт в меню?

Если для Skype все предельно просто, т. е. добавить строчку в shellовский скрипт /usr/bin/skype:

Цитата:
#!/bin/sh
cd "/opt/skype"
if [ -n "/opt/skype" ] ; then
if [ "${LD_LIBRARY_PATH+set}" = "set" ] ; then
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/skype"
else
export LD_LIBRARY_PATH="/opt/skype"
fi
fi
export LD_PRELOAD="/usr/lib/libv4l/v4l1compat.so"
exec /opt/skype/skype "$@"

то встает вопрос как быть с другими приложениями? Тем более такое решение со Skype лишь лечит симптомы, а не саму проблему.

Я так понимаю надо экспортировать где-то переменную LD_PRELOAD? Пробовал обычным set, мне не помогло :(

Не подскажите где? Заранее извините за наглость и огромное спасибо за совет.

Отвечу, чтобы логически

Отвечу, чтобы логически закрыть тему, сам столкнулся с подобной проблемой (KDE only).
Насколько я понял, KDE программы не экспортируют ~/.bashrc (кроме konsole?).
Необходимо использовать скрипт в ~/.kde/env/*.sh, например такой:

Пример (проверено только на KDE4.2.2):

user@pc ~ $ cat ~/.kde/env/v4l-preload.sh
export LD_PRELOAD="/usr/lib/libv4l/v4l1compat.so /usr/lib/libv4l/v4l2convert.so"

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".