Posts Tagged ‘XBMC’

XBMC repo for Meego

Monday, August 16th, 2010

See here for the Meego repository page. I will keep that one updated!

This has taken much longer than I had hoped but here it is! The XBMC repo for Meego.1.0

Adding the Repo and installing XBMC:

wget http://download.obs.maemo.org/home%3a/arfoll/MeeGo_1.0_Core/home%3aarfoll.repo
sudo mv home\:arfoll.repo /etc/yum.repos.d

Edit /etc/yum.repos.d/home\:arfoll.repo, and set gpgcheck to 0. (The Maemo community OBS seems to enable this but it doesn't sign the packages it builds!)

sudo yum install xbmc

Can't really make it easier than that now can I?

Note: I've only tested this on meego 1.0 netbook with all the latest updates as of 14th august. Please tell me if anything goes wrong in your install.

Thanks to the people on the #meego channel and to the maemo community for making their very nice community OBS available to all meego x86 people.

XBMC r33163 is now available in the repositories!

The current XBMC build is SVN (dharma branch) r32806, which isn't the latest but it's fairly stable. I will move to newer ones eventually but my aim is not to update this every day. The dependancies will probably not be updated so long as the OBS keeps compiling them fine ;-) If you have a newer package that works and compiles in meego i'd be glad to replace one of my older ones though!

There is no MythTV support in this XBMC version, as I remove all mysql dependancies using a patch. If anyone really wants to do this, I can probably renenable my mysql/perl packages. I also have a small patch to add some meego specific stuff and fix a libfaad error - see this forum post.

XBMC on Meego 1.0

Wednesday, June 2nd, 2010

This howto should be very simple to follow. All rpms have been made specifically for meego this time unlike my previous howtos.

This should work for a stock meego 1.0 netbook image. I tested it on a Samsung NC10 with 2GB of ram.

A few optional things that could be nice
An openssh server might be useful, full vim, wget and synergy (keyboard sharing client/server)

sudo yum install -y vim openssh-server wget synergy

My howto will use wget.

Installing dependancies from Meego repos
Here goes the big part. The last 15 or so dependancies may not all be required. However I didn't want to go all the way through them again. If you do it please send me an email ;-)

sudo yum install -y boost-devel glew-devel libsamplerate-devel libogg-devel bzip2-devel zip lzo-devel fribidi-devel sqlite-devel pcre-devel flac-devel libsmbclient-devel libtalloc samba-winbind gperf libXau-devel libvorbis-devel openssl-devel SDL-devel alsa-lib-devel alsa-plugins-pulseaudio jasper-devel jasper-libs libtiff-devel SDL_image-devel libXtst-devel libXmu-devel libcurl-devel libmp4v2-devel fontconfig-devel libpng-devel SDL_mixer-devel libXinerama-devel libXi-devel avahi-devel libcom_err-devel e2fsprogs-devel python-devel cppunit-devel freeglut-devel perl-ExtUtils-MakeMaker perl-ExtUtils-CBuilder libXxf86vm-devel mikmod-devel esound-devel expat-devel dbus-devel dbus-glib-devel libblkid-devel dos2unix libsysfs-devel glib2-devel libXv-devel ncurses-devel readline-devel doxygen udisks-devel

Installing dependancies from here
You don't need to install the HAL package since revision 29991. Meego provides udisks and udisks-devel. Thanks openelec.tv for pointing this out!
Warning : my mysql package is probably a little different as I got rid of some dependancies
Warning : my lame package does not include mp3x as it needed gtk+-devel and I have better things to do ;-)
If you want to save some space the debuginfo and doc packages are not needed. Also only the main mysql package and it's dependancies are needed.

My webserver is getting hammered so please be nice and use this google docs link to download the dependancies. Below are the sha1sum and md5sum for the file.

[brendan@madeouk]$ sha1sum XBMC_deps_rpms.tar.gz
2cbe584ddc418c1f177707e2a3baef89bda42928 XBMC_deps_rpms.tar.gz
[brendan@madeouk]$ md5sum XBMC_deps_rpms.tar.gz
0f9c094fa8ec20022989965b5642cc1a XBMC_deps_rpms.tar.gz

