Friday, February 22, 2013

Build XBMC Frodo from source in Raspbian on Raspberry PI

Hi!

After struggling couple of days in finding the best way to build XBMC on Raspberry PI I have finally got a working solution(haven't discovered how I can cross-compile it, which would be the best choice).
This takes about 15 hours, on my Raspberry PI model B, but the good news is that 'make' takes about 12 hours, so you don't need to watch it, just come from time to time to see if it is working. Besides the build messages displayed on screen you have the whole logs for rbp_depends, configure, make and make install steps. If anything goes wrong you can investigate these files(the last one reached) and search for the first error

2.Get XBMC 12 source code from http://xbmc.org/download/. On the Source Code section, download the zip file from where it says: "Stable release sources are available here".
If you get the code from git it will probably get an unstable version, which is the latest code. When I have build from source I have got XBMC 13 alpha 1 which worked, but no addon was working.
Transfer xbmc folder to your /home/pi/ directory or wherever you like.
Now you can plug the card in Raspberry PI and follow the next steps.

Note. The easiest way to do this is via ssh(first, enable it using sudo raspi-config menu), from a computer. Just connect in Terminal using:

ssh pi@x.x.x.x

where x.x.x.x is the ip address of your device. You can get the ip address by typing ifconfig. Then you just copy/paste the commands into Terminal.

After this step you have to run raspi-config again and to set video memory to 128 and then restart. Now you should be able to run XBMC using

/usr/local/lib/xbmc/xbmc.bin

Note: If you are running via xbmc command, or from XFCE menu->Multimedia->XBMC it will not start. The same command can be used to run XBMC from terminal or from XFCE interface.
In addition you can also install PVR Addons and XVDR addon(but this is not necessary):

Note
If you want to modify sources after the compilation is completed, you just have to modify them and then run make again, which will build only the affected parts(couple of minutes), but remember to keep the video memory at maximum 32MB when you are building, and also keep the swap partition.

41 comments:

It all goes fine with no errors which means xbmc installed :D but I'm not using hdmi output, I'm using composite video, and when I start xbmc I get message that "XBMC cannot run unless the screen colour is atleast 24bit." I'm not sure that I understand what that means and how to change this.

Sorry for a little late response I was otherwise occupied. No problem I can share it with just making full image for my personal backup. But Andrei is using egalax touch too. I need to make calibration of visible screen and touch. That is missing. Working on it.

I have also build XBMC12.1 this weekend, but I have an issue: When I am starting xbmc the logo shows and then the screen goes blank. If I connect the hdmi cable to my tv xbmc is working great. After this, if I reconnect the hdmi cable to my 7 inch display xbmc is also working, very strange. The first time int never works.

OK disregard my previous post. stupid. Its still not working. The error comes with

make -C tools/rbp/depends/xbmc/ 2>&1 | tee log_1_rbp_depends.logautoreconf: running: autopoint --forceCan't exec "autopoint": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 345.autoreconf: failed to run autopoint: No such file or directoryautoreconf: autopoint is needed because this package uses Gettextmake: *** [configure] Error 1

for that reason the make is not generated and not found at the later stage. Need help one that

I have just rebuild my system from scratch, including xbmc 12.2 last week and it all went fine. I advice you to remove the xbmc sources folder, download xbmc 12.2 again and try the steps again.I haven't tested using the git version.

Hi ,thanks for the response. In the meantime I downloaded the 12.2 tar and using this instead of the git. I reinstalled autopoint and now its working and I just started xbmc. BTW had some issues with taglib versions which I had to reinstall as well.Thx again

I am using the latest wheezy build 3.6.11+ #474. It complains about libegl1-mesa-dev and libgles2-mesa-dev with the "apt-get install" command. I simply ignored it. But it failed at the ./configure step with the following message:

checking for FRIBIDI... yeschecking for SQLITE3... yeschecking for PNG... yeschecking for PCRECPP... yeschecking for PCRE... yeschecking for CDIO... yeschecking for SAMPLERATE... yeschecking for FREETYPE2... yeschecking for TAGLIB... noconfigure: error: Could not find a required library. Please see the README for your platform.

i have a problem with libwayland0. so before i can install all dependencies i had to do "sudo apt-get install -y libwayland0=0.85.0-2". the version of raspbian is newer but have a problem with other dependencies.

I haven't tried my patch on the git files and I don't know how it looks. I advice you to download latest stable 12.2 release and keep a copy of it somewhere. Now, apply my patch to the copy and make a diff(using Meld, Windiff, Beyond Compare, etc) and see the changes. Now copy each changes in the files from the XBMC git(there shouldn't be much).

Hi, I have done everything and it works great, I do have one problem and I don't know how to fix it, when running XBMC I only have limited keyboard functions for instance when I go to "add source" you need to type in the source destination but I can't seem to type anything from my keyboard, I have to use the onscreen keyboard and it sucks. With my RaspBMC this works but not the newly build on raspbian.please if anyone can help me to how to fix keyboard support I would appreciate it.

It's a bit sloppy to set the wohl Folder to "sudo chmod 777 * -R" but it works!The elegant way is to search the file in the log, but I did not have enough time for it. Later, the privilege can be revoked.This work with xbmc-12.0.

Hello, I followed the steps but makes runs for about 3 mins and terminates with the following :CPP xbmc/cores/dvdplayer/DVDPlayerVideo.oIn file included from /usr/include/bcm_host.h:54:0, from /home/pi/xbmc-rbp/xbmc/linux/DllBCM.h:34, from /home/pi/xbmc-rbp/xbmc/windowing/egl/WinEGLPlatformRaspberryPI.h:31, from /home/pi/xbmc-rbp/xbmc/windowing/egl/WinEGLPlatform.h:28, from /home/pi/xbmc-rbp/xbmc/windowing/egl/WinSystemGLES.h:29, from /home/pi/xbmc-rbp/xbmc/windowing/WindowingFactory.h:40, from DVDPlayerVideo.cpp:24:/usr/include/interface/vmcs_host/vcgencmd.h:33:27: fatal error: vchost_config.h: No such file or directorycompilation terminated./home/pi/xbmc-rbp/Makefile.include:88: recipe for target 'DVDPlayerVideo.o' failedmake[1]: *** [DVDPlayerVideo.o] Error 1Makefile:257: recipe for target 'xbmc/cores/dvdplayer/DVDPlayer.a' failedmake: *** [xbmc/cores/dvdplayer/DVDPlayer.a] Error 2