XBMC packages for Raspberry Pi running Raspbian

I recently got a Raspberry Pi, which is an ARM based device which runs Linux. My goal is to use this as my HTPC running XBMC, so that I can move the fileserver out the lounge.

Edit: I've moved the latest information and updates about these packages to this page.

Building

I installed Raspbian on my RPi, which is basically a rebuild of Debian Wheezy specifically for the RPi (targeting the ARMv6 architecture with hard float). I found various instructions on how to build XBMC for Raspbian, but none of them were in the form of deb packages, and installing software without packages just makes me queezy. So I went off and built it myself.

Since the RPi is relatively low powered, I built the package on my laptop using qemu-user, which emulates binaries with a different architecture. I based the packaging on the XBMC package in Wheezy, and the source is from the xbmc-rbp branch on GitHub. I made the modifications to the source as per this forum post and added an initscript so that it can automatically start at bootup.

Installing

The easiest way to install the package is to add my archive to your system. To do this, store the following in /etc/apt/sources.list.d/mene.list:

deb http://archive.mene.za.net/raspbian wheezy contrib

and then import the archive signing key:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED

You can then install it as you would with any other package, for example, with apt-get:

sudo apt-get install xbmc

(If you don't want to configure my archive you can download the packages manually, but you'll have to deal with all the dependencies. Note that it requires a newer libcec package which is also in my archive.)

The user which you're going to run XBMC as needs to be a member of the following groups:

audio video input dialout plugdev

Running

To run XBMC, run xbmc-standalone from a VT (i.e. not under X). XBMC accesses the display directly and not via Xorg.

If you want XBMC to automatically start when the system boots, edit /etc/default/xbmc and change ENABLED to 1:

ENABLED=1

You also need to set the user which XBMC should run as (the xbmc user is not automatically created at the moment). Run sudo service xbmc start to test this.

Configuration

The following settings in advancedsettings.xml decreases the CPU usage while showing the UI. Disabling the RSS feeds also helps with this.

<advancedsettings>
    <gui>
        <algorithmdirtyregions>3</algorithmdirtyregions>
        <nofliptimeout>0</nofliptimeout>
    </gui>
</advancedsettings>

Rebuilding

If you want to rebuild this package with a different source (e.g. a later Git revision), you need to prepare the source by running ./bootstrap before creating the orig.tar.gz. You obviously need all the build dependencies (which should be listed in the packaging), as well as the VideoCoreIV libraries in /opt. You probably want to set DEB_BUILD_OPTIONS=nocheck parallel=4 to disable the tests (they failed to build for me), and speed up the build by using more than one core. You can find the packaging in my archive or my Bazaar repository.

Trackback URL for this post:

http://michael.gorven.za.net/trackback/1495

Hi ! There are 2 things

Hi !

There are 2 things which you could expand on your blog (for better understanding).

  1. at the installing procedure, say that the existing /etc/apt/sources.list remain unchanged, because package "xbmc" will have double entry then and it seems to overlap, its ok to just keep the /etc/apt/sources.list intact

  2. say that advancedsettings.xml go into ~/.xbmc/userdata directory

Kind regards, Jan

just me or does the youtube

just me or does the youtube plugin not work?

Any plans to refresh the

Any plans to refresh the build? i.e. bake another snapshot?

Heya i'm for the first time

Heya i'm for the first time here. I found this board and I find
It really useful & it helped me out a lot. I hope to give something back and help
others like you helped me.

I've just updated it to the

I've just updated it to the latest version in Git (which is 2012/08/04).

You need to rebuild your XBMC

You need to rebuild your XBMC packages to account for a newer libcec1 ... that is the error these users (and I) are having.

Cheers.

I packaged libCEC 1.8.0 and

I packaged libCEC 1.8.0 and built XBMC against that (since the version of libCEC in Raspbian is incompatible), so unless Raspbian now has an even later libCEC I don't think that that is the problem. I think the problem lies with the older kernel and VC libraries -- try following my instructions in this comment to update these, it seems to have worked for Goliat.

Bizarre. I reboot and

Bizarre. I reboot and suddenly it works. O_o

Move on, nothing to see here. :)

Sorry for the trouble.

I did that and very very

I did that and very very little was upgrade (only scratch).

I'm showing libcec1 1.8.0-1 ...

