Monday, September 24, 2012

HowTo OpenELEC : Get the perfect Fusion XBMC Media Center with Zotac Nano XS AD11





*** Updated February 3, 2013  ***

Major changes:
02/03/2013 - Upgrade to OpenELEC 3.0 ^^
10/17/2012 - Upgrade to first Stable 2.0 !!!
10/14/2012 - Upgrade to Release Candidate 2 (RC2)
10/07/2012 - Upgrade to Release Candidate 1 (RC1)
10/03/2012 - UMA Frame Buffer Size recommendation updated
10/02/2012 - Various corrections
09/25/2012 - Initial Version

Edit 10/17/2012:

I strongly recommend using OpenELEC 3.0 for Fusion systems, it's very stable and cool ^^

See: http://openelec.tv/get-openelec/viewcategory/4-fusion-builds


Zotac Zbox are well known Home Media Center PC, small, complete and powerful.

In this post, i will expose a recent model based on AMD Fusion system and called "Zotac NANO XS AD11", associated with Openelec.

Openelec is very good Linux based distribution for XBMC, it's very light, almost all is working out of the box and easy to install and configure.

This box is very very small, incredibly small and has a good factory product, first let's some pictures of the animal ^^





And to give you an idea of its size, let's compare it to a well know product! (Iphone 4)



As you can see, it is very, very small :-)

The Zotac AD11 is provided with a Zotac MCE Remote control, an internal IR receiver and also an external USB IR receiver.

The remote control is perfectly working out of the box under Openelec, no intervention required.

Also, this device is provided with a USB Wireless interface, again working out of the box ^^

Thanks to the great work of Openelec developers, Openelec will easily give us an XBMC installation working out of the box, and able to deal with any HD movie!

Let's start!


Summary of steps: 

Step 1: Configure UMA frame buffer size in UEFI
Step 2: Install OpenELEC
  Step 2.1: Standard installation using media installator
  Step 2.2: Manual alternative installation method (example in dual boot with an other system) 
Step 3: Configure OpenELEC (Network, Video Options, Skin)
Step 4: Configure your Media Library
Step 5: Configure the sound
Step 6: Zotac MCE Remote control
Step 7: Optional - Opera addon - Integrated Web Browser
Conclusion
Memorandum
FAQ




Step 1: Configure UMA frame buffer size in UEFI


First of all, we need to set a very important setting in Zotac EFI, if you don't you will get playback issue impossible to resolve in OpenELEC!

See: 
http://openelec.tv/forum/117-xvba-amd/45194-solved-zotac-ad11-playback-problems

So, to set this:

  • Power on the Zotac and access to UEFI by pressing SUPPR key at boot time
  • Go in screen "Chipset"
  • Set UMA at 1G (default is 256M, see Note above for more details)



Save and reset.

