Via Epia M10000 - budget VDR

  • По совершенно правильному замечанию free-x перестаю "мусорить" в "ядренной" теме и создаю новую...


    В целом задача такая:
    Куплена, по случаю, материнка Via Epia M10000, чипсет CLE266 с интегрированной графикой S3 Unichrome. Заявлена поддержка MPEG2 на аппаратном уровне. Процессор VIA C3 1 Ghz с ма-а-аленьким кулером (практически пассивное охлаждение).
    В принципе думаю вообще его снять, поскольку на радиатор проца дует кулер с блока питания.


    Необходимо собрать "бюджетный" вариант ArVDR с SS2 на борту.
    Пересобрал ядро с поддержкой viafb и собрал декодер в соотвествии с этой инструкцией Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    А так же вот этой Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    и вот этой: Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    Соотвественно пересобрал ffmpeg, DirectFB, DFB++, softdevice
    Однако при запуске VDR в vdr.err получаю следующее:

    Цитата

    (*) DirectFB/Core: Single Application Core. (2007-02-21 02:4cool
    (!) Direct/Modules: Module 'libdirectfb_fbdev.so' did not register itself after$
    (!) Direct/Modules: ... even did not register after explicitly calling the modu$
    (!) DirectFB/core/system: No system found!
    [dfb] init EXITING:action=IDirectFB* DirectFB::Create(), result=No (suitable) i$


    Куда копнуть ??? Чувствую надо собирать с "нуля", но очень нехочется сносить все "навороченное" на рабочей машинке. Там кругом "заначки" (скрипты, наброски, т.п.) Да и софтины много разной - которую в большой лом пересобирать по-новой... ;(


    P.S. Материнка обошлась в 65 баксов. 8)

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем BNXVS ().

  • Ну все - ЗАВЕЛ. Тихо тащусь сам от себя... :D


    В целом проблемы были из-за кривого CVS DirectFB (который колбасит в день по разу). Советую использовать все-таки RC4. А DFB++ можно и CVS. Вообщем к выходным накидаю блог по этой теме.


    Впечатления: Качество картинки и стабильность на порядок выше варианта с DXR3. Вывод через Directfb - это ВЕЩЬ однако.


    Есть еще одна проблема, собрал DVD плагин - при просмотре DVD с дисков имеет место быть "зелено-черно-белое" изображение и артефакты. При этом "родные" записи VDR - все нормально. Что это может быть ?
    Грешу на libdvdcss - или я не прав?

  • так чтобы не забылось пару "былых" тем
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    блин еще была одна тема в которой была идея о softdevice на EPIA ... и не могу найти

  • Итак, начнем-с. Первым делом засучиваем рукава (экое двухсмысленное словцо... :D ) и собираем из купленной материнки базис будущего VDR-а.
    У меня получилось примерно так:
    ___________________________________________________________
    MB: Via Epia M10000
    RAM: 256 Mb DDR
    HDD: IDE 40 Gb
    Remote: LIRC
    DVB: SkyStar 2
    CD\DVD: Asus DVD-RW
    Корпус slim (производитель неясен - у нас продается под маркой Алси) блок питания на 200 W
    ____________________________________________________________
    Мучить все это хозяйство начинаем с настройки BIOS материнки. Проверяем включены ли у нас соотвественно COM1\2, Lan и т.п., потом смотрим на настройки TV (я поставил CRT и разрешение 1024х768, соотвественно PAL). В принципе все. Бутимся с СД-шки с ArVDR 0.5.1 - устанавливаем сабж. После перезагрузки наблюдаем забег по кругу. А че вы ждали - так и будет еще некоторое время.... :D Но поскольку рукава у нас "засученные" - голову мы не вешаем и проявляем ловкость пальцев
    Alt+F2
    root
    vdr

    а теперь самый ловкий ход:
    /etc/init.d/runvdr stop
    после некоторой тренировки - будете успевать набирать все это за один "забег"... :D
    ОК, будем считать получилось. Для удобства запустим сразу MC, все же Norton - рулез фореза...
    Настраиваем сетку - /etc/network/interfaces
    (тут кстати есть один момент - правильно определиться с интерфейсом LAN, т.е. это eth0 или eth1, на плате же ведь еще и ieee 1394 имеется - он тоже ethx)
    Как настроить сеть - тут уже много писалось, повторяться не буду.
    Можно перезагружаться потихому...


    To be continued...

  • Нуте-с, отведаем... Чего Бог послал...
    Для дальнейших издевательств над "бессмертным" творением дядюшки free-x(а) нам потребуются исходники ядра (kernel-source). В принципе советую прогуляться на Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу. и там все и найти... Я пока собрал на 2.6.20.1 хотя народ советует менее "последнюю" версию. В принципе пойдет и 2.6.15.7
    Предолагается что ваш VDR подключен к инету и у вас имеется возможность использовать все "прелести" Linux по имению самых свежих версий пакетов (wget, cvs, svn etc...) Если нет, придется качать все отдельно. Итак приступим.
    1. Распаковываем исходники ядра
    tar xvfj kernel-source-2.6.x.x.tar.bz /usr/src
    2. Делаем символ линк на эти исходники
    ln -s /usr/src/kernel-source-2.6.x.x /usr/src/linux
    3. Бежим на Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу. и качаем
    cd /usr/local/src
    cvs -d:pserver:anonymous@cvs.directfb.org:/cvs/directfb login на запрос password: жмем просто enter
    cvs -d:pserver:anonymous@cvs.directfb.org:/cvs/directfb -z3 co -P linux-viafb
    Получаем на выходе в /usr/local/src папку linux-viafb в которой видим поддирректорию ./linux вот ее то родимую надо скопировать в исходники ядра (если посмотрите внимательно на ее содержимое - увидите что оно соотвествует пути в исходниках ядра /usr/src/linux ...)
    Тамже (в папке /usr/local/src/linux-viafb лежит себе тихонько некий заг-а-а-адочный файлик со странным названием kconfig.patch Угу. Чей-то вродь слышали про какие-то патчи-матчи... Щас посмотрим.
    Ба! Дык это заплатка к нашим исходникам ядра... Надо ее пришпандорить однако. Че добру пропадать... :D (Десять баксов то не лишние...)
    Копируем его для начала в папку с исходниками ядра
    cp kconfig.path /usr/src/linux
    Теперь приводим его содержимое в соотвествии с версией нашего ядра. Это можно сделать в редакторе встроенном в MC (F4).


    To be continued...

  • Редактируем наш patch:
    открываем в редакторе и видим примерно такие строки

    Цитата

    linux-2.6.16/drivers/video/Makefile.orig...


    меняем по всему тексту патча упоминание о версии ядра на свои данные
    т.е. вместо linux-2.6.16/ пишем /usr/src/linux/ (либо явно /usr/src/linux-2.6.x.x-source/)


    Накладываем патч:
    patch -p0 < kconfig.patch
    Если все прошло без ругани можно приступать к сборке нового ядра.


    1. Берем в каталоге /boot файлик с названием .config и копируем его в каталог с сырцами ядра
    cp /boot/.config /usr/src/linux


    2. Конфигурируем ядро к этому конфигу
    cp /usr/src/linux
    make oldconfig

    Если ядро "сильно новое" будут вопросы - на все в принципе можно просто жать enter. потом все равно подправим.


    3. Теперь конфигурируем само ядро:
    make menuconfig
    тут особенно писать не буду й читайте материалы в сети (их море), единственное что отмечу - надо отключить поддержку VESAFB и вместо нее включить поддержку viafb (cle266) символ * означает что драйвер будет вкомпилирован в ядро, а М - что будет собран отдельный загружаемый модуль - нам надо конкретно *


    4. Собираем и инсталлируем ядро (а заодно и хедеры)
    make && make modules_install && make headers_install && make install
    Можно курить... Это дело не быстрое... :D


    To be continued...

  • Прошу прощения за перерыв в вещании... Работа-с.
    Итак после сборки и инсталляции ядра и соотвествующего ребута имеем следующее:
    fbset -i (Не забываем предварительно apt-get install fbset)
    Отклик на комманду


    Т.е. все собрано правильно и Via framebuffer запустился в норме.
    Теперь можно поправить /boot/grub/menu.lst
    Добавляем в конец строки параметров kernel следующее
    video=viafb:640x480-16@60 (где 640х480 разрешение, 16 глубина цвета, 60 частота - соотвественно можете указать иные).
    Снова ребут (как говорят: "Нас ребут - а мы крепчаем" :D )


    Теперь можно приступать к дальнейшей сборке.


    To be continued...

  • вы продолжайте...продолжайте
    я пока дебианизировал libcle266mpegdec. пакет уже в репозитории ArVDR

    Исходный код
    # apt-cache search libcle266
    libcle266mpegdec-dev - VIA CLE266 MPEG-2 hardware decoding library and Xine plug-in for it.
    libcle266mpegdec1 - VIA CLE266 MPEG-2 hardware decoding library and Xine plug-in for it.


    И занимаюсь directfb-1.0 ... наверное у меня какого то патчика не хватает, потому что не хочет видеть

  • ещё пару замечаний по предыдущему ... например патчевание исходников ядра


    отметил как Модуль в результате при сборке

    Исходный код
    LD      drivers/video/cle266/built-in.o
      CC [M]  drivers/video/cle266/via_fbobj.o
      CC [M]  drivers/video/cle266/via_fbaccel.o
      CC [M]  drivers/video/cle266/via_i2c.o
      LD [M]  drivers/video/cle266/viafb.o


  • Цитата

    И занимаюсь directfb-1.0 ... наверное у меня какого то патчика не хватает, потому что не хочет видеть


    В смысле даже после этого:

    Цитата

    ./configure --with-gfxdrivers=cle266,unichrome


    Цитата

    отметил как Модуль в результате при сборке


    И это мудро. Обновляться то надо иногда... 8) (я пока по упрощенке поехал - все нафк в ядро, потом разберемся)

  • как там у Кузьмы Пруткова было о "не верь глазам своим"?
    оказывается дефолтная конфигурация с all drivers не одно и тоже что


    учтем при пакетировании

  • Дык, как я понимаю девайс таки приехал? Это же просто ошен гут. =)
    У меня пока самые хорошие впечатления.

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем BNXVS ().

  • девайса пока нет....ето так сказать поигрывание бицепсами и трицепсами
    ещё не совсем понятно с модулем....бросает какие то непонятные предупреждения. наверное наткнулся на нестабильный момент

  • у меня была такаяже фикня, пока я не подсунул исходники в ядреные сырцы. Отдельно почемуто не хочет нормально собираться. Видимо прямые пути в сырцах прописаны... :rolleyes:

  • А патчик прилагаемый накладывался после подсовывания?

  • Сотворил для проверки "Ре-мэйк":

    Все вроде нормалек прошло.

  • 2free-x:
    В DirectFB существует две ветки драйвера для интегрированной графики VIA - это cle266 и unichrome. Начиная с версии DirectFB 0.9.24 драйвер cle266 по умолчанию не собирается, так как он является устаревшим. Не нужно пытаться его собрать, так как возникает конфликт, и его все равно придется явно отключить в directfbrc:
    disable-module=cle266


    viafb у меня собирался без проблем и модулем и монолитно с ядром, ядро 2.6.18-r5 gentoo. Не забудьте на viafb наложить патч directfb-viafb-assisted-field-parity.patch.
    Он позволяет улучшить поддержку черезстрочного видео через TV выход.


    Я использую vdr на базе VIA Epia ME6000 с 600Mhz CPU в качестве set-top box.
    Воспроизведение сохраненной записи загружает процессор на ~35-40%, прием прямого эфира - на 50-60%. Все это при очень хорошем качестве изображения и плавности воспроизведения.

  • 2 mvgbob
    А с DVD-плагином у вас как. Что-то я так и не могу определиться что за ерундистика. Любой DVD диск проигрывается в зелено-черно-белом виде. Хотя и эфир и записи идут нормально. Раз пять уже пересобирал все, пока толку нет. Пока грешу на softdevice ... ?(

  • DVD диски воспроизводятся очень хорошо, возможно даже лучше, чем на некоторых проигрывателях. У меня с плагином dvd проблемы другого плана, с меню и навигацией. Видео в меню воспроизводится рывками, статические изображения с артефактами, кнопки навигации сдвинуты относительно меню.
    Возможно это связано с воспроизведением через softdevice. Очень хотелось бы услышать мнение о рботоспособности dvd plugin владельцев FF карт.


    Попробуйте оспользовать softdevice cvs и формат pixelformat = AiRGB в directfbrc.
    Если интересно, могу выложить мои рабочие настройки фреймбуфера viafb и содержимое fb.modes и dirctfbrc.