Configuring Broadcom CrystalHD BCM70012 HD video hardware decoder in conjunction with XBMC on Ubuntu Karmic 9.10
apt-get install build-essential git-core autoconf subversion ccache
Download and collect drivers, for convenience we will do this in / usr / local / src
cd / usr / local / src
git clone git: //git.wilsonet.com/crystalhd.git/
cd / usr / local / src / crystalhd / driver / linux
autoconf
We configure, assemble, install ...
./configure
make
make install
Go to the directory with libraries for Linux
cd / usr / local / src / crystalhd / linux_lib / libcrystalhd
We assemble, install
make
make install
Go to
cd / usr / src /
We load the module
depmod -a
modprobe crystalhd
If everything went well then in dmesg should see the following
[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
And the modinfo crystalhd team should return the following
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 SMvers mod6load
Check if we have a "new" device :)
root @ crystal: / usr / local / src # ls -lia / dev / crystalhd
13609 crw-rw-rw- 1 root root 251, 2010-02-08 22:44 / dev / crystalhd
Now we need the xbmc sources, I use the pvr2 branch, we will collect them here / usr / local / src, the process is quite long, the sources take about a gigabyte ...
cd / usr / local / src
svn co xbmc.svn.sourceforge.net/svnroot/xbmc/branches/pvr-testing2 xbmc-pvr2
Now that we have the sources, we will install all the packages necessary for building 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 libsqlite 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 libmysqpclient -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
We pass to assembly XBMC
cd / usr / local / src / xbmc-pvr2
./bootstrap
./configure --enable-crystalhd --disable-joystick --enable-ccache
We get this configuration
- 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
------------------------
We proceed to the assembly, assemble but do not install
make
For convenience, I decided to make a deb package with xbmc, we do
Install checkinstall
apt-get install checkinstall
Now we collect and install the package (answer checkinstall questions)
checkinstall --fstrans = no --install = yes --pkgname = xbmc-crystal --pkgversion "last-svn-xbmc-pvr2-crystal"
So after the done manipulations, we have the assembled package /usr/local/src/xbmc-pvr2/xbmc-crystal_last-svn-xbmc-pvr2-crystal-1_i386.deb, as well as the one installed from SVN
XBMC-PVR2 ready to work with our hardware decoder, to activate the decoder in XBMC, go to the video settings and select the crystalHD driver.
Happy viewing!