Installing XBMC on Ubuntu Server with Broadcom Crystal HD Decoder BCM70015 – Part 2

In a previous post, I provided an overview of the whole process that I went through. In this part, I am going to describe the procedure I used to install Crystal HD drivers. Before you even begin the process, you will have to install a bunch of files that are required for compiling from sources. Please note that I am no expert. I gathered these information from various sources and this procedure worked for me on Lucid and Maverick servers.

Install required files.

sudo apt-get install g++ linux-source linux-headers-`uname -r` build-essential tofrodos autoconf git-core libasound2-dev dos2unix subversion make 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 libmicrohttpd-dev libmodplug-dev libssh-dev gettext cvs yasm

Note that many of these packages are not required for CrystalHD however, they are required for XBMC.

Note that in Lucid Lynx, there is no dos2unix. Therefore, use "fromdos" instead of "dos2unix" or do the following:

/usr/bin# sudo ln -s fromdos dos2unix
/usr/bin# sudo ln -s todos unix2dos

In Maverick Meerkat also install the following:

sudo apt-get install autopoint

Then get the drivers from the git repository and follow the remaining steps:

~/ git clone git://
cd ~/crystalhd/driver/linux
dos2unix *

The use the make command. If you have multiple core CPU then use the "-j2" or "-j4" option where 2 or 4 is the number of cores. This will speed up the make process.

make -j4
sudo make install
sudo modprobe crystalhd

Then install the CrystalHD libraries:

cd ~/crystalhd/linux_lib/libcrystalhd
make -j4
sudo make install

Although you may not have to reboot I prefer rebooting. So reboot your server. Then check if CrystalHD is listed in the output of the following command.


Do not worry if no application is using it currently (you may see "used by 0"). You may also get "CONFIG_DEBUG_SECTION_MISMATCH=y" warnings during the build process. These are "generally" harmless so ignore them.

In Part 3, I will discuss how I compiled and install XBMC with CrystalHD support.

Be the 1 in 200,000. Help us sustain what we do.
34 / 150 by Dec 31, 2024
Join Us (starting from just $1.67/month)


Anand is a self-learned computer enthusiast, hopeless tinkerer (if it ain't broke, fix it), a part-time blogger, and a Scientist during the day. He has been blogging since 2010 on Linux, Ubuntu, Home/Media/File Servers, Smart Home Automation, and related HOW-TOs.