Note: If you have enough Memory (let's beginning with 2GB), then setting UMA at 1GB is recommended to avoid any playback issue.
Still you can try with 512MB and update to 1GB in case of trouble.
See Peter's comments. (thanks to him!)


Step 2: Install Openelec


Step 2.1: Standard installation with media installator

Use this method if you don't plan to have multiboot on same device, with an other Linux installation as for example.
If you plan to have multiboot, go to "Step 2.2: Manual alternative method (Multiboot)


Installing Openelec is very easy and will be done a few steps.


Don't hesitate to take a look at the main Wiki Openelec Website:
http://wiki.openelec.tv/index.php?title=Main_Page

Installation will be done in a few simple steps, described as bellow:
  1. Download Openelec installator and extract
  2. Create your installation booting USB Key
  3. Boot with your USB Key and install Openelec

1. Download and extract Openelec

Go to:
http://openelec.tv/get-openelec

Look for the section "FUSION Builds' and download the last version, i recommend you to use the last version even if still considered as Beta.

Note: You have to choose between PVR version and non PVR version, if you want to know the difference, PVR means Personal Video Recorder and is used to access to Live TV systems.
Even if you don't have any PVR, choosing the version with PVR won't change anything, so don't worry too much.

Openelec is provided as a Bz2 compressed Tar archive, on Linux desktop environments, you can easily extract here with a right click / Extract Here, or use the command line in Terminal:
$ tar -xjf OpenELEC_PVR-Fusion*.tar.bz2

For windows Users, i recommend you to download and install 7zip (freeware), it will be able to extract files with no issues.


2. Create your USB installation key

For Linux Users:

Insert your USB Key and go to the extracted Directory, identify your device name. (you can use the "mount" command to do it, usually your USB key should /dev/sdb)

Then execute the provided script:
$ sudo ./create_installstick /dev/sdb



For Windows Users:

Inset your USB Key and launch "create_installstick.exe".
See:
http://wiki.openelec.tv/index.php?title=Installing_OpenELEC_on_HTPCs_via_Windows_(Part_1)


For Mac OS X Users:

See:
http://wiki.openelec.tv/index.php?title=Installing_OpenELEC_on_HTPC%27s_with_Mac_OS_X_(Part_1)



3. Boot with USB Key and install Openelec in your internal device


Real simple, just boot with your USB Key connected. (if it fails then your first boot device may not be the USB key, enter the UEFI and force boot to the USB Key)

If you need help, see:
http://wiki.openelec.tv/index.php?title=Installing_OpenELEC_on_HTPC%27s_Part_2_for_all_OS

SSH: I recommend to activate SSH when asked by installator

Note: You can also manually install OpenELEC if you plan to use it in Multiboot with other OS.
I won't cover it here.



Step 2.2: Manual alternative installation method (Multiboot)


1. Install your system(s) and set your partitioning 

Use this installation method if you plan to have Multiboot.
I recommend you to install first systems you are planning to use on same device, let enough space free on your internal Volume for 2 OpenELEC partitions. (which can be logical partitions and not primary)

Partitioning example with an other Linux Installation (adapt to your needs or preferences):

Internal Volume is called "/dev/sda":

  • /dev/sda1: Main root ("/") partition for system 1
  • /dev/sda2: Logical main partition
  • /dev/sda5: Home ("/home") parttion for system 1
  • /dev/sda6: Swap partition for system 1
  • /dev/sda7: System partition for OpenELEC
  • /dev/sda8: Data partition for OpenELEC

When installation your first system, ensure to let enough space for your OpenELEC installation, the system partition does not requires much spaces. (256MB or 512MB will be largely enough)
Requirement for Data partition depends on you, if you have enough space set something like 8GB.


I recommend to use "gparted" when your are running your first system to create required partitions for OpenELEC.

Create 2 ext4 partitions with labels (labels are required, don't miss it) "OE_SYSTEM" and "OE_DATA".

Mount the OE_SYSTEM partition in your active Linux.


2. Extract OpenELEC and set your boot loader 


  • Download from OpenELEC site the last version and extract it. (using your desktop or the command "tar -xvjf <openelec archive" in command line)
  • Copy files contained in "target" directory to the OE_SYSTEM partition you have previously mounted
  • Edit the grub customize file and add your section for OpenELEC:
Adapt to your set up, in my example case:

/etc/grub.d/40_custom
menuentry "OpenELEC" {
    set root=(hd0,7)
    linux /KERNEL boot=/dev/sda7 disk=/dev/sda8 quiet
}


And update grub:

$ sudo update-grub


Note: 

To easily manager your Grub boot loader (changing order and so on), i advise you to install grub-customizer:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer && sudo apt-get update && sudo apt-get install -y grub-customizer



Your OpenELEC installation is ready to be started, just reboot and choose OpenELEC at boot time. (which you should choose as default)



Step 3: Configure OpenELEC and customize XBMC

First, learn how to access to OpenELEC OS Setting:

If you have Confluent theme, Go to Parameters, scroll down and select sub menu "OpenELEC":



With other themes, you have can go to "Addon" or Parameters > Addon, then you may have to scroll up upon "Program Addon" then "OpenELEC OS Settings":






Set up your language

To configure your language, Go to Parameters > Appearence:



You may also need to configure your keyboard layout, Go to OpenELEC OS Settings, you have to reboot for this to be applied:



Configure your Network:

Wired Connection

If you are using your local wired connection (always recommended, more powerful and stable than any Wireless connection).

OpenELEC uses DHCP by default, so if you have a DHCP sever enabled in your Network (any ISP Box usually have one), you don't have nothing to do.

Note: If you don't know it already, DHCP will automatically set IP configuration of your devices connected to your Network

Therefore, you can if you prefer set a fix IP Address, go to OpenELEC OS settings

Wireless Connection

You may also want to use a wireless connection, the USB Wireless device provided works out of the Box, so just go to OpenELEC OS Settings.

You have to know:
  • Your Wireless SSID (eg the name of your Wireless Network)
  • Your Wireless Encryption mode, WEB or WPA
  • Your encryption Key

Also, note that the name of your Wireless interface should be "wlan0".

Example of configuration:




Check your Network connection status

Go to Parameters, scroll back and select sub-menu "System Information":








Configure Video Playback options:


Configuration advises:

  • In System->Settings->System->Video Settings:

- Vertical Sync: Always on

  • In System ->Video->Playback:

- XVBA: On

- Adjust Refreshrate to match video: On
- Sync Playback to Display: On
- Sync Method: Video Clock (Drop/Dupe)




Configure your skin


By default XBMC is provided with the Skin "Confluence" with is good enough but you may really appreciate to take a look at others skins.

I would recommend 2 skins in particular:

- AEON NOX
- NEON

Let's give a try to Aeon Nox :-)


Go to Parameters, Skins:








Step 4: Configure your Media Library

First of all, OpenELEC will automatically be able to access to any device you will connect (external Hard Drive, USB keys...) and also able to access to any shared in your Network.

So do not worry about statically mounting your volumes in OpenELEC, this is not required.

Take a look on my older post, Step 9:
http://youresuchageek.blogspot.fr/2012/06/xbmc-install-and-config-howto-for-linux.html

Everything will be explained on how you can set up your Media Library.



Step 5: Configure the sound

The Zotac AD11 is provided with a combo Jack / Optical connection (in front of the device) usable with an adapter, in addition with the HDMI connection, you have 3 possibilities:

  • Analogical using jack
  • Numerical using HDMI
  • Numerical using SPDIF

For information, here is the "aplay" output on Zotac AD11, you can see here the 3 interfaces:
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 1: ALC892 Digital [ALC892 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


I had some issues with the classic way of configuring sound in OpenELEC (using asound.conf) but this may depends on your configuration and hardware capacity. (capable DTS receiver and so on)

I would recommend using the following method which works perfectly.

Note: If you don't have sound in menu, set also the asound.conf file (see Memorandum at the end this post), the system will use default pcm value for system sounds.


FOR HMDI:

Sound output through HDMI, your TV is connected to your sound system through optical
Adapt to your hardware capacity: 2.0, 5.1 speakers, AC3/DTS capable...

Audio output = Optical or HDMI (try both)
Speaker configuration = 5.1

Audio output device = Custom
Custom audio device = plughw:0,3

Passthrough output device = plughw:0,3

Activate or Deactivate AC3, DDS...depending on your hardware


FOR SPDIF:

Sound output from SPDIF, your sound system is connected directly to your htpc using optical connection
Adapt to your hardware capacity: 2.0, 5.1 speakers, AC3/DTS capable...

Audio output = Optical
Speaker configuration = 5.1

Audio output device = Custom
Custom audio device = plughw:1,1

Passthrough output device = plughw:1,1


Activate or Deactivate AC3, DDS...depending on your hardware



Step 6: Zotac Remote control


Zotac AD11 is delivered with a small MCE remote control, and both an internal IR Receiver and external USB IR Receiver.

Fortunately, this remote works perfectly fine out of the Box in OpenELEC.

I would recommend you not to use the external USB IR Receiver because its quality (in my opinion) is very cheap and does not work as good as the Internal IR.

Therefore, if you want to use it anyway, you have to deactivate the Internal IR Receiver to avoid repeating keys in OpenELEC. (Go in UEFI)



Step 7: Optional - Opera Addon - Integrated Web Browser

If you want to get a Web Browser inside your OpenELEC installation, take a look at:

http://dl.dropbox.com/u/8224157/OpenELEC-Ultra/opera/final/index.html


Thanks to his great work, you'll get a full operational Opera Web Browser ^^


Conclusion:


If you are looking for an XBMC Media Center Fusion solution working out the box within a few minutes, then OpenELEC is definitively the solution for you.

This is a very great work from OpenELEC guys!





Memorandum:

  • Traditional to configure your sound output using file "asound.conf":
Navigate with your computer inside your network. (Under Linux and Windows, navigate to Network)
You should see a new host called "OPENELEC", go inside (no authentication required) and go to the share called "Configfiles"



Create a blank file called "asound.conf" and put the following content, depending on your choice:

asound.conf:
pcm.dmixer {
   type dmix
   ipc_key 1024
   ipc_key_add_uid false
   ipc_perm 0660
   slave {
      pcm "hw:0,3"               #HDMI, defaults to 48000 kHz
      channels 2
      period_size 1024
      buffer_size 4096
   }
}
 
pcm.!default {
   type plug
   slave.pcm "dmixer"
}

Configuration in XBMC: Parameters, System, Sound configuration

Audio output = HDMI
Speaker configuration = 5.1

Audio output device = Custom
Custom audio device = plug:dmixer

Passthrough output device = hdmi (alsa)

Note: You may need to adapt this to your configuration, if you don't have a 5.1 sound system choose 2.0, if don't have DTS decoder uncheck it, and so...


For Digital sound through SPDIF:

asound.conf:
pcm.dmixer {
    type dmix
    ipc_key 1024
    slave {
        pcm "hw:1,1"
        period_time 0
        period_size 1024
        buffer_size 8192
        rate 48000
     }
     bindings {
        0 0
        1 1
     }
}

pcm.!default {
   type plug
   slave.pcm "dmixer"
}

Configuration in XBMC: Parameters, System, Sound configuration

Audio output = Optical
Speaker configuration = 5.1

Audio output device = Custom
Custom audio device = plug:dmixer

Passthrough output device = plug:dmixer

Note: You may need to adapt this to your configuration, if you don't have a 5.1 sound system choose 2.0, if don't have DTS decoder uncheck it, and so... 




FAQ:












Feel Free to comment!