# dpkg -s libcec1
Package: libcec1
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 474
Maintainer: Andres Mejia <amejia@debian.org>
Architecture: armhf
Multi-Arch: same
Source: libcec
Version: 1.8.0-1
Depends: libc6 (>= 2.13-28), libgcc1 (>= 1:4.4.0), liblockdev1, libstdc++6 (>= 4.3.0), libudev0 (>= 0.140)
Pre-Depends: multiarch-support
Description: USB CEC Adaptor communication Library (shared library)
 This library provides support for the Pulse-Eight USB-CEC adapter.

Same error as already listed in comments here.

This does not work for me on

This does not work for me on a fresh Raspbian install (official build). When i try to launch XBMC i get:

pi@raspberrypi ~ $ xbmc-standalone 
/usr/lib/xbmc/xbmc.bin: symbol lookup error: /usr/lib/arm-linux-gnueabihf/libcec.so.1: undefined symbol: vc_cec_set_passive
/usr/lib/xbmc/xbmc.bin: symbol lookup error: /usr/lib/arm-linux-gnueabihf/libcec.so.1: undefined symbol: vc_cec_set_passive
/usr/lib/xbmc/xbmc.bin: symbol lookup error: /usr/lib/arm-linux-gnueabihf/libcec.so.1: undefined symbol: vc_cec_set_passive
XBMC has exited uncleanly 3 times in the last 21 seconds.
Something is probably wrong
pi@raspberrypi ~ $ 

Do you have the following on

Do you have the following on your system?

$ cat /etc/ld.so.conf.d/00-vmcs.conf 
/opt/vc/lib

And does /opt/vc/lib/libbcm_host.so exist?

Did you use the 2012-07-15-wheezy-raspbian image? Please make sure that your system is fully up to date. If it still doesn't work, try running rpi-update.

Good day! I know this is kind

Good day! I know this is kind of off topic but I was wondering which blog
platform are you using for this website? I'm getting sick and tired of Wordpress
because I've had issues with hackers and I'm looking at alternatives for another platform.
I would be awesome if you could point me in the direction of
a good platform.

$ cat

$ cat /etc/ld.so.conf.d/00-vmcs.conf 
/opt/vc/lib

But

/opt/vc/lib/libbcm_host.so

does not exist. And yes I am using 2012-07-15-wheezy-raspbian and my system is fully up2date. By the way, is it safe to use rpi-update? I thought the kernel and firmware are updated already?

I've just booted the clean

I've just booted the clean 2012-07-15-wheezy-raspbian image and libbcm_host.so does exist, so I'm not sure what's going on with your system :-/ rpi-update isn't ideal because it does things without packages, but I've found it to be necessary. You can also try enabling the untested component of the raspberrypi.org archive and updating to the packages there. To do this make /etc/apt/sources.list.d/raspi.list look like this:

deb http://archive.raspberrypi.org/debian/ wheezy main untested

and run apt-get update and apt-get dist-upgrade.

Ive used the same image and

Ive used the same image and directly started on your guide after going through the config script. I seem to have the two files you mentioned but I also had the same problem until i enabled untested components and did dist-upgrade.

I saw that during the upgrade start.elf was commented to be the same as some other .elf that i think has the same memory split size, what memory split do you recommend yourself? 128Mb or does it work with 64Mb also?

I don't know if I was impatient but XBMC seems to crash when using exit, though it only happened the first time and now it works, reboot also works.

Thank you for this guide. I tried one other before this one and it worked but I had black screens occasionally while playing a movie. I have not tested playing a movie but this looks really promising :D

Sincerely Goliat

I've actually only tested the

I've actually only tested the 128/128 memory split, since that's what the Internet said should be used. 128M is enough RAM for XBMC to run in though, so it's not a problem.

Ok. Ive tried this guide two

Ok. Ive tried this guide two times now, one with official raspbian and with unofficial. The install works fine and it runs fine in menu, i have also tried the different configurations to run the UI smoother. The problem is playing movies though, i keep getting black screens and lose sound frequently. Do you have any idea what it might be?

What codecs do the videos

What codecs do the videos you're testing with use? The RPi can only decode H.264 in hardware, so if you're using any other video codec it has to use the CPU which probably isn't fast enough. It also apparently can't decode DTS audio fast enough (at least without overclocking), so if you're not using passthrough audio this may be the problem. What is the CPU usage like when trying to play videos?

藤田にこるんがイメージモデルで有名なニキビ跡予防洗顔フォー

藤田にこるんがイメージモデルで有名なニキビ跡予防洗顔フォームエイボンのファーストクラッシュは使っていますか?
ニキビの理由となる毛穴の詰まりや余分な皮脂、古くなった角質などをサリチル酸がしっかりと落としてくれます。
汚れを徹底的に落としてくれるからといってその後肌が乾燥するなんてことはありません。