wget http://www.madeo.co.uk/files/XBMC_deps_rpms.tar.gz
tar xzvf XBMC_deps_rpms.tar.gz
cd i586
rm hal-*
sudo rpm -ivh *

Getting XBMC and compiling/installing
Feel free to use a different version, the latest wouldn't compile for me so I took what my Acer Revo was currently running... This will take a few hours on an Atom 270 without distcc.
Warning: You'll need to use another computer to grab the xbmc sources since SVN isn't in the meego repos and I havent built an RPM for it. Maybe later!

svn co -r30739 https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk/ xbmc
cd xbmc/
./bootstrap
./configure --prefix=/usr --disable-vdpau --disable-dvdcss --disable-hal
make -j2
make install

That's all! Hopefully it works for you.
Notice the windowmanager will mess things up if your mouse is in the top part of the screen. Disable the mouse in XBMC or just run a different WM like openbox.

XBMC on the O2 Joggler with touchscreen support

Sunday, May 9th, 2010

Equipment Required :

  • O2 Joggler - £50 on offer last month
  • 4GB or more USB stick
  • First off we must remember the O2 joggler uses the 'Poulsbo' or US15W chipset from Intel which is basically very badly supported software-wise in linux. We need to use the Intel proprietary IEGD driver to get any kind of openGL acceleration. Because of this, and the fact I did not have enough time to make it work nicely in Arch Linux nor Meego, I went for a prebuilt Ubuntu image for the joggler.

    I used disca's 1.3 build which requires a 4GB USB stick. Follow the instructions here to install it to your usb stick using dd or other.

    Open the joggler to fit your USB flash drive (or very cheap SSD!)
    This is not essential, however it leaves an empty USB port (to use with a USB sound card!) and makes the device look much neater. However you may want to leave that till the last minute. Also do not do this if you love Wifi. If you want wifi, buy a USB hub.

    Open the joggler - this is actually really easy - just carefully take away the sticker on the bottom of the device. Unscrew the 4 small screws, and just pull. There are plastic 'clips' on either side and two on the top. This should not be too hard to do. Here is a youtube video if you are still worried.

    Remove the Wifi card. This required me to take off two bits of tape, and pull away at the foam holding it in place a little. Then just place your USB stick inside. After all is done, close it up and boot. Bootup is actually faster than the original openpeak software! Once booted, an SSH server is in place (user: joggler, password: joggler) so I would ignore the onscreen keyboard and everything else.

    Installing XBMC
    I chose to go with an SVN build of XBMC, but feel free to get a stable build, there should be no difference. I shamelessely took the instructions from this blog. I'll make it quicker and up to date for Ubuntu 9.10 (karmic koala)

    Add the following repository to /etc/apt/sources.list:

    deb http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu karmic main
    deb-src http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu karmic main

    Import the key from the PPA, update our local database and install xbmc.

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 64234534
    sudo apt-get update
    sudo apt-get install xbmc

    We just need to launch XBMC once, and then set it to windowed mode using a USB keyboard or synergy - Settings -> System -> Video Output -> Resolution.

    Installing and configuring openbox
    You'll need a window manager in order to be able to start XBMC in non fullscreen mode to get the mouse emulating touchscreen to work. This is a little annoying but it's the easiest workaround (and only) I could find. Openbox was used because I'm (a little) familiar with it, otherwise this can work in gnome or anything else you want as long as you manage to take the decors and borders off completely.

    sudo apt-get install openbox
    mkdir ~/.config/openbox
    cp /etc/xdg/openbox/rc.xml ~/.config/openbox
    vi ~/.config/openbox/rc.xml

    You'll want to remove everything between the "applications" xml tags and insert something like this.

    <applications>
            <application name="*">
                    <decor>no</decor>
                    <shade>no</shade>
                    <maximized>true</maximized>
            </application>
    </applications>
    

    vi ~/.config/openbox/autostart.sh

    You'll want to use something like this to autostart XBMC. I also autostart a synergy client so I can use the mouse and keyboard from my desktop PC. If you don't know this great piece of software go take a look at their homepage.

    (sleep 3s && xbmc) &
    (sleep 3s && synergyc holm) &
    

    To get openbox to become the default choice, I got lazy. Just login to gnome, log out, then choose the openbox session at the GDM login. This will make it your default choice. I'm too used to having .xinitrc being so easy in Arch Linux, and after a lot of searching could not find an easy way to do it in ubuntu. If anyone knows of a way please tell me!

    Fixing the XBMC skin (SVN version only)
    If you have launched XBMC and are using the SVN version, then you'll notice a little graphical corruption. This is because the US15W in the joggler can't handle some of the unpacked textures that ship with the SVN builds. This fix was quite hard to find, but look here if you are interested in why this is this exact problem exists.

    It's actually quite a simple fix (i'm going to assume you don't want to install SVN on the joggler):

    svn co http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/9.11_Camelot/skin/Confluence
    mv Confluence Confluence_stable
    scp -r Confluence_stable joggler@joggler:.xbmc/skin/

    Then just change the skin to Confluence_stable in Settings->Appearance->Skin

    Ok all is done! Now mount some music/video using some NFS/SMB shares and you're good to go! Also check out UPNP if like me you have other XBMC HTPCs around, it's very impressive if a little worrying. To make it a nice setup and not just an experiment, I use a USB soundcard to be able to have a good sound quality. Otherwise the joggler speakers and headphone jack are terrible. I use an old Edirol UA-1EX that I had lying about. Anything using the snd-usb-audio module in linux should work very well.

    Notice, some things are impossible to do with just touchscreen in confluence. I'd recommend having a go with Confluence Touch! skin. But there are quite a few different ones. So far I haven't found one I really like.

    Fixing sound playback
    This is a problem with XBMC and lots of audio sound cards. Basically the audio gets garbled as the sound buffer runs out of memory. I've had this on my acer revo and my O2 joggler with the external soundcard (I bet the problem is the same on the internal speakers). The easy fix is to use pulseaudio (which has a massive buffer). If you're using Gnome on the joggler ubuntu build then it will work. But using only openbox you'll need to start pulseaudio. Just add this to your autostart.sh

    (sleep 1s && pulse-session) &
    

    You'll have to make sure that your XBMC audio playback device is set to your default Pulseaudio sound card. gnome-volume-controller will help you set a default card.

    Making Confluence faster
    You'll notice the confluence skin is a little slow at displaying images. So i just resized and croped them all to the right size for the joggler (800x480). I also replaced the default music one and changed the apple to a tux... (i'm not even sure where that one gets displayed!). Grab the .tar.gz here. You'll have to extract it in the backgrounds folder in the confluence skin folder. My advice is to copy the confluence skin folder from '/usr/share/xbmc/skin/Confluence' to '~/.xbmc/skin/ConfluenceSmall'.

    Browser for XBMC

    Saturday, March 6th, 2010

    Many are longing for an integrated browser in XBMC. For whatever reason. For me it's to check my mail in the morning so I don't have to start my workstation.... My revo is always on but it can't check my mail. The problem is XBMC runs in standalone form and so nothing else can be displayed.

    My fix isn't brilliant. It requires a mouse (which isn't great) - at least if you want easy navigation) and requires openbox. (you could probably find more lightweight but I have a little working knowledge of it's configuration so it was easier that way)

    Basically we start openbox, then autostart xbmc on top with the launcher plugin. I run Arch linux but all of this is very much transferable

    Start by install openbox on the system and a browser (I recommend chromium because it has it's own titlebars and it's really fast...) :

    pacman -S openbox chromium

    wget http://xbmc-launcher.googlecode.com/files/Launcher1.02.zip
    cd .xbmc/plugins/programs
    unzip unzip Launcher1.02.zip
    rm unzip Launcher1.02.zip

    Then open ~/.config/openbox/rc.xml
    Delete the demo applications block (make sure you get the comment tags) - and then put in something like this.

    <applications>
              <application name="xterm">
                    <decor>yes</decor>
              </application>
              <application name="xbmc.bin">
                    <decor>no</decor>
              </application>
              <application name="chromium">
                    <decor>no</decor>
              </application>
    </applications>
    

    Notice that xbmc is xbmc.bin. xbmc* will work as well. By default apps will have decor and it's not a problem. just make sure xbmc doesn't otherwise it wont come back to the foreground properly.

    To autostart xbmc wipe this file /etc/xdg/openbox/autostart.sh. I'm assuming you wont use openbox for anything else or have multiple users here... It's a HTPC setup here ;-) . Replace with this:

    #!/bin/bash
    (sleep 1 && xbmc) &

    We don't want to load anything else than xbmc right??

    Now for the last bit, the ~/.xinitrc file :

    exec /usr/bin/ck-launch-session openbox-session

    If you don't use openbox-session and just openbox the autostart file wont be loaded.

    To autologin to openbox I use slim. Look in /etc/slim.conf and add it in /etc/inittab. This is a slightly nicer way than forcing autologin through the inittab.

    now symlink all apps you want to autolaunch to somewhere within your home dir. This is because xbmc is silly and doesn't let you go back. So

    ln -s /usr/bin/chromium /home/brendan/apps/chromium

    Once XBMC has started go to program -> plugins -> launcher and add the applications you want as standalone apps. You can even add them as favorites to make it easier and so you can remove the program menu entry from confluence.

    For xterm look at the -geom option to change the size of the terminal. if on a HDTV you may want to make the font bigger too!
    To change the size of the windowed mode of XBMC see the tag in .xbmc/userdata/guisettings.xml

    XBMC (9.11 camelot or trunk) on Moblin 2.1

    Thursday, February 11th, 2010

    Download either the latest SVN build (the SVN build used during this howto was 27627) or the latest stable (9.11 Camelot)

    (For information 9.11 Camelot is revision 26018 - list of tags is here http://xbmc.svn.sourceforge.net/viewvc/xbmc/tags/)
    Run only one of the below ;-)

    svn co http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk xbmc
    svn co -r 26018 http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk xbmc

    Follow the "Preparing the system" (Part 1) section for Boxee on moblin.

    install libflac, libsmblient and libtiff

    sudo yum install flac flac-devel libsmbclient-devel libtiff-devel

    install libfaad and libmpeg2

    wget ftp://fr2.rpmfind.net/linux/rpmfusion/free/fedora/releases/10/Everything/i386/os/faad2-libs-2.6.1-6.fc10.i386.rpm
    wget ftp://ftp.ntua.gr/pub/linux/rpmfusion/free/fedora/releases/10/Everything/x86_64/os/faad2-devel-2.6.1-6.fc10.i386.rpm
    wget ftp://ftp.ntua.gr/pub/linux/rpmfusion/free/fedora/releases/10/Everything/x86_64/os/libmpeg2-0.5.1-3.fc10.i386.rpm
    wget ftp://ftp.ntua.gr/pub/linux/rpmfusion/free/fedora/releases/10/Everything/x86_64/os/libmpeg2-devel-0.5.1-3.fc10.i386.rpm
    sudo rpm -ivh faad2* libmpeg*

    For camelot, you will need to apply a patch in order to get past an SSL error. The bug is here http://trac.xbmc.org/ticket/8137

    wget http://trac.xbmc.org/raw-attachment/ticket/8137/libbdnav-remove-openssl.patch
    patch < libbdnav-remove-openssl.patch

    choose xbmc/cores/dvdplayer/Codecs/libbdnav/configure.ac

    For working VDPAU you will need libvdpau2.0. The easiest way to do that is to install the latest 195 nvidia driver. If you don't have an nvidia card, then just ignore this, you will compile the code with VPDAU disabled.
    If you are doing this, I will assume that you have allready followed my guide for the acer revo on moblin.. You will need to recompile Xorg for this to work and change the permissions on the Xorg binary (Parts 3,4 and 6)

    sudo sh NVIDIA-Linux-x86-195.30-pkg1.run

    Change the -j argument to number of threads your CPU can execute simulatneously +1. On a revo (Atom N230) that's 3.

    mkdir /home/brendan/xbmc_camelot
    cd camelot
    ./bootstrap
    ./configure --prefix=/home/brendan/xbmc_camelot
    make -j3
    make install