| OpenELEC 4.0:|
This page or section describes features that are apart of OpenELEC 4.0 and XBMC v13 "Gotham".
The AppleTV has audio outputs for stereo analogue, multi-channel optical (SPDIF) and HDMI digital audio. The AppleTV does not have hardware support for HD audio formats so HD soundtracks will be downmixed. The downmixing process is CPU intensive and can impact playback performance so if there are multiple audio tracks available it's worthwhile switching to a normal AC3/DTS audio track.
Out of the box your AppleTV will be configured for analogue audio. To use the optical or HDMI outputs you will need to change XBMC's audio configuration. The screenshots below show typical and correct setup for analogue, optical and HDMI audio.
Analogue (RCA) audio
The screenshot below shows XBMC configured for analogue output with a 2.0 speaker configuration and the "HDA Intel, ALC998A Analogue" device selected.
The screenshot below shows XBMC configured for HDMI Output with the "HDA Intel, HDMI" device selected for normal audio and passthrough audio. If your TV or AV receiver supports AC3, Dolby Digital (DTS) or Multichannel LPCM input from HDMI you can enable these settings. The majority of TVs support AC3 only. If you enable DTS passthrough and cannot hear audio when you play a movie, this is a clue that your TV does not support it!
Optical (S/PDIF) audio
The following screenshot shows XBMC configured for optical output with the "HDA Intel, ALC998A Digital S/PDIF" device selected for normal audio and passthrough audio. The XBMC GUI will (in error) allow you to select a 7.1 speaker/channel configuration but 5.1 is the maximum supported by the S/PDIF standard.
OpenELEC 1.0 (XBMC 10.0/Dharma) and 2.0 (XBMC 11.0/Eden) support menu sounds over the analogue and optical connections but not the HDMI connection. OpenELEC 3.0 (XBMC 12.0/Frodo) supports menu sounds on all outputs. However, menu sounds require CPU cycles and for optimum GUI and playback performance it is best to completely disable menu sounds; both in the skin and in XBMC's audio settings.
The OpenELEC AppleTV image contains drivers for the onboard Realtek Ethernet and Broadcom WLAN devices. It also supports the ASIX 88178 Gigabit USB NIC and a broad range of USB Wireless NIC's that is added to with each release.
To use the standard Ethernet connection, simply connect an Ethernet cable and the system will get an IP from your router. If you need to set a static IP address, open the OpenELEC configuration addon. This can be found on the XBMC home screen under SETTINGS. The standard configuration is already set for "LAN" and "eth0" so all you need to do is enter details for the IP address, subnet mask, gateway and at least one DNS server, as shown in the screenshot below:
Any changes you make will be applied on rebooting.
To use the standard Wireless connection, open the OpenELEC configuration addon. This can be found on the XBMC home screen under SETTINGS. Change the Network Technology setting to WLAN and the Network Interface to wlan0. If you need to enter a static address enter details for the IP address, subnet mask, gateway and at least one DNS server.
Next you need to scroll down and enter the Network SSID (Network Name), choose the Network Security type (WEP, WPA/PSK or None) and set the Network Password.
Networks with hidden SSID's are not supported. If you have ! $ or spaces in the SSID or password they need to be \escaped to prevent some of OpenELEC's boot-time scripts treating them as part of the script instead of input, i.e. the password Password$ should be entered as Password\$.
Any changes you made will be applied on rebooting.
ASIX Gigabit Ethernet
Follow the general configuration for Ethernet as above, but set the Network Interface to eth1 and reboot.
If you have a Crystal HD card fitted, configure the network in exactly the same way as the standard WLAN above. If not, select wlan1 as the Network Interface.
Crystal HD Decoder Boards
Broadcom BCM970012 and BCM970015 "CrystalHD" (CHD) boards can be installed in the Apple TV's mini-PCIe slot as a replacement for the Broadcom BCM4321 wireless card. These boards enable OpenELEC to decode H.264 video content using a dedicated hardware decoder chip instead of software decoding H.264 using the main system CPU. The standard Apple TV box will handle software-decoding of SD and standard profile 720p content but the 1GHz CPU chokes on higher profile 720p and all 1080p content unless you spend many (many) hours painstakingly re-encoding videos with tools like Handbrake. Even then the CPU is typically running at 90-100% during playback and you can expect dropped frames and stuttering during fast panning shots. With a CHD board installed and decoding offloaded from the system CPU the Apple TV is capable of playing all but the most challenging of 1080p content with the system CPU load peaking around 45-50%.
The older spec full-height BCM970012 boards can be bought on eBay (usually from sellers in Hong Kong or Korea) for £11/$18 and the more recent BCM970015 cards for £29/$45. The BCM970015 supports more H.264 modes and is more efficient at decoding than the older BCM970012 card but both types mechanically fit in the Apple TV's full-height mini-PCIe slot (the BMC970015 is half-height but is usually shipped with a full-height adapter). In practice there isn't a significant difference in playback performance.
Gigabit USB Networking
The onboard Realtek 10/100 Ethernet chipset is theoretically capable of handling 1080p content but in reality unless you have a proper NAS system and you're streaming content from NFS shares you'll probably see the dreaded "buffering" on-screen frequently with files >10GB in size. To improve things a USB gigabit NIC is a good (and reasonably cheap) investment. There's usually a plentify supply of cheap £12/$19 ones on eBay. There is an element of "russian roulette" when buying from sites like eBay as very few USB adapters are advertised as being Linux compatible; only Windows and occasionally Mac OS X support will be mentioned. OpenELEC supports the ASIX 88178 chipset out of the box, and this chipset is used the vast majority of cheap USB adapters, but it cannot be guaranteed!
The internal Broadcom BCM4321 mini-PCIe wireless card supports 802.11b/g/n in 2.4GHz and 802.11n 5GHz networks. It is supported by the Linux bcm_sta driver which is included in the ATV image. The bcm_sta driver isn't the best performing driver but since you won't be playing content more challenging than standard profile 720p without a CrystalHD board any 802.11n network should work fine. If you're connecting to an 802.11g network SD content should stream okay but you're likely to experience problems with HD media that has larger file sizes as the bandwidth is rarely high enough and 802.11g networks often suffer when additional 802.11g devices (phones, laptops, etc.) connect to the same basestation. If you're using an 802.11b network you'll be able to "scrape" for locally stored media but streaming from a NAS isn't going to work. OpenELEC includes drivers and firmware for the main wireless chipsets from Realtek, Ralink, Atheros and most Broadcom devices so it's also possible to install a CrystalHD board and still connect to the internet or a NAS box by using an external USB wireless card. If you are going to stream from a NAS it is highly recommended to get a dual-band card that can operate in the 5GHz range (with a 5GHz capable router) as 2.4GHz devices often have single antennae and don't provide enough bandwidth for reliable streaming of HD content. The negative of 5GHz networking is that the wireless signal is easily blocked by walls so the Apple TV and wireless basestation probably need to be in the same room. If you can use Ethernet without animals or kids chewing the cable or your wife/girlfriend complaining it's always going to be a better option.
Booting from USB vs HDD vs SSD
OpenELEC can be run from a USB key or USB hard drive if needed and many people start this way as it allows you to experiment without the leap of faith required to wipe the AppleTV OS and install to the internal drive. However, most USB keys aren't so quick, particularly the smaller 1-4GB drives that people seem to find in a drawer for testing. If you are testing with a USB key it's a good idea to disable XBMC fanart as this requires reading of large files frequently from the drive and enable "dirty region" encoding to reduce the idle CPU load. Without fanart and with dirty regions enabled the XBMC GUI is noticably "snappier" to use. USB hard drives offer greater capacity but are typically slower than a flash memory key.
Installing OpenELEC to the internal drive will bring a speed boost. USB 2.0 has a theoretical bandwidth of 480Mb/sec (60MB/sec) which is comparable to the performance of the original 40GB Fujitsu MHW2040AT 4200rpm drive. In reality many cheap USB flash drives run around 50% of the theoretical maximum making the internal 40GB and faster Samsung HM160JC 5400rpm 160GB drives a higher performance option.
Best performance comes from an SSD, and for Apple TV users who hoard content on a NAS box it's an option worth considering as it's increasingly easy to find older and lower capcity SATA SSDs and small IDE/SATA adapters cheaply on eBay. SSD's will reduce boot times and make the XBMC GUI smoother to use. Equally if not more importantly, SSD's also run cooler and an SSD equipped Apple TV is typically 55-60°C under normal use against 70-75°C in a standard HDD equiped box; still warm to the touch (as the Apple TV casing acts us the primary heatsink) but considerably cooler than it was before.
OpenELEC is configured for HDMI output by default, but this can be changed to Composite or Component output by creating /storage/.config/xorg.conf (this location is also accessible via the \\OPENELEC\Configfiles SAMBA share) and creating your own custom xorg.conf file there. The examples below have been reported working by users in the OpenELEC forums but you may need to adjust "NTSC-M" to match the TV standard for your region, e.g. "PAL-I" for the UK.
Composite output requires you to connect an RCA lead between the Green component output on the rear of the AppleTV and the Yellow composite input on the back of the TV.
Section "Device" Identifier "nvidia" Driver "nvidia" Option "DynamicTwinView" "False" Option "NoFlip" "false" Option "NoLogo" "true" Option "ConnectToAcpid" "0" Option "ModeValidation" "NoVesaModes, NoXServerModes" Option "HWCursor" "false" Option "RegistryDwords" "RMDisableRenderToSysmem=1" EndSection Section "Screen" Identifier "Default Screen" Device "Generic Video Card" Monitor "Generic Monitor" DefaultDepth 24 Option "DPI" "100x100" Option "UseEvents" "1" Option "AddARGBVisuals" "1" Option "AddARGBGLXVisuals" "1" Option "UseDisplayDevice" "TV" Option "UseEDID" "FALSE" Option "TVOutFormat" "COMPOSITE" Option "TVStandard" "NTSC-M" Option "TVOverScan" "0.80" Option "NoLogo" "True" Option "Coolbits" "1" SubSection "Display" Depth 24 Modes "720x480" "640x480" EndSubSection EndSection Section "Extensions" Option "Composite" "false" EndSection
Component output requires you to connect separate RCA leads between the Red, Green and Blue outputs on the rear of the AppleTV and the corresponding Red, Green and Blue inputs on the back of the TV.
Section "Device" Identifier "nvidia" Driver "nvidia" Option "DynamicTwinView" "False" Option "NoFlip" "false" Option "NoLogo" "true" Option "ConnectToAcpid" "0" Option "ModeValidation" "NoVesaModes, NoXServerModes" Option "HWCursor" "false" Option "RegistryDwords" "RMDisableRenderToSysmem=1" EndSection Section "Screen" Identifier "Default Screen" Device "Generic Video Card" Monitor "Generic Monitor" DefaultDepth 24 Option "DPI" "100x100" Option "UseEvents" "1" Option "AddARGBVisuals" "1" Option "AddARGBGLXVisuals" "1" Option "UseDisplayDevice" "TV" Option "UseEDID" "FALSE" Option "TVOutFormat" "COMPONENT" #------------480p Group----------------------------- #Option "TVStandard" "HD480p" #Option "metamodes" "CRT: 720x480 +0+0" #------------720p Group----------------------------- Option "TVStandard" "HD720p" Option "metamodes" "CRT: 1280x720 +0+0" #------------1080i Group----------------------------- #Option "metamodes" "CRT: 1920x1080 +0+0" #Option "TVStandard" "HD1080i" Option "TVOverScan" "0.80" Option "NoLogo" "True" Option "Coolbits" "1" SubSection "Display" Depth 24 Modes "720x480" "1280x720" "1920x1080" EndSubSection EndSection Section "Extensions" Option "Composite" "false" EndSection
Taken from an old nVidia README.txt file, these are the available options for the "TVStandard" setting:
|PAL-B||Australia, Belgium, Denmark, Finland, Germany, Guinea, Hong Kong, India, Indonesia, Italy, Malaysia, The Netherlands, Norway, Portugal, Singapore, Spain, Sweden, and Switzerland|
|PAL-D||China and North Korea|
|PAL-G||Denmark, Finland, Germany, Italy, Malaysia, The Netherlands, Norway, Portugal, Spain, Sweden, and Switzerland|
|PAL-I||Hong Kong, Ireland, and United Kingdom|
|PAL-N||France, Paraguay, and Uruguay|
|NTSC-M||Canada, Chile, Colombia, Costa Rica, Ecuador, Haiti, Honduras, Mexico, Panama, Puerto Rico, South Korea, Taiwan, United States of America, and Venezuela|
|HD480i||480 line interlaced|
|HD480p||480 line progressive|
|HD720p||720 line progressive|
|HD1080i||1080 line interlaced|
|HD1080p||1080 line progressive|
|HD576i||576 line interlace|
|HD576p||576 line progressive|
Create the USB key as before but choose from the following images instead of install-hdd.img.gz or install-usb.img.gz:
- Apple OS v2.3.1: http://chewitt.openelec.tv/usb/factoryrestore2.img.gz MD5 (205MB)
- Apple OS v3.0.2: http://chewitt.openelec.tv/usb/factoryrestore3.img.gz MD5 (250MB)
Both images contain the restore files so this can be performed offline - there is no need for an Ethernet network connection. If you are performing a factory restore to permanently return to the Apple OS then pick the v3.0.2 software, it will save you another download.
Boot the AppleTV from the USB key and it will repartition the internal hard drive and copy files in preparation for Apple's factory restore boot process. Once complete you can remove the USB key and power cycle the AppleTV. It will boot into Apple's software to perform the actual restore.
In some cases the Apple restore process fails .. the so-called "progress bar stuck at 5%" problem. Eventually the box will power cycle and repeat but will get stuck again (and again). The cause of this problem is not known but is most likely a bug in Apple's restore process. There are numerous reports of the same issue in the Apple support forums so we are confident it is not our bit that has the problem. If this happens please try using the alternative factory restore image - in some cases where one image fails the other works.