Archive:Install Kodi for Linux on Arch Linux: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Jskube84
m (Karellen moved page HOW-TO:Install Kodi for Linux on Arch Linux to Archive:Install Kodi for Linux on Arch Linux without leaving a redirect: Outdated)
 
(44 intermediate revisions by 10 users not shown)
Line 1: Line 1:
'''DISCLAIMER!''' This is an unofficial guide.  Unofficial as in the XBMC Team will not support this type of install, answer your questions, assist you with problems or anything along those lines.  Unofficial means just that, this is not the official install method for XBMC and is not recommend, supported or endorsed by the XBMC Team.  This guide makes no promises that this will work with your system, that it will not break your computer, and that it will not steal your girlfriend.  If you are comfortable with all of this then feel free to continue!
{{outdated}}


This guide was written with the intent of helping those who would like to try a different distribution of Linux.  Though there is nothing wrong with Ubuntu Linux some just prefer a choice.  The minimal install and rolling release style of Arch Linux compared to Ubuntu is seen as a benefit to some users. Instead of having to deal with the lag of updating packages in some cases on Ubuntu, you can always have access to the latest and greatest.  In some ways this is bad and others it is good.  As with anything its all about preference.  Though with this flexibility you lose some ease of use.  If you are not comfortable with the command line and manually editing a config file with vi or nano THIS IS NOT THE GUIDE FOR YOU. This guide assumes you have some basic knowledge of Linux.
{{info|The Arch Wiki might be more complete and up to date for installation instructions: '''https://wiki.archlinux.org/index.php/XBMC'''}}


