HOW-TO:Install Kodi for Linux: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>UNiversal
>UNiversal
m (→‎Ubuntu: update this part a bit)
Line 8: Line 8:
===Ubuntu===
===Ubuntu===
;Official
;Official
*https://launchpad.net/~team-xbmc/+archive/ppa
*https://launchpad.net/~team-xbmc/+archive/ppa '''ppa:team-xbmc/ppa'''
*https://launchpad.net/~team-xbmc/+archive/unstable
*https://launchpad.net/~team-xbmc/+archive/unstable '''ppa:team-xbmc/unstable'''
*https://launchpad.net/~team-xbmc/+archive/xbmc-nightly  '''ppa:team-xbmc/xbmc-nightly'''
;Xvba and improved Vdpau (not mainline)
*https://launchpad.net/~wsnipex/+archive/xbmc-xvba  '''ppa:wsnipex/xbmc-xvba'''
*https://launchpad.net/~wsnipex/+archive/xbmc-xvba-frodo  '''ppa:wsnipex/xbmc-xvba-frodo'''


;3rd party (contains older Ubuntu support, XVBA, etc)
;3rd party (contains older Ubuntu support etc)
*https://launchpad.net/~nathan-renniewaldock/+archive/ppa
*https://launchpad.net/~nathan-renniewaldock/+archive/xbmc-stable  '''ppa:nathan-renniewaldock/xbmc-stable'''
*https://launchpad.net/~nathan-renniewaldock/+archive/xbmc-nightly
*https://launchpad.net/~nathan-renniewaldock/+archive/xbmc-nightly '''ppa:nathan-renniewaldock/xbmc-nightly'''
*http://www.loggn.de/ubuntu-xbmc-repository-11-eden-airplay-pvr-livetv/
*https://launchpad.net/~wsnipex/+archive/xbmc-xvba


 
{{note|Frodo is available from Ubuntu 11.10 (Oneiric Ocelot) to 12.10 (Quantal Quetzal), you can install from the team-xbmc PPA as follows or replace the ppa with the desired from above}}
From Ubuntu 11.10 (Oneiric Ocelot) to 12.10 (Quantal Quetzal), you can install from the team-xbmc PPA as follows or replace the ppa with the desired from above


<source lang="bash">
<source lang="bash">

Revision as of 15:20, 13 February 2013

Cleanup.png This page or section may require cleanup, updating, spellchecking, reformatting and/or updated images. Please improve this page if you can. The discussion page may contain suggestions.


See also: XBMC for Linux specific FAQ

These are instructions for people who already have a Linux-based OS set up. If you have not installed a Linux-based OS yet, you might wish to try out XBMCbuntu which will install both the OS and XBMC with an easy installer.

Installation from Team XBMC distribution packages

Ubuntu

Official
Xvba and improved Vdpau (not mainline)
3rd party (contains older Ubuntu support etc)

Note: Frodo is available from Ubuntu 11.10 (Oneiric Ocelot) to 12.10 (Quantal Quetzal), you can install from the team-xbmc PPA as follows or replace the ppa with the desired from above

sudo apt-get install python-software-properties pkg-config
sudo add-apt-repository ppa:team-xbmc
sudo apt-get update
sudo apt-get install xbmc


Make sure to have the multiverse repository enabled, see /etc/apt/sources.list, it is needed for libfaad0, otherwise you get

xbmc: Depends: xbmc-data (= 2:10.00~svn35648-lucid1) but it is not going to be installed
E: Broken packages

For more details, see the HOW-TO install XBMC for Linux on Ubuntu, a Step-by-Step Guide page (The official XBMC site points to this page) or the minimal Ubuntu guide which is suitable for a HTPC style system without desktop use.

If you are interested in stable XBMC releases (releases that we certify as usable and/or testable), please use the stable PPAs. Once added in your repository list, you will be notified for any update we make. You will have the latest stable version this way.

Installation from official distribution packages

A number of distributions now provide packages for XBMC. Since installation via distribution packages is simple (usually one or two commands) and the easiest way to get started, this section includes the minimum information on doing that. Distributions are listed in alphabetical order. Following the instructions provided should result in you having a working stand-alone XBMC installation.

Arch

As stable xbmc releases are already available through the community repository, please make sure you have it enabled in your /etc/pacman.conf. After that it's as simple as using pacman to install the most recent version of xbmc in the repository along with all of its dependencies:

pacman -Sy xbmc

Foresight

xbmc is in official repositories and can be installed by running:

sudo conary update xbmc

Gentoo

xbmc is in the official portage tree as media-tv/xbmc. Install with:

 sudo emerge --autounmask xbmc

Mageia

PVR-enabled XBMC is available in the official repositories. You can install it with the graphical package manager or with the following command:

urpmi xbmc

Mageia 2 ships with XBMC 11.0 (Eden); Mageia 1 ships with XBMC 10.1 (Dharma). Both have opdenkamp's PVR support added.

Mandriva

XBMC 10.1 (Dharma) with PVR support is available in contrib/updates of Mandriva 2010.1. You can install it with

urpmi xbmc 

Mandriva 2009.1 and 2010.0 have older versions of XBMC that can be installed by running:

urpmi --searchmedia Backports xbmc

Of course, you can install from contrib/backports or from contrib/release using the GUI tool rpmdrake. Note that all these methods are most easily used if you have the full software sources enabled.

Debian

Note that XBMC from the official Debian repository does not include rar support.

apt-get install xbmc

XBMC 11.0 is in Wheezy (testing). Squeeze users should find XBMC 10.0 in the third-party distribution packages from debian-multimedia repository.

Ubuntu

