Linux on Apple TV

From AwkwardTV
Revision as of 20:41, 6 April 2007 by Kad77 (talk | contribs) (Hardware Support)
Jump to: navigation, search

Current Status

This page will is being reworked, and may be in flux. Feel free to add to it-- but at certain times it may be locked, and merged with the offline page.

Our overall focus will now be geared towards working with gimli to extend his Linux efforts on the AppleTV

  • A solution for booting any non-Apple EFI executables has not been discovered as of this writing.

A secondary, yet important focus will be providing information to enable alternative non-Apple bootloaders, and methods that do not require MacOS X

AwkwardTV Linux Project

Many of us would like to see a minimal source distribution, targeted for AppleTV and utilizing the Linux kernel, emerge with boot and kernel configs. Extras might include scripts for USB or disk image builds. Currently we will be working with gimli's Mach-O wrapper approach to bootstrapping, and this will require a MacOS X setup. His loader will require MacOS X to compile the Mach-O binary, and MacOS X will be required to manipulate the partitions to load Linux. The latter is due to incomplete HFS+ support as of kernel 2.6.20.

Please discuss your ideas on the #awkwardtv IRC Channel!

It bears mentioning that we recommend a complete backup of your original AppleTV drive before any experimentation. We have a wiki page dedicated to this subject. Remember, if you pipe the dd through gzip or bzip2, the virgin drive image created should only be ~2.5gb!

Hardware Support

Much of the AppleTV's hardware is supported natively under the Linux kernel. In this section, we will be expanding on the Linux driver details.

GeForce 7300 Go (NV40)

  • Official NVidia binary driver works without modification. Full 3D and framebuffer acceleration.
  • OSS NVidia driver works without modification
(==) NV(0): Write-combining range (0x10000000,0x4000000)
(II) NV(0): Using XFree86 Acceleration Architecture (XAA)
	Screen to screen bit blits
	Solid filled rectangles
	8x8 mono pattern filled rectangles
	Indirect CPU to Screen color expansion
	Solid Lines
	Scanline Image Writes
	Offscreen Pixmaps
	Setting up tile and stipple cache:
	32 128x128 slots
	32 256x256 slots
	16 512x512 slots
  • HDMI - working (DVI tested)
  • Component - not tested

Intel HD Audio

  • HDA-Intel driver recognized by default
  • Analogue RCA - not tested
  • Optical SPDIF - not tested

irDA interface

  • mactel-linux driver recognizes it, untested otherwise

Broadcom BCM94321MC wireless

  • NDISWrapper Windows drivers - working

Our components wiki has further information about the specific chips involved.

Barebones Distro Notes

Our preferred base distrubutions:

There are a few Linux distributions specialized for Media Center usage:

Some useful components:

We would prefer a lightweight X alternative or optimized/minimal X11 build. Note: KDrive is framebuffer only.