Category:Installation: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Guilmxm
No edit summary
>Guilmxm
No edit summary
Line 595: Line 595:


'''In my cas, i was not fully satisfied with this configuration, the Home button was not doing what i was expecting (going back to XBMC Home, and i wanted a button to be able to change language by the remote control'''
'''In my cas, i was not fully satisfied with this configuration, the Home button was not doing what i was expecting (going back to XBMC Home, and i wanted a button to be able to change language by the remote control'''
<br>Under conntruction i have get back my config file ^^


<br>You may try this configuration:
<br>You may try this configuration:
Line 638: Line 636:
         <nine>KEY_9</nine>
         <nine>KEY_9</nine>
         <red>KEY_RED</red>
         <red>KEY_RED</red>
        <green>KEY_GREEN</green>
            <green>KEY_GREEN</green>
        <yellow>KEY_YELLOW</yellow>
            <yellow>KEY_YELLOW</yellow>
        <blue>KEY_BLUE</blue>
            <blue>KEY_BLUE</blue>
         <star>KEY_NUMERIC_STAR</star>
         <star>KEY_NUMERIC_STAR</star>
         <hash>KEY_NUMERIC_POUND</hash>
         <hash>KEY_NUMERIC_POUND</hash>
         <subtitle>KEY_TEXT</subtitle>
         <subtitle>KEY_TEXT</subtitle>
         <title>KEY_TITLE</title>
         <Language>KEY_TITLE</Language>
         <clear>KEY_CLEAR</clear>
         <clear>KEY_CLEAR</clear>
     </remote>
     </remote>
</lircmap>
</lircmap>
</pre>
</pre>


* Reboot and test, everything should work !
* Reboot and test, everything should work !

Revision as of 16:24, 27 June 2012

Template:XBMC wiki toc/v

See also: Category:Compiling

Installation and configuration of XBMC on Ubuntu based OS with AMD HD Graphic (tested with Zotac AD02 and AD10)

The Goal:

Installing and configuring all the necessary to get a fully functional, stable and great XBMC media center on AMD Plateform using prorietary ATI driver and Hardware acceleration.

Software:

This configuration guide has been tested under Ubuntu based OS running 11.10 TLS and 12.04 TLS (desktop versions of Xubuntu and Lubuntu)

Hardware:

This configuration guide has been tested on Zotac AMD Based HTPC: ZOTAC AD02 and ZOTAC AD10


These two HTPCs are quite the same; One major difference is the included and optional USB IR receiver for Zotac AD10, associated with its nice MCE remote control.


Also, only the Zotac AD02 has an SPDIF output to serve Digital sound, digital sound for Zotac AD10 will be achieved using HDMI ouput


Both of them are embedded with an AMD E350 CPU with ATI Radeon HD able to deal with 1080p video and 5.1 Digital audio :-)


Zotac AD02 Model : AMD E-350 APU Platform (dual-core) (1.6 GHz) AMD Radeon™ HD 6310

Zotac-ad02.jpg

Zotac AD10 Model : AMD E-350 APU Platform (dual-core) (1.6 GHz) AMD Radeon™ HD 6310

Zotac-ad10.jpg

Step 1: Install your system


First choose your Ubuntu version to install. This guide will only be fully applicable with an Ubuntu based version.


I will not cover the OS installation itself as there is a lot of tutorials on this subject and installation is enought easy right now.


I do not recommend using Ubuntu classic version as it provides by default a very resource consuming interface (Unity) and has a lot of problems and bugs running ATI proprietary driver!


As far as I know and as far as I tested, the only Ubuntu bases distributions with absolutely no issue with the ATI proprietary driver are:


  • Xubuntu : Ubuntu based version with XFCE desktop
  • Lubuntu : Ubuntu based version with LFCE desktop


I would recommend Lubuntu in the case of a XBMC dedicated system (but that’s all my personal choice and therefore i prefer to use Xubuntu) as it has a really low resource consuming desktop interface.


NB:

You may also want to choose a minimal Ubuntu installation and then only run an Xserver that will directly start XBMC interface. This guide will still be approximately applicable in this case.