Last, if you have questions or problems SEARCH, SEARCH, and SEARCH SOME MORE.  The wiki and forums for XBMC and Arch Linux are full of knowledge. If you have a question or problem chances are someone else has had the same one.  So please search before you ask a question.
The following is a guide on installing XBMC as a standalone app on [http://www.archlinux.org Arch Linux]. This guide assumes that you have basic knowledge of Linux and command line usage as Arch Linux is a very simplistic and small distro that needs quite some work to get it running. If you're not after this, please consider using XBMC Live or read the official Ubuntu installation guide.


= Introduction =
This guide assumes you already have a working Arch Linux installation with a configured and running X server. If you need help in achieving these prerequisites, please have a look at the official [http://wiki.archlinux.org/index.php/Official_Arch_Linux_Install_Guide Official Arch Linux Install Guide] or the forums at archlinux.org.


This guide is intended to be a step by step guide to getting XBMC up and running on a dedicated PC running Arch Linux.  I will walk you through setting up all the hardware that is needed to get you the ultimate media p.c. experience.  Over time I hope to have people contribute to this guide so it will cover a wider array of hardware. This may seem like a long guide but just stick with it and you will come out on top.
= Installing the stable releases of XBMC =
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 xbmc and all of its dependencies:
<pre>
# pacman -Syu
# pacman -S xbmc
</pre>


'''Please note:'''
You should now be able to run XBMC by using the application shortcut in your menu or by simply by running <code>xbmc</code> from a terminal.
* The guide is for using XBMC on a dedicated HTPC, so there is no window manager and/ or any additional applications installed.
* You need minimum 1GB size flash drive or blank CD to create the install media.
* Since you will use this PC only as a [http://en.wikipedia.org/wiki/Media_center media center]. I assume that you use digital audio pass-through (S/PDIF or HDMI) to a receiver/amplifier with built-in Dolby Digital (AC3) decoder.
* <span style="color:red">'''Please also think twice, if you want to use any of the below sections in it's own, without following the guide step-by-step from the begining'''</span>


'''You will get:'''
= Installing the svn version of XBMC =
* A dedicated HTPC which auto-boots directly to XBMC Media Center.
Warning: This is not the recommended way of using XBMC as svn version are always on the bleeding edge of development and thus can break sometimes. If you want a stable media center experience, go with the stable releases.
* Latest XBMC SVN version.
* Upgraded ALSA (audio) driver.
* Up to date VIDEO (graphics) driver.
* LIRC (Microsoft MCE Remote will work out-of-the-box, however if you have any other remotes and/or LCD displays then you are on your own to solve the individual LIRC and LCDproc issues).
 
= Install Arch =
 
Please reference the [http://wiki.archlinux.org/index.php/Official_Arch_Linux_Install_Guide Official Arch Linux Install Guide] for how to install Arch Linux.  A minimal FTP install is recommend.
 
= Installing Software =
 
Now we need to go through and install XBMC and all other supporting pieces of software.  Now that we have booted into our new Arch install you must be asking now what?  Ok first lets setup a user account. 
 
== Adding the XBMC user ==
 
This is the user we will be running xbmc under.  You can run xbmc under root but that is a very bad idea.  To create the user is simple.  Well create the user xbmc and add that user to the needed groups.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# useradd -m -G users,audio,optical,disk,storage,video,power -s /bin/bash xbmc
</div>
 
Now set the password of the user xbmc.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# passwd xbmc
</div>


== Installing Yaourt ==
== Installing Yaourt ==


[http://archlinux.fr/yaourt-en Yaourt] is a very handy program. This is a repository tool that wraps around pacman that allows you to easily install packages from the AUR, or what is know as the user repository of packages for Arch. I guess these packages are close to what user repositories are on Debian/Ubuntu.
[http://archlinux.fr/yaourt-en Yaourt] is a very handy program. This is a repository tool that wraps around pacman that allows you to easily install packages from the AUR, or what is known as the user repository of packages for Arch. These packages are close to what user/PPA repositories are on Debian/Ubuntu.
 
Add the following lines to /etc/pacman.conf
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
[archlinuxfr]
  Server = http://repo.archlinux.fr/i686
</div>
 
Now sync and install
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# pacman -Sy yaourt
</div>
 
 
== Installing NVIDIA Beta Drivers ==
 
There are a few ways we can install the beta NVidia drivers on Arch.  You can use the official package in the AUR or if you just feel like using the official install package from NVidia you can do that as well.
 
=== AUR NVidia Drivers ===
 
You can use yaourt to install the latest beta drivers which are available from the AUR:
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
yaourt -Sy nvidia-utils-beta nvidia-beta
</div>
 
That way you can assure that there are no leftovers if you intend to update or remove the driver.
 
=== NVidia Installer ===
 
Not recommended, but possible is an installation directly from the nvidia driver package:
 
First download the latest drivers ( As of 29 May 09 )
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# wget ftp://download.nvidia.com/XFree86/Linux-x86/185.19/NVIDIA-Linux-x86-185.19-pkg0.run
</div>
 
Once that is done install them
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# ./NVIDIA-Linux-x86-185.19-pkg0.run
</div>
 
Follow the on screen prompts and it will complain that it cant find a precompiled kernel interface.  That is fine we want it to compile the drivers to our current kernel.
 
Now lets install the nvidia-utils program (skip this if you installed your driver the yaourt way above).
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# pacman -S nvidia-utils
</div>
 
 
== Installing ATI Drivers ==
 
I dont have an ATi video card so this may need some tweaking.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# wget http://www2.ati.com/drivers/linux/ati-driver-installer-8-12-x86.x86_64.run
</div>
 
Once that is done install them
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# ./ati-driver-installer-8-12-x86.x86_64.run
</div>
 
This is incomplete and I really don't know beyond this.
 
== Installing ALSA ==
 
Sound is important in a setup like this so lets go ahead install alsa.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# pacman -S alsa-lib alsa-utils
</div>
 
Once everything is installed go ahead and edit /etc/rc.conf and add alsa to your daemons line.  Reboot.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# reboot
</div>
 
Now that you have restarted we need to go ahead and un-mute all of the audio interfaces.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# alsamixer
</div>
 
Use left and right to scroll around and press 'm' to mute and unmute.
 
=== HDMI Audio ===
 
If you are using an HDMI connection to pass audio to your receiver or TV you are going to need to do a few more things.
 
==== NVidia HDMI Audio Patch ====
 
If you are using an NVidia chip set to pass audio over hdmi we will need to patch one of alsa's drivers.  If not skip to the next step.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# cd ~
# wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.20.tar.bz2
# tar jxvf alsa-driver-1.0.20.tar.bz2
# cd alsa-driver-1.0.20
# wget -O ./sound/pci/hda/patch_nvhdmi.c http://allurgroceries.is-a-chef.com/n10/patch_nvhdmi.c
# export CONCURRENCY_LEVEL=2
# ./configure
# make
# sudo make install
</div>
==== HDMI Default Audio for PCM ====
 
Now to let alsa know we want to use the HDMI audio interface for all of our PCM audio.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  pcm.!default {
      type plug
      slave {
          pcm "hdmi"
      }
  }
</div>
 
Sometimes pcm audio drops out.  Adding the following line to /etc/rc.local fixes this.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  iecset audio on
</div>
 
 
== Install XBMC ==
 
We are going to use the SVN version of XBMC because the binary version in AUR has VDPAU disabled and there is no fun in that.  We are going to look at two ways.  The svn build through AUR and manually.  A few people have had trouble with the AUR build so if one doesnt work try the other.
 
=== AUR XBMC-SVN ===
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
yaourt -Sy xbmc-svn
</div>
 
This will pull all dependencies, checkout a recent version of xbmc from the SVN repository, patch some files for 64bit compatibility and finally compile, package and install xbmc. Feel free to add your experience or recommendations to the AUR comment page at http://aur.archlinux.org/packages.php?ID=20156.
 
=== Manual XBMC-SVN ===
 
First we are going to need to install a bunch of dependencies, easy enough.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# pacman -S curl enca faac freetype2 fribidi gawk glew hal jasper libjpeg libmad libmysqlclient libxrandr lzo2 sdl_image sdl_mixer sqlite3 tre unzip libcdio libsamplerate python subversion autoconf automake boost cmake gcc gperf libtool make nasm patch pkgconfig zip flex bison lirc pmount smbclient unrar avahi
</div>
 
Whew that was a lot.  That should pull in everything you need along with any dependencies need by
those packages.  Now lets download xbmc.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# svn checkout https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/linuxport/XBMC
# cd XBMC
# ./configure --prefix=/usr --disable-pulse
# make
# make install
</div>
 
All of those will take some time so once one command finishes move onto the next.  Depending on how fast your system is will depend on how long this takes.  If you need another bottle of water this is the time. If not be amazed by the fast scrolling text!
 
== Boot directly into XBMC ==
 
Now to get xbmc to start immediately after boot we need to make some changes
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
 
# yaourt -S minigetty
 
</div>
 
now edit /etc/inittab
 
Change this:
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  c1:2345:respawn:/sbin/agetty 38400 vc/1 linux
  c2:2345:respawn:/sbin/agetty 38400 vc/2 linux
  c3:2345:respawn:/sbin/agetty 38400 vc/3 linux
  c4:2345:respawn:/sbin/agetty 38400 vc/4 linux
  c5:2345:respawn:/sbin/agetty 38400 vc/5 linux
  c6:2345:respawn:/sbin/agetty 38400 vc/6 linux
</div>
 
to this:
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  c1:2345:respawn:/sbin/mingetty --autologin xbmc vc/1 linux
  c2:2345:respawn:/sbin/agetty 38400 vc/2 linux
</div>
 
 
<span style="color:red">'''This is a security hole but this is also a media pc so it should be fine.'''</span>
 
Also we deleted some of 4 of the other virtual terminals.  You wont be using them and it saves a bit of memory.  If you want to keep them go ahead but I doubt you'll use them. 
 
Now that we have the user logged in we need it to auto start XBMC.
 
Edit /home/xbmc/.bashrc and add the following
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  startx
</div>
 
Almost there
 
Edit /home/xbmc/.xinitrc and add the following
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  exec ck-launch-session /usr/bin/xbmc-standalone
</div>
 
Another way of auto starting XBMC (and make sure that it's idiot-proof even if it segfaults), you could start xbmc directly from inittab. Add the following line to /etc/inittab and comment out (#) all other lines beginning with "x:5:".
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
x:5:respawn:/bin/su xbmc -l -c "/bin/bash --login -c startx >/dev/null 2>&1"
</div>
 
You will also need to edit your /home/xbmc/.xinitrc as stated above.
 
== Thermal monitoring ==
 
So you playing some high bit rate 1080p video and you got the sound blasting and everything is great.  Well sometimes things get hot in that box so lets go ahead and setup [http://www.lm-sensors.org/ lm_sensors] so we have an idea of how hot it is in there.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# pacman -S lm_sensors
</div>
 
Now we need to figure out what sensors you have.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# sensors-detect
</div>
 
When you run sensors-detect it will spit out a lot of questions, just hit enter.  The last question you will have to type out yes.  Go ahead and do that.  When its all done lets test and make sure that everything was loaded right and we can see the information we want to see.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  sensors -u
</div>
 
You should see a bunch of info about your system to include temp., voltage, and fan speeds.  Now to make XBMC understand what exactly is going on.
 
edit /home/xbmc/.xbmc/system/advancedsettings.xml
 
add the following lines
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  <advancedsettings>
  <cputempcommand>sensors|sed -ne "s/Core 1: \+[-+]\([0-9]\+\).*/\1 C/p"</cputempcommand>
  <gputempcommand>echo "$(nvidia-settings -tq gpuCoreTemp) C"</gputempcommand>
  </advancedsettings>
</div>
 
Now XBMC should be able to monitor how hot things are getting inside of your little media center.
 
== Speed Up Grub ==
 
Go ahead and edit /boot/grub/menu.lst
 
Change this:
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  TIMEOUT=5
</div>
 
to this:
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  TIMEOUT=0
</div>
 
 
== Boot Splash ==
 
Lets go ahead and get one of those fancy boot splash thingys going on that all the kids love these days.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# yaourt -S initscripts-splashy splashy
</div>
 
edit /boot/grub/menu.lst again
 
change
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  kernel (hd0,6)/vmlinuz26 root=/dev/sda1
</div>
 
to this
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  kernel (hd0,6)/vmlinuz26 root=/dev/sda1 ro quiet vga=791 splash
</div>
Your menu.lst may not be exactly the same but it should be close
 
Now edit /etc/rc.conf and add
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  SPLASH="splashy"
</div>
 
now edit /etc/mkinitcpio.conf
 
find the "HOOKS" section
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  HOOKS="base udev autodetect ide sata filesystems ...
</div>
 
add splashy before autodetect
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  HOOKS="base udev splashy autodetect ide sata filesystems ...
</div>
 
now before we build the initramfs lets remove the "the loading initramfs" lines from the boot up.  Open up and edit /lib/initcpio/init and comment out line #6.  Now lets install some themes
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# yaourt -S splashy-themes
</div>
 
Now we need to setup what theme.  Go ahead and do
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# cd /usr/share/splashy/themes/darch-grey/
# mv background.png background.bak
# wget http://img3.imageshack.us/img3/1894/backgroundism.png
# mv backgroundism.png background.png
</div>
 
Now we need to tell splashy to use our new theme instead of the default
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# splashy_config -s darch-grey
</div>
 
Last we need to make the splash show up on boot.  Anytime you change the theme or pretty much make any change to splashy you will need to rebuild the initramfs.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# mkinitcpio -p kernel26
</div>
 
 
== Antec Mult-Station Premier ==
 
Now we need to get lirc working correctly before we can setup the lcd screen.  Lirc should have already been installed with XBMC and if for some reason it is not go ahead and install it.
 
=== Remote ===
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# pacman -S lirc
</div>
 
Now we need to install the modules to enable our device.  This used to take some trickery but with recent versions of lirc this isnt the case.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# modprobe lirc_dev
# modprobe lirc_imon
</div>
 
For some reason Lirc detects two devices with this screen.  We have /dev/lirc0 and /dev/lirc1.  Some buttons show up on one device and some show up on the other.  So we need to run two instances of lirc and have them talk together.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# /usr/sbin/lircd --driver=default --device=/dev/lirc0 --pidfile=/var/run/lirc0.pid --listen=8765
# /usr/sbin/lircd --driver=default --device=/dev/lirc1 --pidfile=/var/run/lirc1.pid --output=/dev/lircd --connect=localhost:8765
</div>
 
Edit you /etc/rc.d/lircd script and add those two lines above to the start section when lircd is called.  This why our remote will be setup properly on each start up and or reboot.
 
Start Lirc
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# /etc/rc.d/lircd start
</div>
 
Now we want this to all start up on boot so go ahead and add "lircd" to the daemons section of /etc/rc.conf and lirc_dev and lirc_imon to the modules section of /etc/rc.conf
 
=== LCD Screen ===
 
This is pretty hardware specific but maybe this will help someone out.  Now we need to get the LCD screen working, this is probably the easiest part.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# cd ~
# wget http://downloads.sourceforge.net/lcdproc/lcdproc-0.5.2.tar.gz
# tar -zxvf lcdproc-0.5.2.tar.gz
# wget wget http://codeka.com/blogs/imon/lcdproc-0.5.2-imonlcd-0.3.patch
</div>
 
Now we need to patch our version of lcdproc.  This will add the small changes need so the screen will function correctly.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# cd lcdproc-0.5.2
# patch -p1 < ../lcdproc-0.5.2-imonlcd-0.3.patch
</div>
 
Edit server/main.h file, and change RENDER_FREQ from 8 to 2:
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# cd server
# vi main.h
</div>
 
Now we need to build LCDProc.  If you see an error that says "IOWarrior.c' with per-target flags requires AM_PROG_CC_C_O' in `configure.in'" go ahead and ignore it.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# cd ..
# aclocal
# autoconf
# automake
# ./configure --enable-drivers=imonlcd --prefix=/usr
# make
# make install
</div>
 
Now lets go ahead and setup the LCDProc config file.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# vi /etc/LCDd.conf
</div>
 
In the [server] section change the line Driver=curses to Driver=imonlcd and the line DriverPath=server/drivers/ to DriverPath=/usr/lib/lcdproc/ ( the trailing / is needed dont forget it.)
 
Now move down and add this section to the config file.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
  ## IMON LCD driver added by xxx 5Sept08 ##
  [imonlcd]
      Device=/dev/lcd0
      Contrast=200
</div>
 
You can change the contrast settings to your likings.  Now save the file.  Now start lcdproc
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# /etc/rc.d/lcdproc start
</div>
 
Add lcdproc to your daemons section of /etc/rc.conf to have it auto start on boot.
 
== Power Button ==
 
Now lets enable the power button.  This will make it so when you press the power button on your case it will cause Arch to start shutting down.  First we need to install acpid
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# pacman -Sy acpid
</div>
 
Then create the file /etc/acpi/events/power with the contents
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# vi /etc/acpi/events/power
</div>
 
Now add the following
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
event=button/power (PWR.||PBTN)
action=/sbin/poweroff
</div>
 
Now we need to add acpid to our daemons section of /etc/rc.conf
 
== Samba Server ==
 
So you have this giant harddrive in your media center pc but how do you get all of your files to it?  With Samba its easy, you media pc will show up as a windows share on your computer and you can just drag and drop your files back and forth.  Now lets install samba.
 
<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
# pacman -S samba
</div>
 
Now edit you /etc/rc.conf file and add "samba" to your daemons section.  Now we need to setup our smb.conf file for our share directory.


<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
Add the following lines to <code>/etc/pacman.conf</code>
# mkdir /home/xbmc/Share
# vi /etc/samba/smb.conf
</div>


Now setup your smb.conf file like the following.
<pre>
[archlinuxfr]
Server = http://repo.archlinux.fr/i686
</pre>


<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
Now sync and install yaourt.
  [global]
          workgroup = WORKGROUP
          netbios name = Media PC
          server string = XBMC Media PC; Samba Server %v
          encrypt passwords = yes
          passdb backend = smbpasswd
          security = SHARE
          guest account = xbmc
          log level = 1
          log file = /var/log/samba/%m.log
          max log size = 50
          socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192
          read raw = yes
          write raw = yes
          oplocks = yes
          max xmit = 65535
          dead time = 15
          getwd cache = yes
          large readwrite = yes
  [Media]
          comment = Media Files on Media PC
          path = /home/xbmc/Share
          force group = users
          read only = No
          guest ok = yes
          guest only = yes
          create mask = 0666
          directory mask = 0666
          hide dot files = yes
</div>


Now lets go ahead and start samba
<pre>
# pacman -Syu yaourt
</pre>


<div style="height: auto; width: 1000px; overflow:auto; border: thin inset black; background: #E6E6FA">
After that you can install xbmc-svn from the AUR using yaourt:
# /etc/rc.d/samba start
<pre>
</div>
$ yaourt -Syua xbmc-git
</pre>


= Credit =
This will pull all dependencies, checkout a recent version of xbmc from the SVN repository, patch some files for 64bit compatibility and finally compile, package and install xbmc. Feel free to add your experience or recommendations to the AUR comment page at http://aur.archlinux.org/packages.php?ID=45036.


Sadly I cant think of everyone who helped me and I wish I could thank them all.  Here are a few who I know off hand that helped me out.
= Autostart XBMC (optional) =


[http://forum.xbmc.org/member.php?u=46219 Ctwater] on the XBMC forums who had some good tips that I used.
You can start XBMC at boot using systemd:


[http://forum.xbmc.org/member.php?u=45414 Haggy] for all of his help and contributions.
<pre>
# systemctl enable xbmc
</pre>


[http://forum.xbmc.org/member.php?u=37413 Cofin] for his guide on setting up the iMon remote and display which I borrowed from heavily.
= Automounting Disks =


[http://wiki.xbmc.org/?title=User:Gamester17 Gamester17] for his Ubuntu guide which I borrowed from heavily.
To automount disks you need the '''udisks''' package


[http://xbmc.org The XBMC Team] for all of thier great work and great software.  Keep up the great work guys.
<pre>
# pacman -S udisks
</pre>

Latest revision as of 20:31, 29 August 2020

Time.png THIS PAGE IS OUTDATED:

This page or section has not been updated in a long time, no longer applies, refers to features that have been replaced/removed, and/or may not be reliable.

This page is only kept for historical reasons, or in case someone wants to try updating it.

Notice The Arch Wiki might be more complete and up to date for installation instructions: https://wiki.archlinux.org/index.php/XBMC

The following is a guide on installing XBMC as a standalone app on Arch Linux. This guide assumes that you have basic knowledge of Linux and command line usage as Arch Linux is a very simplistic and small distro that needs quite some work to get it running. If you're not after this, please consider using XBMC Live or read the official Ubuntu installation guide.

This guide assumes you already have a working Arch Linux installation with a configured and running X server. If you need help in achieving these prerequisites, please have a look at the official Official Arch Linux Install Guide or the forums at archlinux.org.

Installing the stable releases of XBMC

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 xbmc and all of its dependencies:

# pacman -Syu
# pacman -S xbmc

You should now be able to run XBMC by using the application shortcut in your menu or by simply by running xbmc from a terminal.

Installing the svn version of XBMC

Warning: This is not the recommended way of using XBMC as svn version are always on the bleeding edge of development and thus can break sometimes. If you want a stable media center experience, go with the stable releases.

Installing Yaourt

Yaourt is a very handy program. This is a repository tool that wraps around pacman that allows you to easily install packages from the AUR, or what is known as the user repository of packages for Arch. These packages are close to what user/PPA repositories are on Debian/Ubuntu.

Add the following lines to /etc/pacman.conf

[archlinuxfr]
Server = http://repo.archlinux.fr/i686

Now sync and install yaourt.

# pacman -Syu yaourt

After that you can install xbmc-svn from the AUR using yaourt:

$ yaourt -Syua xbmc-git

This will pull all dependencies, checkout a recent version of xbmc from the SVN repository, patch some files for 64bit compatibility and finally compile, package and install xbmc. Feel free to add your experience or recommendations to the AUR comment page at http://aur.archlinux.org/packages.php?ID=45036.

Autostart XBMC (optional)

You can start XBMC at boot using systemd:

# systemctl enable xbmc

Automounting Disks

To automount disks you need the udisks package

# pacman -S udisks