CrystalHD for AppleTV

This project incorporates the drivers for BCM70012 and BCM70015 video decoders with XBMC on a base Linux image and a tool to install the distro on the residing drive inside the AppleTV. The distro is self-updating which allows users to have the latest updates without any complications.

Distributions are built from a core image from the atv-linux sister project.

The AppleTV (1st Generation) is a locked down device that runs a custom version of Mac OS X to serve as a vehicle of the iTunes ecosystem. It is possible to add payloads by booting into a minimal distribution of Linux (atv-bootloader) and writing frappliances to the internal disk to expand user functionality. One of these liberating appliances is XBMC. Playback however suffers two caveats under a stock AppleTV. Firstly, performance under the custom OS X distro is poor. The GPU is not utilised in playback, which leaves the underpowered 1.0Ghz Pentium M to handle video. This functions fine for video up to h264 L3.1 @ 1280X720 (it will play anything from iTunes, and in the eyes of Apple, this is all that is necessary of the device).


The playback limitations imposed by the processor’s shortcomings can be eliminated by the use of a Broadcom Video Accelerator Card. This card, which replaces the 802.11n WiFi card built-in on the current (and only) mini-pcie port, allows native decoding of the following codecs:

BCM70012: H.264/AVC HP at L 4.1 1080i, 40 Mbps H.264/AVC HP at L 3.0 480i H.264/AVC HP at L 3.2 720p SMPTE VC-1 AP at L 3 1080i, 40 Mbps

BCM70015: same (higher profiles), Flash 10.1+, DivX

This device allows you to revive the device by meeting the demands of new generation HD formats.


By running Linux on the aTV the user can unlock much more functionality. Aside from a less resource demanding distribution than OS X, the system offers a variety of features. These include, but are not limited to: 1920x1080p (not available in OS X); 23.976Hz mode (not available in OS X); faster; more flexible (add remotes, web browsers etc); quicker boot time; auto updating.

Rolling Linux Distributions

This project aims to therefore provide two distributions of Linux for AppleTV users with BCM70012/70015 decoders that can be installed on a USB stick or the internal hard drive. The distributions offer automatic updates to CrystalHD and XBMC stable releases. At the time of writing the offered distributions are Arch Linux (minimal), and Ubuntu 8.0.4 LTS (core). These prebuilt images, coupled with a UI installer for Windows users allow simplified installation of Linux, a formerly difficult task. This allows users to get the most out of a Linux distro with little or no Linux knowledge at all, in turn allowing them to focus on the most important thing: enjoying XBMC.


Both the Linux and Windows version require a flash drive with a minimum of 4GB free.

For Ubuntu documentation, click here


The source code for the entire project is available here