Archive for the ‘XBMC’ Category

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