Note that XBMC from the official Ubuntu repository does not include rar support.

apt-get install xbmc

Installation from third-party distribution packages

While obviously using distribution-supplied packages is preferable (in terms of updates, continued support, easier distro upgrades etc.) to third-party packages, methods for installing from third-party packages repositories are still easier than installing from source.

Fedora and CentOS

xbmc builds for Fedora and CentOS 6 can be installed via the RPM Fusion set of repositories. Follow the RPM Fusion Configuration guide to set up the repositories and install by running:

sudo yum install xbmc

openSUSE

xbmc is available in the Packman repository. To install, add the Packman repository (YaST (package manager) --> repositories --> repositories manager --> add --> community repositories), after which you can install by running:

sudo zypper in XBMC

More information is available on the HOW TO install XBMC on openSUSE Linux page.


Autostarting XBMC

There's several ways to start automatically XBMC:

  • Upstart script xbmc.conf in /etc/init (short and sweet)
  • Modifying the inittab (log winded)
  • Create a new init script

Upstart init script

Create a /etc/init/xbmc.conf with following contents.

# xbmc-upstart
# starts XBMC on startup by using xinit.
# by default runs as xbmc, to change edit below.
env USER=xbmc

description     "XBMC-barebones-upstart-script"
author          "Matt Filetto"

start on (filesystem and stopped udevtrigger)
stop on runlevel [016]

# tell upstart to respawn the process if abnormal exit
respawn

script
  #exec su -c "xinit /usr/bin/xbmc --standalone -- -nocursor :0" $USER
  exec su -c "xinit /usr/bin/xbmc --standalone :0" $USER
end script

Note: If you wish to remove all mouse/cursor X and pointer when XBMC starts uncomment #exec su -c "xinit /usr/bin/xbmc --standalone -- -nocursor :0" $USER adding comment # to the first option.

And your done nothing else is required, XBMC will restart/respawn if killed or crashed.

Modify the inittab

This was tested on Arch Linux.

To automatically start xbmc on your system, do the following:


First you need to make some changes to /etc/inittab. Comment out (add a #) to this line:

id:3:initdefault

to

#id:3:initdefault

and uncomment

id:5:initdefault

Then add this line to the bottom:

x:5:wait:login -f <YOUR_XBMC_USERNAME> </dev/tty7 &>/dev/tty7

Using wait instead of respawn means that you can exit out of xbmc into the console.


  • NOTE*: This is a security hole as it autologins a dedicated xbmc user without asking for a password!


Now that we have the user logged in we need it to auto start XBMC. In ~/.xinitrc add the following to the end of the file (after removing/commenting any other exec lines that start a windowmanager):

exec ck-launch-session xbmc


Add this line to your ~/.bash_profile

[[ $(tty) = "/dev/tty7" ]] && exec startx </dev/null &>/dev/null


And create a hushlogin file to suppress login messages.

touch ~/.hushlogin


Lastly, for the magic sauce that makes this work, add dbus to your daemons in /etc/rc.conf.

DAEMONS=(... dbus ...)


You're finished. Next time you reboot you should be greeted with XBMC.

Add a new init script

This method works well under Debian. The current configuration is a HTPC running Debian Squeeze, with no window manager installed. The main goal here is to start an Xserver only for XBMC. It allows also to specify which user will start / own the XBMC process. This method will not work if you have a window manager installed (however, it should not be hard to modify the script to suit your needs)

  • Create a new script under /etc/init.d/. Call it xbmc
  • Change the rights, in order to allow it to be executable.
# chmod a+x /etc/init.d/xbmc
  • copy the code under in the file. Modify the variables to suit your configuration:
#! /bin/sh

### BEGIN INIT INFO
# Provides:          xbmc
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts instance of XBMC
# Description:       starts instance of XBMC using start-stop-daemon and xinit
### END INIT INFO

############### EDIT ME ##################

# path to xinit exec
DAEMON=/usr/bin/xinit

# startup args
DAEMON_OPTS=" /usr/local/bin/xbmc --standalone -- :0"

# script name
NAME=xbmc

# app name
DESC=XBMC

# user
RUN_AS=sterfield

# Path of the PID file
PID_FILE=/var/run/xbmc.pid

############### END EDIT ME ##################

test -x $DAEMON || exit 0

set -e

case "$1" in
  start)
        echo "Starting $DESC"
        start-stop-daemon --start -c $RUN_AS --background --pidfile $PID_FILE  --make-pidfile --exec $DAEMON -- $DAEMON_OPTS
        ;;
  stop)
        echo "Stopping $DESC"
        start-stop-daemon --stop --pidfile $PID_FILE
        ;;

  restart|force-reload)
        echo "Restarting $DESC"
        start-stop-daemon --stop --pidfile $PID_FILE
        sleep 5
        start-stop-daemon --start -c $RUN_AS --background --pidfile $PID_FILE  --make-pidfile --exec $DAEMON -- $DAEMON_OPTS
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0
  • Test the script by trying to start / stop XBMC with it.
# /etc/init.d/xbmc start
........
# /etc/init.d/xbmc stop
  • If all is ok, you can add the script to your configuration, by issuing a "update-rc.d"
# update-rc.d xbmc defaults
  • If XBMC does not start, you may need to allow X to start from non-consoles. Under Debian/Ubuntu, run:
# dpkg-reconfigure x11-common

and choose "Anyone".

  • You can now reboot the server, XBMC should be started just after the boot sequence.

Installation from source

If distribution packages are not available, or you need a newer version, or specific features enabled, then you will most likely need to compile from source. While compiling from source does not differ very much between distributions (except for installation of build dependencies), a few different guides are available in this wiki.