I did not choose this option for different reasons:

  • No desktop interface to deal with system, files and so on (even if often prefer the command line, 2 possibilities are always betters than one!)
  • No Web browser
  • No graphical tool to manage Networks connections, etc…
  • No access to AMD ATI graphical configuration manager, so no way to simply change resolution, brightness, contrast and so on

Installation recommendations:

3 partitions :

  • A first partition for the root system ( / )
  • A second partition for home (/home)
  • A small Swap partition (1 or 2 GB will largely be enough, a such system is not expected to really swap in normal conditions)

Other:

  • Install Third party softwares (mp3 and so on)
  • In the installation Software, use “xbmc” as a the login
  • Activate autologin for the user "xbmc"

Step 2: Ensure your system is up to date and upgrade if required

sudo apt-get update
sudo apt-get upgrade -y
sudo dist-upgrade –y
sudo reboot

Step 3: Install some requirements

sudo apt-get install ssh python-software-properties udisks upower xorg alsa-utils mesa-utils git-core
librtmp0 lirc libmad0 lm-sensors lib32gcc1 libc6-i386 dkms


NB : For lirc, when wizard asks you to choose your hardware in our case we will configure it later so you can choose none... If you already know how to configure lirc and your hardware you may want to choose the right one.

Step 4: Install ATI proprietary driver (required for XVBA Hardware acceleration)

  • Get the driver from AMD Site (same file for both 32/64 Bits):

http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx

  • Build Packages:
sudo sh ./amd-driver-installer-*-x86.x86_64.run --buildpkg

NB: I you are missing some requirements to build packages, a graphical apt-get install will automaticaly appear and install requirements, just valid and proceed and package building will continue

Packages will be built in current directory and exit.

  • Install packages:
sudo dpkg -i fgl*.deb
  • Create xorg configuration files
sudo aticonfig -initial -f
sudo aticonfig -sync-vsync=on

Optionnal and not destructive: Disable underscan (black borders)

sudo aticonfig --set-pcs-val=MCIL,DigitalHDTVDefaultUnderscan,0
  • Reboot
sudo reboot

Step 5: Proceed with XBMC installation using pre-compiled packages built for ATI

This procedure will add a ppa containing pre-compiled XBMC stable Eden version with XVBA support and install XBMC:

  • Add the ppa:
sudo add-apt-repository ppa:wsnipex/xbmc-xvba-eden

Press enter to valid adding this ppa

  • Update and install:
sudo apt-get update
sudo apt-get install xbmc xbmc-bin

Step 6: XBMC nice level

  • Allow xbmc user to change its nice level:

edit /etc/security/limits.conf add the following line at the end of the file

xbmc            	 -       	nice           		 -1

Step 7: First start of XBMC and base configuration

Open XBMC and proceed with first settings:

  • Open XBMC
  • In Appearance / skin, I recommend “NEON” (again my personal choice!)
  • In Appearance, adapt your language if required

Screen1.png

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

Vertical Sync: Always on

Screen2.png

  • In System ->Video->Playback:


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

Screen3.png

  • Exit XBMC

Step 8: Optimizing XBMC CPU use

Enable Dirty Region Rendering (drastically reduces CPU load on XBMC idle) and DDS Fanart NOTE: do not do this as root or with sudo. this file must belong to your normal xbmc user

create: ~/.xbmc/userdata/advancedsettings.xml

<advancedsettings>
  <loglevel hide="false">0</loglevel>
 <gui>    
   <algorithmdirtyregions>1</algorithmdirtyregions>
   <visualizedirtyregions>false</visualizedirtyregions>
   <nofliptimeout>0</nofliptimeout>
 </gui>    
 <cputempcommand>sensors|sed -ne "s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p"</cputempcommand>
 <gputempcommand>/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d "-" | cut -f 1 -d "." | sed -e "s, ,," | sed 's/$/ C/'</gputempcommand>
</advancedsettings>

Step 9: Configuring Digital Audio


You will certainly want to get Digital sound with your own Home Cinema, to get this working you have two possibilities depending on your hardware :

  • Digital sound through SPDIF
  • Digital sound through HDMI


I will provide these two examples, you have to adapt this depending on your Hardware !

  • Digital Audio with SPDIF on Zotac AD02


