Как стать автором
Обновить

Настройка аппаратного декодера HD видео Broadcom CrystalHD BCM70012 в связке с XBMC на Ubuntu Karmic 9.10

Время на прочтение3 мин
Количество просмотров2.8K
Устанавливаем необходимые для сборки пакеты
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:0x1612 s_vendor:0x14e4 s_device: 0x2612
[ 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 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.
Приятного просмотра!
Теги:
Хабы:
Всего голосов 8: ↑3 и ↓5-2
Комментарии13

Публикации