シトラスオレンジピールオイルをはじめとした8つの保湿成分が汚れを洗浄した後保湿してくれるのでぷるんぷるんの肌になります。

そう、ファーストクラッシュは洗浄だけでなくその後の配慮やトリートメントまでしてくれる1つで3役のニキビ跡予防洗顔が出来るものです。
これ一本でニキビ跡防止ができるので、三日坊主で[継続出来ない|続かないなんてこともなく簡単。
繊細な日本人の肌にも優しい成分で出来ているので肌の問題に苦しまされる事もありません。
スクラブ剤が配合されているとニキビへの刺激となりますがファーストクラッシュはスクラブ剤無配合なので安全。

ちなみにエイボンのファーストクラッシュは楽天より公式通販で買うのが価格もお得って知っていましたか?
その事についての情報はここのサイトに書いてありますので口コミなど今すぐチェックしてみてください。

わたしはずっと、生え際が薄いことに困っていました。 33才

わたしはずっと、生え際が薄いことに困っていました。
33才、女です。
さまざまな育毛シャンプーをやってみましたが、効き目を実感できない。

育毛できないと思っていた時に、夫からこちらにあります育毛剤口コミサイトをすすめられました。
利用して、約3ヶ月で生えてきました。

育毛剤をチョイスするカギは原材料に無駄な保存剤が詰め込まれてなくにおいが気にならないもの。

利用する方法が複雑じゃなくて副作用がなく明確な育毛効き目があるものになり、髪と頭皮の栄養剤である為に当たり前に成分量も欠かせません。

浸透力があるかも求められます。頭皮の奥深くの毛包まで栄養物が行き渡らなければ意味がありませんので、材料が低分子であるのが要件です。

こちらのWEBページで解説されている育毛剤は全部ユーザーの書き込みに基づいた人気度で育毛剤が説明されています。

検索して参考になさってください。
確実に自分にふさわしい育毛剤が探し出せると思います。

It's a 720p movie h264

It's a 720p movie h264 encoded, I'm not sure what the cpu use is but when checking the cpu use in the menu it's at about 80-90%. But I have found out that the movies i have tested with have an fps of 23.97. It seems like many have issues getting those to run smoothly. I have tried my movie in omxplayer and it seems to run it without problems.

My raspberry is connected to my pc screen with hdmi and i get audio through my headphones output on the screen. I'm not sure if DTS in the movie affects also but then since omx does not have a gui i guess it could decode DTS then?

But it seems after checking this i think it's related to xbmc not being able to identify screens and then get the correct output. I not sure about this but it seems very likely.

that fixed it for me ;)

that fixed it for me ;)

Hi, I've just installed xbmc

Hi,
I've just installed xbmc from your repository on my raspbian, however it is not able to start:


pi@raspberrypi ~ $ xbmc-standalone
/usr/lib/xbmc/xbmc.bin: symbol lookup error: /usr/lib/arm-linux-gnueabihf/libcec.so.1: undefined symbol: vc_cec_set_passive
/usr/lib/xbmc/xbmc.bin: symbol lookup error: /usr/lib/arm-linux-gnueabihf/libcec.so.1: undefined symbol: vc_cec_set_passive
/usr/lib/xbmc/xbmc.bin: symbol lookup error: /usr/lib/arm-linux-gnueabihf/libcec.so.1: undefined symbol: vc_cec_set_passive
XBMC has exited uncleanly 3 times in the last 25 seconds.
Something is probably wrong

Do you know what could be wrong? :)

I am having the same problem

I am having the same problem ...

pi@raspberrypi ~ $ xbmc-standalone /usr/lib/xbmc/xbmc.bin: symbol lookup error: /usr/lib/arm-linux-gnueabihf/libcec.so.1: undefined symbol: vc_cec_set_passive /usr/lib/xbmc/xbmc.bin: symbol lookup error: /usr/lib/arm-linux-gnueabihf/libcec.so.1: undefined symbol: vc_cec_set_passive /usr/lib/xbmc/xbmc.bin: symbol lookup error: /usr/lib/arm-linux-gnueabihf/libcec.so.1: undefined symbol: vc_cec_set_passive XBMC has exited uncleanly 3 times in the last 17 seconds. Something is probably wrong

Can anyone help?? Scott

Try upgrading your kernel and

Try upgrading your kernel and firmware as explained in this comment.