AppleTV

From OpenELEC
Jump to: navigation, search
Home icon grey.png   ▶ Platforms ▶ AppleTV
Future.png OpenELEC 4.0:
This page or section describes features that are apart of OpenELEC 4.0 and XBMC v13 "Gotham".
Appletv.png



[edit]

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.

Atv audio analogue.png

HDMI audio

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!

Atv audio hdmi.png

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.

Atv audio spdif.png

Menu Sounds

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.

Standard Ethernet

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:

Atv network static.png

Any changes you make will be applied on rebooting.

Onboard WLAN

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.

Atv network wlan1.png

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.

Atv network wlan2.png

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.

USB WLAN

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.



Why isn't CEC working with my AppleTV?

Shortcut:

Only the Raspberry Pi has native support for CEC in hardware. For all other systems you will need to use the Pulse-Eight USB CEC adaptor. If you have one it will work "out of box" as the OpenELEC AppleTV software contains the required drivers.


I have two AppleTV boxes, how do I pair the remote in OpenELEC so it doesn't control both boxes?

Shortcut:

To pair your AppleTV to your remote hold down the menu and right/fast forward buttons at the same time for about 6 seconds. You should receive a notification in XBMC confirming the pairing. To unpair your AppleTV, hold down the menu and left buttons at the same time for about 6 seconds. You can do this using any remote, even one that has not previously been paired to your AppleTV.


I'm using Aeon Nox and the navigating the GUI is really slow and I see freezes, what's wrong?

Shortcut:

Aeon Nox is a great skin with an awesome feature count, but all those features add up to a lot of CPU cycles and it's all bit much for a lowly AppleTV, particularly if you're running OpenELEC from a USB key where the read/write speeds to the drive are slower. Switching to a lighter skin like Confluence or Quartz will make a big difference.

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 perfectly capable of streaming 1080p content but performance can be marginally improved with a USB gigabit NIC; although you will never see the full bandwidth as the AppleTV's USB 2.0 ports run slower than Gigabit speeds. It's also useful for boxes where the Ethernet port has been mechanically damaged and we occasionally see reports on boxes where Ethernet has completely failed. 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 few USB adapters are advertised as being Linux compatible; only Windows and occasionally Mac OS X support will be mentioned. OpenELEC supports the couple of USB Ethernet chipsets used in the vast majority of cheap USB adapters, but support cannot be guaranteed!

Wireless Networking

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 is performant and stable ..but since you won't be playing content more challenging than 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, and internet services will work, 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 also includes drivers and firmware for the main wireless chipsets from Realtek, Ralink, Atheros and most Broadcom devices (although quality of many vendor-provided drivers is not-so-good) 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 and dual/multi-antenna card that can operate in the 5GHz range (with a 5GHz capable router and dedicated 5Ghz SSID) 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 closer. 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

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

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

TVStandard Options

Taken from an old nVidia README.txt file, these are the available options for the "TVStandard" setting:

Option Countries
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-H Belgium
PAL-I Hong Kong, Ireland, and United Kingdom
PAL-K1 Guinea
PAL-M Brazil
PAL-N France, Paraguay, and Uruguay
PAL-NC Argentina
NTSC-J Japan
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:

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.