As xbmc user, create a new file in your home: ~/.asoundrc

pcm.dmixer { 
    type dmix 
    ipc_key 1024 
    slave { 
        pcm "hw:1,1" 
        period_time 0 
        period_size 1024 
        buffer_size 8192 
        #periods 128 
        #rate 44100 
        rate 48000 
     } 
     bindings { 
        0 0 
        1 1 
     } 
} 


Restart XBMC, in Settings>System>Audio Output:

  • Audio Output: Optical/Coax
  • Speaker Configuration: 5.1
  • Audio Output Device: Custom
  • Custom Audio Device: plug:dmixer
  • Passthrought Output Device: Custom
  • Custom Passthrought Device: plug:dmixer

Screen4.png

  • Digital Audio with HDMI on Zotac AD10


As xbmc user, create a new file in your home: ~/.asoundrc

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"
}


Restart XBMC, in Settings>System>Audio Output:

  • Audio Output: HDMI
  • Speaker Configuration: 5.1
  • Audio Output Device: Custom
  • Custom Audio Device: plug:dmixer
  • Passthrought Output Device: hdmi (alsa)

Step 10: Configuring power management to allow shutdown and others power management functions from XBMC


Without configuring it, you won't be able to shutdown or suspend your system directly from XBMC Source:
http://wiki.xbmc.org/index.php?title=HOW-TO:Suspend_and_wake_in_Ubuntu

  • Install requirements:
sudo apt-get install policykit-1 upower acpi-support


Create a new file "/var/lib/polkit-1/localauthority/50-local.d/custom-actions.pkla":

For Ubuntu 11.10:

[Actions for xbmc user]
Identity=unix-user:xbmc
Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesktop.udisks.*
ResultAny=yes
ResultInactive=no
ResultActive=yes

For Ubuntu 12.04:

[Actions for xbmc user]
Identity=unix-user:xbmc
Action=org.freedesktop.upower.*;org.freedesktop.consolekit.system.*;org.freedesktop.udisks.*
ResultAny=yes
ResultInactive=yes
ResultActive=yes
  • Restart XBMC and try power management functions such as shutdown


You may have to do more configuration if you need wake up from USB connected devices, in my case with the Zotac AD10 and using remote control, i did not had to and powering up was working from remote control even with the optional IR USB receiver.

Step 11: Configure your Video Media Library


I will present the way i do which is absolutely personal and you may want to work completely differently ^^

Probably you will have:

  • One and probably various external storage
  • Films, but also animes for kids, music videos, comics shows and so on...


Using the XBMC's library function, you will be able (assoiated with a scrapper) to automaticaly get film's pictures and informations, so you absolutely need to organize all that.
You can have as for an example your film's library splitted in various external storages !

I Recommend:

  • Use the same directory organisation for each external storage, example:
You have a first external drive:
/media/EXTERNAL1/Multimedia/Films
/media/EXTERNAL1/Multimedia/Animes

And a second with the same organization:
/media/EXTERNAL2/Multimedia/Films
/media/EXTERNAL2/Multimedia/Animes
  • For each Film or Video, create a dedicated Directory with the official name of the Film, example:
/media/EXTERNAL1/Multimedia/Films/Ironman 1
/media/EXTERNAL1/Multimedia/Films/Ironman 2
...

NB: Check for each film the official name on:
http://www.themoviedb.org/

  • In XBMC, Go To "Video", Scroll Down and open "Files"
  • Add a Video Source for each Directory you want XBMC to scan and add to the Media Library


Follow theses instructions:

- Scroll Down and select the "themoviedb" as the scrapper
- Select automatic scan
- Select Each video in a dedicated directory
- Valid and Valid scan now


Step 12: Configuring Remote Control


In the cas of the Zotac AD10, an MCE remote control is provided, associated with an embeded IR receiver and also an optional USB IR receiver.


Using the optional IR receiver, the remote control was working good without doing anything :)


However, some buttons weren't working as i wanted, and more boring the most usefull button was not working... (Home button, the green with windows logo)


Thanks to him, i found this:
http://ben.periton.co.uk/2012/06/configuring-the-zotac-zbox-remote-control/

  • First remove lirc (we will install a specific version):
