XBMC on the O2 Joggler with touchscreen support
Equipment Required :
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'.



May 16th, 2010 at 12:38
Hi there!
Nice tutorial ... did it to use XBMC on my joggler now.
I solved the openbox thing a little bit different:
Typing "openbox --replace" in the "run" dialogue (ALT+F2), openbox replaces metacity within GNOME.
That way, if I want, I can run all apps in fullscreen per default (which isn't that bad on the Joggler's screen) or I can configure, which apps to run in fullscreen.
While in an openbox session, I don't have WLAN working out of the box, that way it is working....
Works perfect for me!
gforums
May 17th, 2010 at 09:17
Thanks for the feedback!
Obviously using openbox within gnome is a solution. If you want to use openbox, you can use nm-applet(or move to WICD for something lighter) within openbox (check out tint2 if you want a taskbar).
May 18th, 2010 at 16:44
Hi, nice work, if a little over my head
Can this be adapted for controlling a remote xbmc client ie XBMC on my revo HTPC?
May 18th, 2010 at 20:28
Currently no. However I have a few ideas that may solve this problem
In the meantime, have a look at the Android port to the joggler, that would mean you could get the XBMC remote app to work. This probably wouldn't be ideal however.
May 19th, 2010 at 14:29
All setup and running like a dream. One major problem though. How do I skip or stop tracks in the music player?
May 19th, 2010 at 19:43
[...] This post was mentioned on Twitter by Jon Burney, Lee D Jones. Lee D Jones said: RT @version7: Now this is impressive! XBMC on an O2 joggler http://bit.ly/9QOXXe (pic: http://bit.ly/aMH4ew) [...]
May 20th, 2010 at 07:45
Have a look at confluence touch!. That'll let you do most things using just the touchscreen.
May 20th, 2010 at 12:19
ANy chance of adding a few steps for the less linux literate? Many thanks!
May 20th, 2010 at 16:59
Thanks for the guide. XBMC was the main reason I got a joggler. I would love a UNE image with a perfect xbmc setup baked in. would make it a hell of a lot easier to reinstall.
May 23rd, 2010 at 10:08
Hi Madeo,
Great info, but also a little over my head - example, where do you enter this? :
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/
A few extra steps / screen shots for the various steps would be good. My starting point is StephenFord.org's image - I've managed to get that bit working.
Having an XBMC interface as a way of browsing the music collection on my network is my main motivation.
Happy to buy you a couple of beers if that helps?
Thanks
Ivan
May 23rd, 2010 at 19:20
Sorry i've been a little slow I have lots of exams to revise for
To make this simpler i've written a little bash script that should work on a clean install of ubuntu. To run it, download the file to /home/your_user_name. Open a terminal (in gnome preferably). type 'sh joggler_script.sh' and hit enter. Lots of text will appear. Once it has finished (you will see your prompt return to the state it was before you hit enter), logout and at the login screen choose an 'openbox' session. (not openbox + gnome).
Grab the script here : http://www.madeo.co.uk/files/joggler_script.sh
It is commented fairly nicely if you want to know what it is doing.
Please give me a shout if it works either way. If you like it feel free to send me a nice email or donate on the about me page
May 26th, 2010 at 13:55
hi brendan, have tried the script above and everything works well. When i log out and change the session to openbox when I login a window appears saying "assesstive technoligies" with two options enable and log out and cancel. When i select cancel, it just freezes.
May 26th, 2010 at 16:20
Does the android remote work for anyone of you guys?
I can load pictures and see "now playing", but all remote functions doesn't work....
May 26th, 2010 at 16:48
@salla85 - that really surprises me. Have you tried to press 'log out' instead of cancel? Could you email me a picture? Thanks, Brendan
@christian - I'm running r28256 and it works without a hitch. Have you checked all your settings in System -> Network?
May 26th, 2010 at 17:54
hi brendan, well this is weird. Re done all the steps and this time the window did not show but now xbmc loads but i can't use the touchscreen as a mouse.
May 26th, 2010 at 17:59
i have also tried doing each step individually as highlighted above but when it comes to the "application" bit, the joggler keeps messing up not allowing me to type. I am now going to try each step as highlighted in the script to see if it changes anything.
May 26th, 2010 at 18:37
have you tried setting windowed mode in Settings -> System -> Video Output -> Resolution ?
also install an openssh-server on the joggler and log in to it remotely. That'll be much easier to type stuff!
May 26th, 2010 at 18:44
ok it doesnt seem to be working. have tried using synergy as well and set windowed mode but nothing.
May 26th, 2010 at 19:16
hi brendan, trying to reinstall but now when i get to installing xbmc the terminal shows a
type sudo is not known on line 57 in source list /etc/apt/sources.list
May 26th, 2010 at 19:24
Hi
Great script just a couple of problems I've got no touchscreen control although my Dinovo mini works fine (bluetooth) also can't work out how to connect to my wireless network any help would be most appreciated.
May 26th, 2010 at 21:06
finally got it working --- yyyyeeeehhhh!!!
brilliant script
what i did was resinstall the disca image and run the script.
instead of logging off and restarting, i managed to access xbmc and change it to windowed mode.
although xbmc doesnt run on start up i can use it all the same.
great, thanks for the help.
May 27th, 2010 at 07:15
@gurps - XBMC will only run on openbox startup. Glad it works. The sudo error sounds like an install problem or dead usb stick
@gomez - change to windowed mode for touschreen and in the startup.sh script if using wireless add this line (sleep 2s && nm-applet) &
May 27th, 2010 at 09:02
Hi Brendan
Could you tell me how where & how to edit the script I'm very new to the linux way
May 27th, 2010 at 12:34
@gomez - are you still trying to the touchscreen and wifi to work? Send me an email (brendan at fridu dot net) I'll try help you out.
June 2nd, 2010 at 16:01
Hi Brendan, first of all good work, I too am having difficulty finding how to edit the startup.sh script to enable wifi.
June 2nd, 2010 at 22:30
Thanks Noel, you'll need to add this line to the startup script : (sleep 2s && nm-applet) &
Run this in a terminal (quit XBMC from openbox and right click to select 'Terminal Emulator') :
gedit ~/.config/openbox/startup.sh
That'll get you a GUI to edit the file.
I hope that helps.
June 3rd, 2010 at 00:09
Hi Brendan, I've run the script over a clear Disca 1.3 as you recommend in your post on the 23rd, which seems to install fine. However when I log out the only session options are Gnome/Gnome-failsafe/Xterm. Any ideas what's gone wrong? Thanks for your help and excellent work.
June 3rd, 2010 at 11:11
Try this command in a terminal
sudo dpkg –get-selections | grep -v deinstall | grep -v openbox
if it returns nothing, openbox hasn't been installed which is very weird. Try :
sudo apt-get install openbox
If you're still having trouble send me the full output of the script via email : (brendan at fridu dot net)
June 4th, 2010 at 12:43
thanks for your tips, this time the openbox install worked fine, although I now don't have XBMC (nothing in fact) in openbox. I will repeat all the steps in the script one by one and I'm sure it'll work fine.
June 4th, 2010 at 19:33
Try the full instructions by hand you'll be able to see exactly what seems to be failing
July 7th, 2010 at 21:37
GDM looks at ~/.dmrc to determine what session to launch. E.g. on my openSUSE box my .dmrc contains this:
[Desktop]
Session=gnome
Language=en_GB.UTF-8
Layout=gb