XBMC compiled with Crystal HD support is now available from unofficial nightly builds

TheQuestor from xbmc forums has announced that his xbmc for osx nightly builds now includes crystal hd support!

Forum post found here.
And downloads found here.

You will still need to compile, or download a precompiled version from somewhere, crystal hd lib and kext to get it working. Xbmc will detect the presence of said lib/kext and enable crystalhd rendering as an option if found.

Follow this post from the xbmc forum on how to use the nightly build together with the atv-xbmc-launcher. You will have to install the crystal hd lib/kext as well to enable the crystalhd rendering option from within xbmc.

Enjoy Apple TV with 1080p support :)

Tags: , , , , , , , , , , , , , , ,

Compile xbmc with broadcom crystalhd support on linux

Broadcom CrystalHD is a Mini-PCIe expansioncard to make your box do hardware decoding of HD video material (h264, vc1++)
Got a old AppleTV which you dont use? Buy a CrystalHD chip on ebay for 30 dollars, and it will play 1080p for you :)

Install Ubuntu 8.04 Hardy on your box, if you are going to use an AppleTV you can follow the guide here:
http://dingleberry.me/2009/11/ubuntu-karmic-koala-on-appletv-with-broadcom-crystal-hd-decoder/

Download the xbmc crystalhd branch and the lib directory from the xdmx branch which has the necessary crystalhd include files:
svn co -r 22347 https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/xdmx/XBMC/xbmc/lib/
svn co -r 25101 https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/crystalhd

prepare the system for crystalhd support:
mkdir /usr/include/crystalhd
cp -a lib/crystalhd/include/* /usr/include/crystalhd
cp /usr/include/crystalhd/windows/bc_drv_if.h /usr/include/crystalhd/bc_ldil_if.h

Edit /usr/include/crystalhd/bc_dts_types.h and comment out line 59 so it looks like this:
//typedef void VOID;

Copy the crystalhd include files to the crystalhd branch source:
cp -a /usr/include/crystalhd crystalhd/xbmc/lib/

Download the bcm70012 source and build the module:
wget http://www.norco.net.cn/UpLoadFile/Driver/bcm70012_linux_01142009.rar
unrar e bcm70012_linux_01142009.rar
tar xf bcm70012_linux_01142009
dpkg -i bcm70012kmod-source_0.9.30_all.deb
apt-get -f install
dpkg -i bcm70012kmod-source_0.9.30_all.deb
cd /usr/src/
m-a -t a-i bcm70012kmod
cd -

Install the gstreamer plugin from the HP mini 110 distro (the file came with the driver download in the step above)
dpkg -i --force-all gst-broadcom-70012_0.9.30_lpia.deb

Now follow the steps from the README.ubuntu file inside the crystalhd source:
sudo 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 libvorbis-dev 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

On 8.04 and older versions, libmms is outdated and thus XBMC will not compile properly.
In this case you will have to manually compile the latest version.
wget "http://launchpad.net/libmms/trunk/0.4/+download/libmms-0.4.tar.gz"
tar zxvf libmms-0.4.tar.gz
cd libmms-0.4
./configure --prefix=/usr
make
sudo make install

After all deps has been installed and libmms has been compiled and installed you are ready to compile xbmc. cd to the crystalhd source and do:
./bootstrap
./configure
make
make install

Finito! :)

POST-install tweaks:
Enable Pixel Buffer Objects
Start xbmc without loading Gnome
And some more AppleTV specific stuff:
Set fixed cpu frequency
Various fixes for Ubuntu on ATV

Tags: , , , , , , , , , , , , , , ,

Ubuntu Karmic Koala on AppleTV with Broadcom Crystal HD decoder

UPDATE! – Karmic Koala uses a newer kernel which wont make the bcm driver work, use Ubuntu 8.04 Hardy in step 4, and your driver will work :) Confirmed 1080p playback on Apple TV with hardy! :D

1. build patchstick with http://code.google.com/p/atvusb-creator/
2. boot atv with patchstick
3. Partition sda as per instructions:

http://code.google.com/p/atv-bootloader/wiki/PartitioningLinux

4. Download netboot http://no.archive.ubuntu.com/ubuntu/dists/karmic/main/installer-i386/current/images/netboot/netboot.tar.gz
4. Run netboot as per instructions under Netboot Install:

http://code.google.com/p/atv-bootloader/wiki/BootingLiveCD

5. Install karmic with sda4 = / and sda5 = swap
5.1 Remember to select sda4 as root filesystem with ext3 NOT ext4
6. Modify boot_linux.sh with something like the following:

mount /dev/sda4 /tmp/
kexec --load /tmp/vmlinuz --initrd=/tmp/initrd.img --command-line="root=/dev/sda4 initrd=initrd.img vga=normal vesa video=vesafb"
umount /tmp/
kexec -e

7. WORKING UBUNTU WOOHOO

8. Download linux bcm70012 from:

http://www.norco.net.cn/DownNews_Show.asp?ID=215

Making system ready:
aptitude install build-essential unrar
unrar e bcm70012_linux_01142009.rar
cd bcm70012_linux_01142009
mv bcm70012_linux_01142009 bcm70012_linux_01142009.tar
tar xf bcm70012_linux_01142009.tar
dpkg -i bcm70012kmod-source_0.9.30_all.deb
apt-get -f install
dpkg -i bcm70012kmod-source_0.9.30_all.deb
cd /usr/src/
m-a -t a-i bcm70012kmod
cd -
dpkg -i --force-all gst-broadcom-70012_0.9.30_lpia.deb

22. WORKING bcm70012 !! WOHOO

Tags: , , , , , , , , , , ,