sudo apt-get remove lirc
  • Install requirements:
sudo apt-get install automake dialog libtool
  • Download the version from FernetMenta:
wget https://github.com/FernetMenta/lirc/tarball/master -O lirc.tar.gz
  • Extract, configure and install:


When you will run setup.sh, choose select driver "zotac" under usb, then save & configure

tar -xvf lirc.tar.gz
cd <Directory>
./autogen.sh
./setup.sh
make
sudo make install
  • Create links /usr/sbin:
cd /usr/sbin
sudo ln -s ../local/sbin/lircd lircd
sudo ln -s ../local/sbin/lircmd lircmd
  • Stop X11 from registering device as keyboard


Edit "/usr/share/X11/xorg.conf.d/10-evdev.conf" and place the following code at the begining of the file:

Section "InputClass"
  Identifier "PHILIPS MCE USB IR Receiver- Spinel plus"
  MatchProduct "PHILIPS MCE USB IR Receiver- Spinel plus"
  MatchIsKeyboard "true"
  Option "Ignore" "true"
EndSection
  • Add a alias in udev to /dev/remote by creating a new file at /etc/udev/rules.d/10-local.rules with the following:
SUBSYSTEM=="usb" , ATTRS{idVendor}=="0471", ATTRS{idProduct}=="20cc", SYMLINK+="remote", ACTION=="add", RUN+="/sbin/initctl --quiet emit --no-wait ir-ready"
  • Replace the current version of /etc/lirc/hardware.conf with:
# hardware.conf for Zotac
#
REMOTE="Zotac MCE Remote"
REMOTE_MODULES=""
REMOTE_DRIVER="zotac"
REMOTE_DEVICE="/dev/remote"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="zotac/lircd.conf.zotac"
REMOTE_LIRCD_ARGS=""
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
START_LIRCD="true"
LOAD_MODULES="true"
LIRCMD_CONF=""
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""
  • Replace the current version of /etc/lirc/lircd.conf with:
  min_repeat      9
#  suppress_repeat 9
#  uncomment to suppress unwanted repeats
#  toggle_bit_mask 0x7004F

      begin codes
          KEY_SLEEP                0x00010082
          KEY_WAKEUP               0x00010083
          KEY_RECORD               0x000C00B2
          KEY_PAUSE                0x000C00B1
          KEY_STOP                 0x000C00B7
          KEY_REWIND               0x000C00B4
          KEY_PLAY                 0x000C00B0
          KEY_FORWARD              0x000C00B3
          KEY_LEFTSHIFT            0x000C00B6
          KEY_RIGHTSHIFT           0x000C00B5
          KEY_BACK                 0x000C0224
          KEY_INFO                 0x000C0209
          KEY_MENU                 0xFFBC000D
          KEY_UP                   0x00070052
          KEY_LEFT                 0x00070050
          KEY_RIGHT                0x0007004F
          KEY_DOWN                 0x00070051
          KEY_OK                   0x00070028
          KEY_VOLUMEUP             0x000C00E9
          KEY_VOLUMEDOWN           0x000C00EA
          KEY_MUTE                 0x000C00E2
          KEY_CHANNELUP            0x000C009C
          KEY_CHANNELDOWN          0x000C009D
          KEY_1                    0x0007001E
          KEY_2                    0x0007001F
          KEY_3                    0x00070020
          KEY_4                    0x00070021
          KEY_5                    0x00070022
          KEY_6                    0x00070023
          KEY_7                    0x00070024
          KEY_8                    0x00070025
          KEY_9                    0x00070026
          KEY_0                    0x00070027
          KEY_NUMERIC_STAR         0x10070025
          KEY_NUMERIC_POUND        0x10070020
          KEY_CLEAR                0x00070029
          KEY_TEXT                 0xFFBC005A
          KEY_TITLE                0x000C008D
          KEY_ENTER                0x00070028
          KEY_RED                  0xFFBC005B
          KEY_GREEN                0xFFBC005C
          KEY_YELLOW               0xFFBC005D
          KEY_BLUE                 0xFFBC005E
      end codes
end remote
  • As xbmc user, replace if already exists or create: ~/.xbmc/userdata/Lircmap.xml
