Покуражимся ( Courage блог)

  • чтоб не забылось
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    обновленный видео драйвер xf86-video-ati-6.8.0
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    тестовая сборка

    Исходный код
    # ./configure --prefix=/usr
    # make


    прошла нормально

  • дальнейшая установка в систему драйвера ati (это авто-лоадер соответствующего
    карте драйвера radeon mach64 r128 )

    Исходный код
    make clean
    ./configure --prefix=/usr
    make install


    и правка xorg.conf


    Исходный код
    Section "Device"
            #Driver         "radeon"
            Driver          "ati"
    
    
            Identifier  "ATI Technologies Inc ATI Default Card"
            BusID       "PCI:1:0:0"
    EndSection


    показала что драйвер с картой hd2600 работает ...


    правда есть 2 странности
    - после загрузки устанавливается странное разрешение 1280х768 -
    непонятно откуда он его вынул - так как в xorg.conf


    - и xvinfo не показывает ничего

    Исходный код
    $ xvinfo
    X-Video Extension version 2.2
    screen #0
     no adaptors present


    хотя другая утилитка xdpyinfo выдает довольно развернутую инфо по адаптеру
    mplayer тоже не видит xv расширения с этим драйвером-картой


    - в man radeon ничего про поддержку карт hd2xxx не указано


    - кстати - обнаружилась утилитка для настройки параметров видео-вывода
    xvidtune - может оказаться потом полезной

  • а вот вывод xvinfo с проприетарным атишным драйвером fglrx


    то есть ждемс xv от открытых драйверов - или radeonhd или radeon

  • Я так и не понял, почему проприоритарный драйвер на HD2600 Pro + M2N-E SLI + openSUSE 10.3 (x86_64) не может заюзать xorg.conf. Создаёт одинаковые секции Device c противоречащими параметрами fglrx в одной и fbdev в другой. Любое ручное вмешательство приводит к отказу иксов.
    Но ладно бы. Можно двигать слайдер разрешения в каталисте, но ни черта не записывается и при следующей загрузке (почему-то в 1600х1200) опять нужно лезть.
    В отличии от RadeonHD, преобладает бурый оттенок при воспроизведении кинищ и есть избыток цветности. Нужно цветность регулировать отдельно по каналам.
    В то же время на P4P800+X1600 AGP+ openSUSE 10.2 (x86) ничего такого не наблюдается.

    RadeonHD (по заявленному) не умеет работать со вторым дисплеем, а мне это нужно в независимом режиме расш. раб. стола "театр" (по терминологии Каталиста) по HDMI выходу.
    Сглаживание котура объекта при воспроизведении не работает пока нигде.
    Аппаратный деинтерлейсинг отсутсвует во всех вариантах драйверов.

    Чем лучше этот новый открытый драйвер ATI? Неужели в мире нет специалиста, которому это лично для себя нужно?

  • следствие по делу переключения клавы в КДЕ


    KDE contol center создает и работает с этим файлом
    ~/.kde/share/config/kxkbrc


    но дальше сложнее - есть такая утилита которая собственно и занимается
    переключением раскладок setxkbmap - вот что она выдает по своим установкам

    Исходный код
    $ setxkbmap -print
    xkb_keymap {
            xkb_keycodes  { include "xfree86+aliases(qwerty)"       };
            xkb_types     { include "complete"      };
            xkb_compat    { include "complete+lednum(group_lock)+ledcaps(group_lock)+ledscroll(group_lock)" };
            xkb_symbols   { include "pc+ru(winkeys)+group(shifts_toggle)"   };
            xkb_geometry  { include "pc(pc104)"     };
    };


    то есть я так понимаю что она использует другой конфиг файл - но где он - пока не нашел
    нашел только файлы этой переключалки в /usr/share/X11/xkb
    есть еще папка /var/lib/xkb который обновляется при засылки любой
    setxkbmap но эта папка пуста!


    пока самый простой путь
    - отключение после запуска КДЕ штатного переключателя (с флажком в трее)
    - запуск этих 2-х строк

    Исходный код
    $ setxkbmap -model pc104 -layout us,ru -variant ,winkeys
    $ setxkbmap -option grp_led:scroll,grp_led:num,grp_led:caps,grp:toggle


    после которых переключение раскладок на АЛТ и индикация всеми лампочками на клаве


    Цитата

    новый открытый драйвер ATI


    что тут сказать - не знаю - приоритеты у разработчиков открытых драйверов где то озвучивались уже
    - это 2D->3D и напоследок может быть и прочие фичи как то видео ... именно в такой последовательности
    разделяются запрсы юзеров видимо ... много ли юзеров желают xvideo на втором мониторе? ))))

  • пылящаяся на полке miniDV камера в качестве полезного устройства )))


    первым делом вынимаем из комкодера кассету - тем самым камера перестает
    автоматически отключаться от питания для экономии электроэнергии


    ставим камеру на штатив и подключаем ее к сети 220 и соединяем с компом по fireware (ieee1394) -
    и включаем ее в режим запись - создается девайс
    ieee1394: raw1394: /dev/raw1394 device initialized


    к сожалению не знаю - возможно ли создание из этого девайса другого девайса - /dev/video
    чтобы любые проги могли с ним работать - но есть такая прога dvgrab которая поможет
    сделать из камеры 2 полезных устройства


    == webcam ==
    грабим каждую минуту в один и тот же файл webcam.jpg - применимо для публикования снимков с
    веб-камеры

    Исходный код
    # dvgrab --format jpeg --jpeg-overwrite --jpeg-quality 60 --jpeg-width 384 --jpeg-height 270 --every 1500 webcam


    == серийный фотограф ==
    а так можно приготовить серию снимков каждую минуту - например распускающегося цветка -
    чтобы потом сделать из него кино )))

    Исходный код
    # dvgrab --format jpeg --timestamp --jpeg-quality 60 --jpeg-width 384 --jpeg-height 270 --every 1500 flower-


    названия будут типа flower-2008.02.27_09-58-43-00000002


    затем серию снимков складываем в один файл
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    13.8. Encoding from multiple input image files (JPEG, PNG, TGA, etc.)


    упаковка серии снимков в один Motion JPEG (MJPEG) файл - получается убыстренное воспроизведение
    где время сжато в 60 раз - снимки делались каждую минуту а в файле они меняются раз в секунду

    Исходный код
    # mencoder mf://*.jpg -mf w=384:h=270:fps=1:type=jpg -ovc copy -oac copy -o output.avi


    из 30 снимков сделанных каждую минуту - то есть полчаса- создается файл
    avi в пол-мегабайта


    == для видео-конференций ==
    для наследника gnomemeeting - akiga вроде бы есть плагин для использования камеры miniDV
    как камеры для конференции - но не пробывал
    кстати - там же есть и возможность использование картинки - но она статичная - и файл полученный
    в режиме webcam к сожалению в akiga не обновляется - надо все же понять как из картинки обновляющейся
    через определенный интервал получить девайс /dev/video чтобы можно было его использовать и там


    == слежение за помещением ==
    A Gnome Security Camera
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    прога пишет сграбленные с видео устройства кадры в видео файл - причем если движения в
    кадре нет - то и кадры в видео не идут - а если обнаружено движение - то пишется намного чаще-
    то есть эта прога для слежения за помещениями - правда довольно давно заброшена


    -- чтобы не забылось --
    LINUX AR TOOLKIT HOW TO
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • продолжил поиск возможного решения - из 1394 -> /dev/video


    == начало ==


    Исходный код
    # lsmod | grep 1394
    dv1394                 18648  0
    [CODE]eth1394                18212  0
    raw1394                25432  4
    ohci1394               30800  1 dv1394
    ieee1394               86904  5 sbp2,dv1394,eth1394,raw1394,ohci1394


    а video1394 нет (((


    после загрузки модуля - модуль в списке появился


    # modprobe video1394
    # lsmod | grep 1394
    video1394 16920 0
    dv1394 18648 0
    eth1394 18212 0
    raw1394 25432 4
    ohci1394 30800 2 video1394,dv1394
    ieee1394 86904 6 video1394,sbp2,dv1394,eth1394,raw1394,ohci1394[/CODE]
    появилась и папка /dev/video1394/ и файл -0 171, 16 в нем


    -- варианты --
    оказывается есть несколько вариантов создания из /dev/video1394/0 нодов /dev/video
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    firewire avc1394 camcorder to v4l for ekiga and cheese
    но ни один из них у человека не сработал ...
    Coriander - не работает если нет кассеты в камере
    dc1394_vloopback
    dv2vloopback


    решил сам попробывать
    во всяком случае используется модуль vloopback - первым делом попробывал их
    найти в дебиан и обломался - и модуль и эти 2 утилиты в дебиан отсутствует

    Исходный код
    # apt-cache search vloopback
    # apt-cache search dc1394_vloopback
    # apt-cache search dv2vloopback


    присутствует только

    Исходный код
    # apt-cache search Coriander
    coriander - control IEEE1394 digital camera


    однако, насколько я понял, этот кориандр предназначен только для камер а не для комкодеров
    и он не запускается - не находит подходящую камеру


    == раскопки ==
    -- vloopback --
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    Video4Linux Loopback Device
    New release candidate for new kernel stable version 2.6.19 NEW
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    -- dc1394_vloopback --
    dc1394_vloopback входит в состав libdc1394 в директории examples/
    Index of /trunk/libdc1394
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    проект более менее живой


    а в дебиан пакет libdc1394-13 утилита dc1394_vloopback не входит ((

  • итак - коротенько - без обломов - первые шаги по научению дебиан делать из 1394
    комкодера v4l видео


    == устройство /dev/video1394/0 ==

    Исходный код
    # modprobe video1394
    # lsmod | grep 1394
    video1394              16920  0
    dv1394                 18648  0
    eth1394                18212  0
    raw1394                25432  4
    ohci1394               30800  2 video1394,dv1394
    ieee1394               86904  6 video1394,sbp2,dv1394,eth1394,raw1394,ohci1394


    появилось устройство /dev/video1394/0


    == модуль vloopback ==
    берем исходные модуля
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    распаковываем и затем собираем и ставим

    Исходный код
    # make
    # make install
    # modprobe vloopback
    # lsmod | grep vloopback
    vloopback              13760  0
    videodev               21120  2 vloopback,saa7146_vv


    == утилита dc1394_vloopback ==
    сборка libdc1394 (из которой интересна dc1394_vloopback)обломалась

    Исходный код
    # svn co https://libdc1394.svn.sourceforge.net/svnroot/libdc1394/branches/Version_1/libdc1394/ 
    # cd libdc1394
    # apt-get install automake
    # apt-get install libtool
    # apt-get install libraw1394-dev 
    # ./autogen.sh 
    # make
    # make install
    # dc1394_vloopback
    dc1394_vloopback: error while loading shared libraries: libdc1394_control.so.12: cannot open shared object file: No such file or directory


    библиотечные файлы легли в /usr/local/lib а мне лень разбираться - то я перебросил в /usr/lib
    libdc1394_control.a
    libdc1394_control.la
    libdc1394_control.so
    libdc1394_control.so.12
    libdc1394_control.so.12.1.2
    в /usr/lib - и момент истины


    Исходный код
    # dc1394_vloopback
    unable to start camera iso transmission
    : Success


    особо порадовало слово Success после unable to start


    пока на этом все ...
    да и по всей видимости эта утилита dc1394_vloopback тоже предназначена для
    камер а не для комкодеров

  • попытка установки последнего варианта dv2vloopback и на другой машине
    debian lenny testing (до этого я пробывал на стабильном дебиан - эта
    разница оказалась очень важна!!! потому как в debian тестинге в
    кернеле 2.6.22 дебиановцы отключили стабильный стек ieee1394 и используют
    экспериментальный стек firewire
    )


    == install vloopback ==

    Исходный код
    # apt-get install libgd2-xpm-dev dvgrab
    # wget http://www.lavrsen.dk/twiki/pub/Motion/VideoFourLinuxLoopbackDevice/vloopback-1.1-rc1.tar.gz
    # tar xvzf vloopback-1.1-rc1.tar.gz
    # cd vloopback-1.1-rc1
    # make 
    # make install
    install -m 644 -c vloopback.ko /lib/modules/2.6.22-2-686/kernel/drivers/misc


    такие модули до установки videodev vloopback - хм - интересно что
    теперь (кернел 2.6.22) модули называются не ieeе1394 (так было в 2.6.18) а firewire


    Исходный код
    # lsmod | grep -e videodev -e vloopback -e firewire
    firewire_sbp2          12100  0
    firewire_ohci          16512  0
    firewire_core          38816  2 firewire_sbp2,firewire_ohci
    crc_itu_t               2144  1 firewire_core
    scsi_mod              136620  3 firewire_sbp2,sd_mod,libata


    пробую загрузить модули


    модуль vloopback не встал ((


    сделал перезагруз и после перезагрузки

    Исходный код
    # lsmod | grep -e videodev -e vloopback -e firewire
    videodev               26784  0
    v4l2_common            16544  1 videodev
    v4l1_compat            12516  1 videodev
    firewire_sbp2          12100  0
    firewire_ohci          16512  0
    firewire_core          38816  2 firewire_sbp2,firewire_ohci
    crc_itu_t               2144  1 firewire_core
    scsi_mod              136620  3 firewire_sbp2,sd_mod,libata



    vloopback все так же не вставляется - что-то с несовпадением версий -
    попробывал другой кернел 2.6.22-3-486


    Исходный код
    # apt-get install linux-image-2.6.22-3-486 
    # apt-get install linux-headers-2.6.22-3-486


    перезагруз в 2.6.22-3-486 кернел (пришлось заменить видео драйвер на vesa -
    так как драйвер ати собирался для 2.6.22-2-686)


    пересборка vloopback и момент истины

    Исходный код
    # modprobe videodev
    # modprobe vloopback


    ОК - модуль встал без ошибок
    так встало ))))

    Исходный код
    # lsmod | grep -e videodev -e vloopback -e firewire
    vloopback              13536  0
    videodev               26496  1 vloopback
    v4l2_common            16640  1 videodev
    v4l1_compat            12676  1 videodev
    firewire_sbp2          12164  0
    firewire_ohci          16640  0
    firewire_core          39488  2 firewire_sbp2,firewire_ohci
    crc_itu_t               2176  1 firewire_core
    scsi_mod              136844  3 firewire_sbp2,sd_mod,libata


    == dv2vloopback ==
    теперь можно взятся и за dv2vloopback
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    This is a program that will enable you to use your camcorder as a v4l device.


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    загрузил - распаковал - перешел в сырцы - кстати увидел скрипт для установки в кубунту
    installDebian.sh - итак сборка утилиты

    Исходный код
    # make
    # chmod +x dv2vloopback


    утилита собрана - модули подключены - теперь подключавем и включаем комкодер

    Исходный код
    # dmesg
    Linux video capture interface: v2.00
    /opt/minidv/vloopback-1.1-rc1/vloopback.c: Video4linux loopback driver v1.1-rc1
    /opt/minidv/vloopback-1.1-rc1/vloopback.c: Loopback 0 registered, input: video0,output: video1
    firewire_core: phy config: card 0, new root=ffc1, gap_count=5
    firewire_core: created new fw device fw1 (0 config rom retries)


    в вижу несколько девайсов

    Исходный код
    -fw0                                                     253,  0
    -fw1                                                     253,  1
    -video0                                                   81,  0
    -video1                                                   81,  1


    все девайсы кроме -fw1 созданы при запуске системы video0 video1 видимо
    связаны с картой ТТ3200


    черт - опять не слава богу

    Исходный код
    # ./dv2vloopback /dev/video0 352x288x24 25
    raw1394 - failed to get handle: No such file or directory.
    Segmentation fault


    подумал и доставил

    Исходный код
    # apt-get install libraw1394-dev


    не помогло


    оказывается что начиная с версии 2.6.22 в дебиан включен новый экспериментальный
    стек 1394 - который заменил старый (вместе они не живут)...
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    и на самом деле в .config дебианокского кернела 2.6.22 CONFIG_IEEE1394 is not set

    Исходный код
    #
    # IEEE 1394 (FireWire) support
    #
    CONFIG_FIREWIRE=m
    CONFIG_FIREWIRE_OHCI=m
    CONFIG_FIREWIRE_SBP2=m
    # CONFIG_IEEE1394 is not set


    надо или откатится на более раннюю версию ядра - но в дебиан тестинг нет пакета
    с кернелом скажем 2.6.18 (((
    придеьтся пересобрать кернел 2.6.22-3-486 но с другим стабильным стеком - описание в следущем посте


    вообще дебиановцы поступили круто - вместо стабильного стека ieee1394
    включили в ленни кернел с недоделаным стеком FIREWIRE - спасибо им за это огромное

  • == сборка кернела 2.6.22 и модулей для ieee1394 в ленни ==
    чтож - попробую собрать кернел с стабильным стеком - вернее всего то и
    надо несколько модулей но для этого нужны сырцы всего кернела
    чтобы ничего не переделывать кроме этого


    Creating custom kernels with Debian's kernel-package system
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

    Советы для успешной перекомпиляции ядра Линукс.
    Оригинал: Tips for successful Kernel Recompilation in Linux
    Дата: 1 января 2008
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    тянем
    linux-tree-2.6.22 - Linux kernel source tree for building Debian kernel images

    Исходный код
    # apt-get install linux-tree-2.6.22


    сборку буду делать с .config от 2.6.22-3-486 (под ним собрались и
    запускаются все нужные мне утилиты)


    Исходный код
    /usr/src# tar -jxf linux-source-2.6.22.tar.bz2
    /usr/src# ln -s linux-source-2.6.22 linux
    
    
    /usr/src# cd linux
    /usr/src/linux# cp /boot/config-2.6.22-3-486 .config
    /usr/src/linux# make oldconfig
    /usr/src/linux# make menuconfig


    отправился прямиком в IEEE 1394 (FireWire) support и отключил
    <M> IEEE 1394 (FireWire) support - alternative stack, EXPERIMENTAL
    и включил
    < > IEEE 1394 (FireWire) support
    и все что там было в режим <М> ручной загрузки
    вот что стало в .config


    теперь собственно сборка

    Исходный код
    /usr/src/linux# apt-get install fakeroot 
    /usr/src/linux# apt-get install kernel-package
    /usr/src/linux# fakeroot make-kpkg clean
    /usr/src/linux# fakeroot make-kpkg --append-to-version=.080228 kernel_image


    deb пакет получил странное название
    linux-image-2.6.22.080228_2.6.22.080228-10.00.Custom_i386.deb
    видимо не надо было --append-to-version=.080228 добавлять - но да фиг с ним
    сам же кернел называется
    linux-image-2.6.22.080228


    установил так

    Исходный код
    # dpkg -i linux-image-2.6.22.080228_2.6.22.080228-10.00.Custom_i386.deb


    в grub меню добавился

    Исходный код
    title           Debian GNU/Linux, kernel 2.6.22.080228
    root            (hd0,1)
    kernel          /boot/vmlinuz-2.6.22.080228 root=/dev/sda2 ro quiet
    savedefault


    правда нет initrd но об этом потом - пошел пробывать загрузить новый кернел


    ==============================================
    чтоб не забылось
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

    Цитата

    vloopback - video4linux loopback device
    Пояснение Можно перекидывать в loopback video4linux из других источников. Пример:
    insmod vloopback.o dev_offset=2 pipes=1
    mplayer -vo v4lw movie.avi
    xawtv -c /dev/v4l/video3 -geometry 800x600


    ======================================================

  • без инитрд система не запустилась - надо доделать - делал без пересборки всего и вся -
    прямо по собранному ранее
    спасибо free-x за подсказку где искать хвосты

    Исходный код
    # cd /usr/src/linux
    # apt-get install initramfs-tools
    # fakeroot make-kpkg --initrd --append-to-version=.080228  kernel_image


    быстренько создался новый имидж linux-image-2.6.22.080228_2.6.22.080228-10.00.Custom_i386.deb
    но внутри него нет имиджа рам диска --- но его там и НЕ должно быть - он собирается при установке
    пакета

    Исходный код
    /usr/src# dpkg -i linux-image-2.6.22.080228_2.6.22.080228-10.00.Custom_i386.deb 
    .....
    Setting up linux-image-2.6.22.080228 (2.6.22.080228-10.00.Custom) ...
    Running depmod.
    Finding valid ramdisk creators.
    Using mkinitramfs-kpkg to build the ramdisk.
    Not updating image symbolic links since we are being updated/reinstalled
    (2.6.22.080228-10.00.Custom was configured last, according to dpkg)
    Running postinst hook script update-grub.
    ........


    и в груб menu.lst

    Исходный код
    title           Debian GNU/Linux, kernel 2.6.22.080228
    root            (hd0,1)
    kernel          /boot/vmlinuz-2.6.22.080228 root=/dev/sda2 ro quiet
    initrd          /boot/initrd.img-2.6.22.080228
    savedefault


    опять попробую перезагрузится на сей раз с инитрд

  • кернел и инит рд - все сработало - теперь смотрим за что боролись

    Исходный код
    # modprobe ohci1394
    # modprobe raw1394
    # modprobe video1394
    # modprobe dv1394
    # modprobe eth1394
    # modprobe sbp2
    # modprobe videodev


    пересобрал и установил модуль vloopback

    Исходный код
    # cd vloopback-1.1-rc1
    # make clean
    # make 
    # make install
    # modprobe vloopback


    нужное из dmesg после установки модуля

    Исходный код
    /opt/minidv/vloopback-1.1-rc1/vloopback.c: Video4linux loopback driver v1.1-rc1
    /opt/minidv/vloopback-1.1-rc1/vloopback.c: Loopback 0 registered, input: video0,output: video1


    видим что создано 2 устройства /dev/video0 /dev/video1


    вот такая куча модулей в конце концов встала


    за это и боролся - а теперь конец - попытка всеж завести этот мостик

    Исходный код
    opt/minidv/dv2vloopback# ./dv2vloopback /dev/video0 352x288x24 25
    Error: no camera exists
    
    
    Segmentation fault


    долгий долгий путь в дюнах .... в никуда (((
    правда этот облом произошел после отключения камеры - а до этого что то там мелькало и
    создавался файл в /tmp webcam.jpg - очередной перезагруз и проверка

  • длиннаядлинная дорога к тому как заставить проги которые понимают только
    v4l видео устройства увидеть картинку с miniDV комкодера по firewire


    через длинный путь и обломы пришло


    == понимание ==
    в-общем единственный способ как то заставить работать miniDV комкодер для
    видеоконференс прог - таких как akiga - использовать dv2vloopback
    которая в свое время тянет за собой такие модули и проги
    модуль raw1394
    модуль videodev
    модуль vloopback
    прога dvgrab


    примечание - для дебиан кернелов < 2.6.22 (4.0 stable) модуль raw1394
    идет в комплекте - а для дебиан тестинг (кернел 2.6.22) нужны танцы
    с бубном для того чтобы заменить экспериментальный стек firewire на стабильный
    ieee1394 - я про это писал выше


    если все это собрано загружается и работает - то

    Исходный код
    # ./dv2vloopback /dev/video1 177x136x24 10 -v


    эта утилитка грабит при помощи dvgrab картинку с камеры раз в секунду -
    кладет ее в /tmp/webcam.jpg конвертирует ее в видео поток и затем запихивает ее на вход vloopback
    устройства (например /dev/video1)- а тот пихает ее в выходное устройство (скажем /dev/video2)
    (это на машине на которой занят /dev/video0 - скажем ФФ спутниковой картой - если ничего такого нет -
    то /dev/video0 = вход /dev/video1 = выход)


    видео проги для просмотра должны цеплятся к второму (выходному) устройству
    созданному vloopback например

    Исходный код
    # xawtv -c /dev/video2 -geometry 177x136


    или akiga - там это устройство называется video loopback 0 output
    но и там и сям картинка весьма странная


    это на дебиан stable - на дебиан testing камера почему то не находится ... пока

  • нашел решение давней моей проблемы с невозможностью чтения и установки
    времени при помощи hwclock через девайс /dev/rtc (по умолчанию)
    симптомы
    - сообщению при загрузке
    Unable To Set System Clock


    - и если напрямую попытаться

    Исходный код
    # hwclock
    select() to /dev/rtc to wait for clock tick timed out
    #


    из-за этого время в КДЕ тоже устанавливается странно - каждый раз ставится на
    3 часа (на разницу в таймзоне) больше ... в-общем много текста - решение тут
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    вот опция которая решает эту проблему - при этом hwclock общается напрямую


    Исходный код
    # hwclock --directisa
    Sat 15 Mar 2008 09:26:17 AM MSK  -0.708021 seconds


    Исходный код
    --directisa
    This option tells hwclock to use explicit I/O instructions to access the
    Hardware  Clock.
    Without  this option,  hwclock will try to use the /dev/rtc device
    (which it assumes to be driven by the rtc device driver).
    If it is unable to open the  device (for read), it will use the explicit
    I/O instructions anyway.


    возможно что rtc драйвер на моей материнке Асус Р35 работает не совсем правильно


    для автоматического использования при загрузке - надо править
    /etc/init.d/hwclock.sh
    /etc/init.d/hwclockfirst.sh


    изменить переменную

    Исходный код
    HWCLOCKPARS=--directisa


    затем магическим образом время устанавливается нормально


    Исходный код
    # /etc/init.d/hwclock.sh restart
    Saving the system clock.
    #


    и в КДЕ сразу показалось нормальное локальное время )))

  • стал обладателем неплохого 22 дюймового широкоэкранного монитора от Benq T221w 1680x1050


    встала проблема с драйверами в дебиан
    1. vesa драйвер не поддерживает 1680х1050
    2. недавно собранный (Feb 20) свободный драйвер ati xf86-video-ati-6.8.0
    сразу подхватил нужное разрешение
    3. довольно старый уже проприетарный ati-driver-installer-8.41.7-x86.x86_64.run
    не поддерживает на широкоформатных мониторах 1680х1050 и устанавливает максимум 1280х1024
    4. старый свободный radeonhd от 19.12.07 вообще не увидел монитора на DVI


    начал приводить драйверы в соответствие с новыми требованиями )))


    ==================================================================
    Driver "radeonhd"


    Исходный код
    $ cd /usr/local/src
    $ git clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-radeonhd
    $ cd xf86-video-radeonhd
    $ ./autogen.sh
    $ make
    $ make install exec_prefix=/usr


    поправил xorg.conf - указал драйвер radeonhd в Section "Device"

    Исходный код
    Section "Device"
            Identifier      "ATI Technologies Inc ATI Default Card"
            #Driver         "ati"
            Driver          "radeonhd"
            #Driver         "vesa"
            BusID           "PCI:1:0:0"
    EndSection


    перезапуска Х сервера ALT+CTRL+BACK_SPACE оказалось недостаточно -
    перезапуск машинки - разрешение 1680х1050 установилось - вдр не запускается


    # xvinfo
    X-Video Extension version 2.2
    screen #0
    no adaptors present


    ====================================================================
    Driver "fglrx"
    продолжил с проприетарным атишным драйвером 8.3 March 5, 2008
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    ati-driver-installer-8-3-x86.x86_64.run


    установку я описывал тут
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    сейчас так же встал драйвер легко и режим 1680х1050 тоже установилс нормально


    ===============================================================
    Driver "vesa"
    vesa - вроде как надо прописать моделайн для этого режим
    вот такие родные моделайн для нейтив разрешения вынимаются по DDC из монитора

    Исходный код
    (II) RADEONHD(0): Modeline "1680x1050"x60.0  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync (65.3 kHz)
    (II) RADEONHD(0): Modeline "1680x1050"x59.9  147.00  1680 1787 1966 2252  1050 1053 1059 1089 -hsync +vsync (65.3 kHz


    но запустить широформатный режим с этим драйвером пока не удалось - максимум что получилось -
    4:3 1280х1024
    для этого надо было расширить HorizSync 28-51 до 28-80 и просто прописать
    Modes "1280x1024"
    ================================================================
    Driver "ati"


    Исходный код
    $ cd /usr/local/src
    $ git-clone git://anongit.freedesktop.org/git/xorg/driver/xf86-video-ati
    $ cd xf86-video-ati
    $ git checkout origin/randr-1.2
    $ ./autogen.sh --prefix=/usr/
    $ make
    $ make install


    включить этот драйвер просто - в xorg.conf просто заменить Driver на другой


    Исходный код
    Section "Device"
            Identifier      "ATI Technologies Inc ATI Default Card"
            Driver         "ati"
            #Driver          "radeonhd"
            #Driver         "vesa"
            BusID           "PCI:1:0:0"
    EndSection


    ===================================================================


    результат:
    - для разрешения 1680х1050 на видео карте ати hd2600 доступны такие драйверы -
    свободные ati(xf86-video-ati-6.8.0) и radeonhd(git от 24 марта 2008) и проприетарный
    фирменный fglrx (ati-driver-installer-8-3-x86.x86_64.run)


    - из них только fglrx поддерживает пока что xvideo - хотя использовать этот
    xv в связке vdr-xine-plugin + xine player не получается - ксайн плейер нормально
    показывает только с драйвером вывода xshm
    то есть для вдр пока что что в лоб что полбу какой видео драйвер использовать в
    иксах

  • nvram-wakeup на Асус Р5К (Интел Р35)


    программа и модуль для записи в nvram даты и времени просыпания
    компьютера


    Исходный код
    apt-get install nvram-wakeup


    загружаем исходники проги отсюда
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    нам из них нужен лишь guess-helper = скрипт для автоматического
    создания конфига (проект застопорился в 2004 году и конфиги для
    современных плат в нем отсутствуют)


    все запуски делаем от root
    запуск №1
    запускаем скрипт (всего понадобится 4 перезапуска компа и 5 запусков
    скрипта) выбираем тип чипсета (i = Intel) нам говорят что надо после
    рестарта в биос установить такие дату и время просыпания
    31 число 23 ч 59 мин 59 сек и предлагают ребут (r)
    ставим в биос что просят загружаемся и


    запуск №2
    запускаем скрипт (создается дамп nvram 31.23.59.59+ в /root/guess-directisa)
    теперь нам говорят что надо поставить 11 число 12 ч 13 мин 14 секунд
    и снова жмем (r)
    ставим что просят в биосе загружаем и


    запуск №3
    запускаем скрипт (создается дамп nvram 11.12.13.14+ в /root/guess-directisa)
    на этот раз предлагают поставить 01 число 00 часов 00 мин 00 сек
    жмем (r) ставим в биос что надо - загружаем и


    запуск №4
    запускаем скрипт (создается дамп nvram 01.00.00.00+ в /root/guess-directisa)
    - теперь нам предлагают в биос оставить время
    и дату старое и выключить просыпание по таймеру - жмем (r)-
    делаем что просят - загружаем и


    запуск №5
    запускаем скрипт (создается дамп nvram 01.00.00.00- в /root/guess-directisa)
    и на основании 4-х дампов nvram создается конфиг nvram-wakeup.conf
    - в папке /root/guess-directisa





    перекладываем nvram-wakeup.conf в /etc и запускаем тестовый старт
    --nowrite = без записи в nvram)))


    Исходный код
    # nvram-wakeup -C /etc/nvram-wakeup.conf --directisa --nowrite


    видим что что то не так с доступом к верней половине дампа
    и после небольших разборок добавляем в nvram-wakeup.conf


    Исходный код
    upper_method = INTEL


    теперь все ок


    пробуем занести в nvram дату и время - прога принимает так называемое эпохальное
    время - количество секунд прошедших с 01 января 1970 года
    перевести любое время в эпохальное поможет прога date например текущее время
    + 1 час

    Исходный код
    # date  --date="today+1hour"
    Tue Mar 25 13:11:40 MSK 2008
    # date +%s --date="today+1hour"
    1206439913


    проверяем как заносится дата


    легкое удивление на лице - видим что дата установлена на -5 минут по отношению к
    той что мы заказали - следы находятся в nvram-wakeup.h


    Исходный код
    * WAKEUP_BEFORE   is the number of minutes the machine needs for booting.  I.e.
     *                 we will set the wake up time  WAKEUP_BEFORE menutes before we
     *                 need the machine to be up and running.
    #define WAKEUP_BEFORE    5


    эти 5 минут даются на загрузку операционки


    чтож - теперь запишем это время в nvram и проверим как оно (25 число 10ч12минут34сек )
    установилось в биосе

    Исходный код
    # nvram-wakeup -C /etc/nvram-wakeup.conf --directisa --settime 1206429454
    ....
    Now really WRITING into /dev/nvram...


    заходим в биос и видим ... что заказанные 25 число 13 ч 06 мин 53 сек установились
    все в порядке


    окончательная проверка

    Исходный код
    # nvram-wakeup -C /etc/nvram-wakeup.conf --directisa --settime $((`date +%s --date="today+12min"`))
    Enabling (0x20) WakeUp-on-RTC in nvram.
    New Day     : 03 (0x03)
    New Hour    : 12 (0x0C)
    New Minute  : 55 (0x77)
    New Second  : 27 (0x5B)
    New Checksum: 0x1D30
    
    
    Now really WRITING into /dev/nvram...


    и ... ничего !!!


    в итоге выяснилось еще одно - для просыпания после установки НЕОБХОДИМ
    дополнительный reboot
    чтоб записанные параметры сработали

    Исходный код
    need_reboot      = ON_ANY_CHANGE


    то есть необходимо чтоб произошла загрузка хотя б до меню grub


    чтоб не забылось - синхронизировать аппаратные часы с системными

    Исходный код
    # hwclock --directisa --systohc



    в итоге nvram-wakeup.conf выглядит так

  • честно говоря не верил что в связке вдр+xineliboutput на сервере -> vdr-sxfe на клиентской машине
    показывается осд - теперь могу точно сказать - да - и видео и осд и управление с
    клиентской машины ЕСТЬ!


    итак, попробывал на другой машине (дебиан стабильный) собрать sxfe-vdr клиент


    для сборки sxfe-vdr клиента нужны


    ==============================================
    xine-lib
    для начала взял ветку xine-lib-1.1 - дебиан на этой машине вроде как стабильный пока
    и начинать с установки на нем ffmpeg и xine-lib-1.2 с подключением внешнего ffmpeg
    пока еще рано ))) итак выбор пал на xine-lib-1.1.11.tar.bz2
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    распаковал исходные в
    /usr/local/src/xine-lib-1.1.11
    зашел туда и

    Исходный код
    # ./autogen.sh --prefix=/usr/local
    # make
    # make install
    # ldconfig



    заодно и xine-ui собрал - взял тут
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    зашел в xine-ui-0.99.5 и собрал
    # ./autogen.sh --prefix=/usr/local
    # make
    # make install


    запустил

    Исходный код
    # xine


    gui запустился - значит с xine-lib все ОК
    =======================================================
    исходные вдр плагина vdr-xineliboutput в который входит клиент vdr-sxfe


    перешел в директорию с исходными плагинов и вытянул исходные из cvs

    Исходный код
    cvs -z3 -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput co vdr-xineliboutput


    зашел в vdr-xineliboutput директорию и собрал там

    Исходный код
    # make
    # make install
    Installing ///usr/local/lib/xine/plugins/1.20/xineplug_inp_xvdr.so
    Installing ///usr/local/lib/xine/plugins/1.20/post/xineplug_post_autocrop.so
    Installing ///usr/local/lib/xine/plugins/1.20/post/xineplug_post_swscale.so
    Installing ///usr/local/lib/xine/plugins/1.20/post/xineplug_post_audiochannel.so
    Installing ///usr/bin/vdr-fbfe
    Installing ///usr/bin/vdr-sxfe


    попробывал запустить vdr-sxfe - на другой машине запушен вдр и xineliboutpyt плагин
    вещает удаленно - при запуске vdr-sxfe он сам нашел сервер подцепился к нему и сразу
    показал картинку ))) и - о чудо - не просто показал картинку но и картинку с ОСД!!!!!!
    и управляется с удаленной машины!!!
    даже в такой связке показываются на удаленной машине sd h264 каналы с 40Е !!!!


    в-общем vdr-sxfe[ отличное решение для удаленного подключения к вдр с линукс машины


    для xine установился также плагин входа xvdr - установка адреса сервера
    с которого надо брать сигнал - на закладке установок xine-ui media -
    в самом низу - default vdr host xvdr://127.0.0.1#nocache;demux:mpeg_block
    заменил его на свой адрес сервера и при нажавтии кнопочки xvdr -
    увидел картинку и --- ОСД тоже видно!!!! только вот управления с
    xine-ui нет .... и с пропорциями картинки что то


    пакет xineliboutput-sxfe входит в дебиан! но к сожалению только в lenny (testing) sid (unstable)
    для стабильной версии пакета нет - поэтому только ручками - как выше описано



    на картинке видны оба клиента на удалененой машине

  • Courage
    А ты не пробывал научить свой ВДР просыпаться по таймерам записей? Мне просто интерестно каким макаром ты это сделаешь

  • Bikalexander
    нет - не пробывал - у меня не классический выделенный вдр а десктоп с
    вдр - это скорее не спутниковый ресивер а площадка для экспериментов ;)
    и пока актуальности будить машину чтоб сделать запись - не было