Главная > Без рубрики, Записки сумасшедшего... > Настройка аппаратного декодера Broadcom BCM970012 Crystal HD в Ubuntu

Настройка аппаратного декодера Broadcom BCM970012 Crystal HD в Ubuntu

Устанавливаем необходимые для сборки пакеты

apt-get install build-essential git-core autoconf subversion ccache

Скачиваем и собираем драйвера, для удобства делать это будем в /usr/local/src

cd /usr/local/src
git clone git://git.wilsonet.com/crystalhd.git/
cd /usr/local/src/crystalhd/driver/linux
autoconf

Конфигурим, собираем, устанавливаем…

./configure
make
make install

Переходим в директорию с библиотеками для линукса

cd /usr/local/src/crystalhd/linux_lib/libcrystalhd

Собираем, устанавливаем

make
make install


Переходим в

cd /usr/src/

Подгружаем модуль

depmod -a
modprobe crystalhd

Если все прошло успешно то в dmesg должны увидеть следующее

[ 1116.445682] Loading crystalhd 0.9.27
[ 1116.445795] PCI_INFO: Vendor:0x14e4 Device:0×1612 s_vendor:0x14e4 s_device: 0×2612
[ 1116.445848] Broadcom 70012 Decoder 0000:02:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 1116.447087] allocated 18 elem
[ 1116.447239] alloc irq_desc for 29 on node -1
[ 1116.447256] alloc kstat_irqs on node -1
[ 1116.447301] Broadcom 70012 Decoder 0000:02:00.0: irq 29 for MSI/MSI-X
[ 1116.447399] Starting BCM70012 Device
[ 1116.684240] clock is moving to 175 with n 35 with vco_mg 2
[ 1116.684272] CStopping BCM70012 Device
[ 1116.908158] Broadcom 70012 Decoder 0000:02:00.0: setting latency timer to 64

А команда modinfo crystalhd должна вернуть следующее

modinfo crystalhd
root@crystal:/usr/local/src# modinfo crystalhd
filename: /lib/modules/2.6.31-19-generic/kernel/drivers/video/broadcom/crystalhd.ko
alias: bcm70012
license: GPL
description: Broadcom Crystal HD Decoder (BCM70012) Driver
author: Prasad Bolisetty
author: Naren Sankar
srcversion: 8B48BA26802A1E8B58F4AFD
alias: pci:v000014E4d00001612sv*sd*bc*sc*i*
depends:
vermagic: 2.6.31-19-generic SMP mod_unload modversions 586

Проверяем появилось ли у нас «новое» устройство :)

root@crystal:/usr/local/src# ls -lia /dev/crystalhd
13609 crw-rw-rw- 1 root root 251, 0 2010-02-08 22:44 /dev/crystalhd

Теперь нам понадобятся исходники xbmc я использую pvr2 ветку, собирать их будем здесь же /usr/local/src, процесс довольно таки долгий, исходники занимают около гигабайта…

cd /usr/local/src
svn co https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/pvr-testing2 xbmc-pvr2

Теперь когда у нас есть исходные тексты установим все необходимые для сборки xbmc пакеты

aptitude install subversion make g++ gcc gawk pmount libtool nasm automake cmake gperf unzip bison libsdl-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libsdl-mixer1.2-dev libfribidi-dev liblzo2-dev libfreetype6-dev libsqlite3-dev libogg-dev libasound-dev python-sqlite libglew-dev libcurl3 libcurl4-openssl-dev x11proto-xinerama-dev libxinerama-dev libxrandr-dev libxrender-dev libmad0-dev libogg-dev libvorbisenc2 libsmbclient-dev libmysqlclient-dev libpcre3-dev libdbus-1-dev libhal-dev libhal-storage-dev libjasper-dev libfontconfig-dev libbz2-dev libboost-dev libfaac-dev libenca-dev libxt-dev libxtst-dev libxmu-dev libpng-dev libjpeg-dev libpulse-dev mesa-utils libcdio-dev libsamplerate-dev libmms-dev libmpeg3-dev libfaad-dev libflac-dev libiso9660-dev libass-dev libssl-dev fp-compiler gdc libwavpack-dev libmpeg2-4-dev

Переходим к сборке XBMC

cd /usr/local/src/xbmc-pvr2
./bootstrap
./configure –enable-crystalhd –disable-joystick –enable-ccache

Получаем такую конфигурацию

————————
XBMC Configuration:
————————
Debugging: Yes
Profiling: No
Optimization: Yes
OpenGL: Yes
VDPAU: No
CrystalHD: Yes
Joystick: No
XRandR: Yes
GOOM: No
PCRE Support: Yes
MID Support: No
ccache: Yes
PulseAudio: Yes
FAAC: Yes
DVDCSS: Yes
Avahi: Yes
Non-free: Yes
ASAP Codec: No
Deprecated libdts: No
Deprecated liba52: No
External Libraries: No
External FFmpeg: No
External liba52: No
External libdts: No
External libass: No
External Python: No
prefix: /usr/local
————————

Переходим к сборке, собираем но не устанавливаем

make

Для удобства я решил сделать deb пакет c xbmc, делаем
Устанавливаем checkinstall

apt-get install checkinstall

Теперь собираем и устанавливаем пакет (отвечаем на вопросы checkinstall)

checkinstall –fstrans=no –install=yes –pkgname=xbmc-crystal –pkgversion «last-svn-xbmc-pvr2-crystal»

Итак после проделаных манипуляций, имеем собранный пакет /usr/local/src/xbmc-pvr2/xbmc-crystal_last-svn-xbmc-pvr2-crystal-1_i386.deb, а так же установленный из SVN
XBMC-PVR2 готовый для работы с нашим аппаратным декодером, для активации декодера в XBMC, идем в настройки видео и выбираем драйвер crystalHD.
Приятного просмотра!

  1. toothpaste
    19 Март 2010 в 13:48 | #1

    Вот бы вы еще нашли способ создания драйверов этой карты под Power Mac G5.К сожалению никто их так пока и не собрал, сам я тоже не умею, а вот сам декодер с адаптером под полноразмерный PCI-E слот у меня есть, как и Power Mac G5 c PCI-E.

  2. 19 Март 2010 в 15:12 | #2

    Попробуйте поставить XCode и также собрать из исходников драйвера

  3. toothpaste
    20 Март 2010 в 13:27 | #3

    @FANTOM
    Я так и знал^ что вы так ответите, да ведь я сразу написал, что не умею собирать. Хотя XCode у меня стоит, но я к сожалению я могу пока только делать примитивные вещи – запускать MacPorts (http://www.macports.org), который на автомате все дальше делает. У Sdavilla на сайте (http://code.google.com/p/crystalhd-for-osx/source/checkout) даже не могу врубиться где этот source брать. Ну да ладно. Это все, как говорится, мои проблемы.
    Спасибо в любом случае.

  1. Пока что нет уведомлений.