<lircmap>
    <remote device="zotac.conf">
        <power>KEY_SLEEP</power>
        <wake>KEY_WAKEUP</wake>
        <record>KEY_RECORD</record>
        <pause>KEY_PAUSE</pause>
        <stop>KEY_STOP</stop>
        <reverse>KEY_REWIND</reverse>
        <play>KEY_PLAY</play>
        <forward>KEY_FORWARD</forward>
        <skipminus>KEY_LEFTSHIFT</skipminus>
        <skipplus>KEY_RIGHTSHIFT</skipplus>
        <back>KEY_BACK</back>
        <info>KEY_INFO</info>
        <display>KEY_MENU</display>
        <up>KEY_UP</up>
        <left>KEY_LEFT</left>
        <right>KEY_RIGHT</right>
        <down>KEY_DOWN</down>
        <select>KEY_OK</select>
        <volumeplus>KEY_VOLUMEUP</volumeplus>
        <volumeminus>KEY_VOLUMEDOWN</volumeminus>
        <mute>KEY_MUTE</mute>
        <up>KEY_CHANNELUP</up>
        <down>KEY_CHANNELDOWN</down>
        <zero>KEY_0</zero>
        <one>KEY_1</one>
        <two>KEY_2</two>
        <three>KEY_3</three>
        <four>KEY_4</four>
        <five>KEY_5</five>
        <six>KEY_6</six>
        <seven>KEY_7</seven>
        <eight>KEY_8</eight>
        <nine>KEY_9</nine>
        <red>KEY_RED</red>
            <green>KEY_GREEN</green>
            <yellow>KEY_YELLOW</yellow>
            <blue>KEY_BLUE</blue>
        <star>KEY_NUMERIC_STAR</star>
        <hash>KEY_NUMERIC_POUND</hash>
        <subtitle>KEY_TEXT</subtitle>
        <title>KEY_TITLE</title>
        <clear>KEY_CLEAR</clear>
    </remote>
</lircmap>

In my cas, i was not fully satisfied with this configuration, the Home button was not doing what i was expecting (going back to XBMC Home, and i wanted a button to be able to change language by the remote control


You may try this configuration:

<pre>
<lircmap>
    <remote device="zotac.conf">
        <power>KEY_SLEEP</power>
        <wake>KEY_WAKEUP</wake>
        <record>KEY_RECORD</record>
        <pause>KEY_PAUSE</pause>
        <stop>KEY_STOP</stop>
        <reverse>KEY_REWIND</reverse>
        <play>KEY_PLAY</play>
        <forward>KEY_FORWARD</forward>
        <skipminus>KEY_LEFTSHIFT</skipminus>
        <skipplus>KEY_RIGHTSHIFT</skipplus>
        <back>KEY_BACK</back>
        <info>KEY_INFO</info>
        <start>KEY_MENU</start>
        <up>KEY_UP</up>
        <left>KEY_LEFT</left>
        <right>KEY_RIGHT</right>
        <down>KEY_DOWN</down>
        <select>KEY_OK</select>
        <volumeplus>KEY_VOLUMEUP</volumeplus>
        <volumeminus>KEY_VOLUMEDOWN</volumeminus>
        <mute>KEY_MUTE</mute>
        <up>KEY_CHANNELUP</up>
        <down>KEY_CHANNELDOWN</down>
        <zero>KEY_0</zero>
        <one>KEY_1</one>
        <two>KEY_2</two>
        <three>KEY_3</three>
        <four>KEY_4</four>
        <five>KEY_5</five>
        <six>KEY_6</six>
        <seven>KEY_7</seven>
        <eight>KEY_8</eight>
        <nine>KEY_9</nine>
        <red>KEY_RED</red>
            <green>KEY_GREEN</green>
            <yellow>KEY_YELLOW</yellow>
            <blue>KEY_BLUE</blue>
        <star>KEY_NUMERIC_STAR</star>
        <hash>KEY_NUMERIC_POUND</hash>
        <subtitle>KEY_TEXT</subtitle>
        <Language>KEY_TITLE</Language>
        <clear>KEY_CLEAR</clear>
    </remote>
</lircmap>

  • Reboot and test, everything should work !