RPi Resources

This page contains various information about the Raspberry Pi and especially resources concerned with Raspbian and the XBMC media center.

Kernel modules
In order to compile kernel modules in Raspbian we need to download the kernel source and prepare the source tree.


I have a Trendnet TEW-648UBM usb network card using the rtl8188cus chipset. The kernel module shipped with Linux does not work. One can either compile the correct module or (depending on distribution) install it using the bash script below.


To compile XBMC one can use the following guide. If we want HDMI-CEC support we have to install libcec 1.8.0+ too (this requires Raspbian 2012-08-16 or newer).


XBMC Configure
export C_INCLUDE_PATH=/opt/vc/include:/opt/vc/include/interface/vcos/pthreads
export CPLUS_INCLUDE_PATH=/opt/vc/include:/opt/vc/include/interface/vcos/pthreads
export LDFLAGS="-L/opt/vc/lib"

./configure --prefix=/usr/local --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf \
--localstatedir=/var/lib --with-platform=raspberry-pi --disable-gl --enable-gles \
--disable-x11 --disable-sdl --enable-ccache --enable-optimizations \
--enable-external-libraries --disable-goom --disable-hal --disable-pulse \
--disable-vaapi --disable-vdpau --disable-xrandr --disable-airplay \
--disable-alsa --enable-avahi --disable-libbluray --disable-dvdcss \
--disable-debug --disable-joystick --enable-mid --disable-nfs --disable-profiling \
--disable-projectm --enable-rsxs --enable-rtmp --disable-vaapi \
--disable-vdadecoder --disable-external-ffmpeg --disable-optical-drive --enable-rpi-cec-api

XBMC main tree

The XBMC main tree source has a few additional dependencies such as Taglib 1.8+, Swig 2.0 and Java (use openjdk-6-jre). We furthermore have to make a few modifications to the source code.

Add to xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp:
typedef struct {
   int width;
   int height;

Change change line 135 (approximately) in xbmc/windowing/egl/EGLNativeTypeRaspberryPI.cpp:
m_nativeWindow = (EGLNativeWindowType*)calloc(1,sizeof( EGL_DISPMANX_WINDOW_T));

Add full include path in tools/TexturePacker/XBTFWriter.cpp:
#include "/home/pi/xbmc/xbmc/guilib/XBTF.h"
#include "/home/pi/xbmc/xbmc/utils/EndianSwap.h"

Add full include path in tools/TexturePacker/XBMCTex.cpp:
#include "/home/pi/xbmc/xbmc/guilib/XBTF.h"
#include "/home/pi/xbmc/lib/libsquish/squish.h"

Add full include path in xbmc/utils/EndianSwap.h:
#include "/home/pi/xbmc/xbmc/config.h"

Add full include path in tools/TexturePacker/cmdlineargs.h:
#include "/home/pi/xbmc/xbmc/linux/PlatformDefs.h"

Add full include path in tools/TexturePacker/xwinapi.h:
#include "/home/pi/xbmc/xbmc/linux/PlatformDefs.h"

Sidens indhold er licenseret under Creative Commons BY-NC 2.5 Licensen. Så længe sidens indhold ikke benyttes til kommercielle formål, må du ændre og dele sidens indhold som du har lyst. Hvis du benytter sidens indhold andre steder på nettet eller videregiver sidens indhold i trykt form, skal forfatteren krediteres enten med navn eller link til denne side.

Siden blev genereret på 3 ms og der blev foretaget 1 databaseforespørgsler.