Building XBMC on Beagleboard

Koen,
Can you pls suggest me the proper configure parameter to build xbmc 10.1 from source? Am trying to build it on Ubuntu-natty(BeagleBoard XM), and my previous build-xbmc returning the below mentioned error while running xbmc

python: can’t open file ‘/usr/local/share/xbmc/FEH.py’: [Errno 2] No such file or directory

And according to XBMC IRC,I have compiled it badly, and it should skip creating FEH on arm and not call it.

Here my config. parameter :

./configure --enable-gles --disable-vdpau

Go to the angstrom website, follow the instructions in the 'developer' tab and then do 'bitbake xbmc'

DISPLAY=:0 xbmc
Probably so?

Hi Chahat,

I’m working on getting XBMC running too on Beagleboard_XM. I can share my experiences with you and perhaps some of it will help. I’m rapidly learning about this, so I’m hoping that any experts will step in and correct anything I get wrong.

I have xbmc running the graphics at 22fps but video is only going at 6fps (I think because it is using the default video player which does not use the DSP for acceleration). I am using Angstrom 2012.05 and linux kernel 3.2.18 with a gnome terminal (X11). I am also using the default XBMC 11.0(Eden) r13 recipe that comes with Openembedded-core.

I read somewhere that you can run xbmc from the console, but I haven’t figured out how, so I run it from X11 windows.

Firstly, XBMC appears to use two framebuffers for the video/graphics. These are /dev/fb0 and /dev/fb1 and space needs to be reserved for these in your u-boot startup as bootargs that get passed to linux when U-boot hands over control to the kernel. Here’s my uenv.txt:

dvimode=1024x768MR-24@60
vram=24M
frambuf=0:8M,1:8M
mpurate=1000

setmmcargs=setenv mmcargs 'setenv bootargs console=${console} ${optargs} mpurate=${mpurate} buddy=${buddy} buddy2=${buddy2} vram=${vr
am} omapfb.mode=dvi:${dvimode} omapdss.def_disp=${defaultdisplay} omapfb.vram=${frambuf} root=${mmcroot} rootfstype=${mmcrootfstype}’

setmmcboot=setenv mmcboot ‘echo Booting from mmc…;run mmcargs;printenv;bootm ${loadaddr}’

uenvcmd=run setmmcargs; run setmmcboot; run loaduimage; printenv; run mmcboot

The key command here is omapfb.vram=0:8M,1:8M which allocates 8M of memory to fb0 and fb1 accordingly out of the video buffer of 24Mbytes.
The buffers may not ned to be this big, but I noticed a significant improvement in the graphics frame rate when I moved from 4M to 8M.

Also note that in the dvimode command I have set the pixels to 24bpp (bits per pixel). I have read that with beagleboard the max you can use is 16bpp, but on beagleboard_XM 24bpp seems to work. (You will se later why I have it set at 24).

Now when I tried to build XBMC with openembedded I had an error bacuase the bitbake.conf file defined the variables CC and CXX to be prefixed with “ccache”, but the configure script that is auto generated also appended /usr/bin/ccache" to the compiler commands, so there was a recursive “/usr/bin/ccache ccache …” command. I fixed this in the xbmc_git.bb recipe by adding the “–disable-ccache” modifier. AFter that XBMC would build correctly. I’m not sure if this is the correct fix, but it moved me on.

Next I had to add a couple of packages:
opkg install libgles-omap3-x11wsegl
opkg install libcurl5
opkg install xdpyinfo

libgles does get added by the recipe, but I think there is a problem which means that libgles-omap3-x11wsegl.so does not get packaged up correctly.

At this point it might be useful to run some of the graphics tests in /usr/bin. For example:
eglinfo will give you a stream of info about the OpenGL setup.

gles1test1
gles2test1

You can see which tests there are by looking in /usr/bin/ES5.0. The same files are also in /usr/bin and I recommend running the tests from /usr/bin.

Now from inside the Gnome desktop there are three ways to invoke XBMC.

  1. From the menu at the top.
  2. Type XBMC in a terminal
  3. Type /usr/lib/xbmc/xbmc.bin

Methods 1 and 2 call xbm,c.bin via a script /usr/share/xbmc/FEH.py and these first two methods did not work for me and I traced the problem to the FEH.py script when I had the dvimode set to 16bpp.

There is a test of the bpp in the script which failed:
if int(match.group(1)) > 16:

I changed 16 to 15 and this test then passed (but now I I use 24bpp to get round this).

Theer is also part of the script which searches for a phase returned by the function eglinfo. This has an error in it. I replaced the function with this:

def badDirectRendering():
out = os.popen(“eglinfo | grep “EGL client APIs””, ‘r’)
line = out.read()
direct = “OpenGL_ES” not in line
out.close()

return direct

I’m sorry, I don’t remember what the original line was but if you look for the badDirectRendering() function in FEH.py, you will see it.

This gets XBMC running for me (although I also have to opkg install some alsa packages to get sound running (and when I tried to add these as part of the image recipe, it broke everything).

I hope some of this might help you get up and running. If you would like more information on parts of this, let me know and I’ll elaborate more.

I have video at 6fps and am trying to get omapfbplay running (without success at the moment) so that I can try it with DSP accelerated codecs. If anyone has experience here, I’d love information. On the console I get

omapdss DISPC error: failed to set up scaling, fclk too low
omapdss MANAGER error: dispc_ovl_setip failed for ovl 1
omapdss MANAGER error: configure_overlay 1 failed

Looks like one of the clocks is too slow, I’m looking into how to fix it.

In the X11 terminal I get:
[mpeg4 @ 0x157580] get_buffer() failed (0 0 2 0x41086440)
Segmentation fault

Regards
Zigs

Hi Zigs,

I followed your footsteps. Copied your uEnv.txt, made a custom xbmc image by extending angstrom-systemd-gnome image, I keep on hitting the same dead end.

My xbmc logs says
02:31:56 T:1109594640 ERROR: CXRandR::Query - unable to open xrandr xml
02:31:56 T:1109594640 NOTICE: Setup SDL
02:31:56 T:1109594640 FATAL: XBAppEx: Unable to initialize SDL: No available video device

I checked the env variable as lisarden above suggested, There is no DISPLAY var, so i added DISPLAY=:0 and then reran the xbmc command but no luck.

Surprisingly the sgx tests i tried under ES5.0 directory were successful, the gles1test1, gles2test2 and others.

The kernel command line
Kernel command line: console=ttyO2,115200n8 mpurate=1000 buddy=none buddy2=none camera=none vram=24M omapfb.mode=dvi:1024x768MR-16@60 omapdss.def_disp=dvi root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait

I tried both 16 bit and 24 bit in above command

Here is my Xorg.conf file
Section “Module”
Load “extmod”
Load “dbe”
Load “glx”
Load “freetype”
Load “type1”
Load “record”
Load “dri”
EndSection

Section “Monitor”
Identifier “Builtin Default Monitor”
EndSection

Section “Device”
Identifier “Builtin Default fbdev Device 0”
Driver “omapfb”
EndSection

Section “Screen”
Identifier “Builtin Default fbdev Screen 0”
Device “Builtin Default fbdev Device 0”
Monitor “Builtin Default Monitor”
EndSection

Section “ServerLayout”
Identifier “Builtin Default Layout”
Screen “Builtin Default fbdev Screen 0”
EndSection

The Xorg.log file
[ 4898.114]
X.Org X Server 1.11.2
Release Date: 2011-11-04
[ 4898.117] X Protocol Version 11, Revision 0
[ 4898.118] Build Operating System: Linux 3.2.0-27-generic-pae i686
[ 4898.118] Current Operating System: Linux beagleboard 3.2.18 #1 Sun Jul 29 08:10:49 IST 2012 armv7l
[ 4898.119] Kernel command line: console=ttyO2,115200n8 mpurate=1000 buddy=none buddy2=none camera=none vram=24M omapfb.mode=dvi:1024x768MR-16@60 omapdss.def_disp=dvi root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
[ 4898.122] Build Date: 29 July 2012 10:32:19AM
[ 4898.123]
[ 4898.125] Current version of pixman: 0.25.2
[ 4898.126] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 4898.129] Markers: (–) probed, () from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 4898.134] (==) Log file: “/var/log/Xorg.0.log”, Time: Thu Jan 1 01:21:38 1970
[ 4898.156] (==) Using config file: “/etc/X11/xorg.conf”
[ 4898.158] (==) Using system config directory “/usr/share/X11/xorg.conf.d”
[ 4898.164] (==) ServerLayout “Builtin Default Layout”
[ 4898.165] (
) |–>Screen “Builtin Default fbdev Screen 0” (0)
[ 4898.165] () | |–>Monitor “Builtin Default Monitor”
[ 4898.175] (
) | |–>Device “Builtin Default fbdev Device 0”
[ 4898.176] (==) Automatically adding devices
[ 4898.176] (==) Automatically enabling devices
[ 4898.184] (WW) The directory “/usr/share/fonts/X11/TTF/” does not exist.
[ 4898.184] Entry deleted from font path.
[ 4898.184] (WW) The directory “/usr/share/fonts/X11/OTF/” does not exist.
[ 4898.184] Entry deleted from font path.
[ 4898.184] (WW) The directory “/usr/share/fonts/X11/Type1/” does not exist.
[ 4898.184] Entry deleted from font path.
[ 4898.184] (==) FontPath set to:
/usr/share/fonts/X11/misc/,
/usr/share/fonts/X11/100dpi/,
/usr/share/fonts/X11/75dpi/
[ 4898.184] (==) ModulePath set to “/usr/lib/xorg/modules”
[ 4898.185] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 4898.185] (II) Loader magic: 0x190760
[ 4898.185] (II) Module ABI versions:
[ 4898.185] X.Org ANSI C Emulation: 0.4
[ 4898.185] X.Org Video Driver: 11.0
[ 4898.185] X.Org XInput driver : 13.0
[ 4898.185] X.Org Server Extension : 6.0
[ 4898.185] (II) “extmod” will be loaded. This was enabled by default and also specified in the config file.
[ 4898.185] (II) “dbe” will be loaded. This was enabled by default and also specified in the config file.
[ 4898.185] (II) “glx” will be loaded. This was enabled by default and also specified in the config file.
[ 4898.185] (II) “dri” will be loaded. This was enabled by default and also specified in the config file.
[ 4898.185] (II) “dri2” will be loaded by default.
[ 4898.185] (II) LoadModule: “extmod”
[ 4898.191] (WW) Warning, couldn’t open module extmod
[ 4898.191] (II) UnloadModule: “extmod”
[ 4898.191] (II) Unloading extmod
[ 4898.191] (EE) Failed to load module “extmod” (module does not exist, 0)
[ 4898.193] (II) LoadModule: “dbe”
[ 4898.194] (WW) Warning, couldn’t open module dbe
[ 4898.194] (II) UnloadModule: “dbe”
[ 4898.194] (II) Unloading dbe
[ 4898.194] (EE) Failed to load module “dbe” (module does not exist, 0)
[ 4898.196] (II) LoadModule: “glx”
[ 4898.197] (WW) Warning, couldn’t open module glx
[ 4898.197] (II) UnloadModule: “glx”
[ 4898.197] (II) Unloading glx
[ 4898.197] (EE) Failed to load module “glx” (module does not exist, 0)
[ 4898.199] (II) LoadModule: “record”
[ 4898.200] (WW) Warning, couldn’t open module record
[ 4898.200] (II) UnloadModule: “record”
[ 4898.200] (II) Unloading record
[ 4898.200] (EE) Failed to load module “record” (module does not exist, 0)
[ 4898.202] (II) LoadModule: “dri”
[ 4898.202] (WW) Warning, couldn’t open module dri
[ 4898.202] (II) UnloadModule: “dri”
[ 4898.202] (II) Unloading dri
[ 4898.202] (EE) Failed to load module “dri” (module does not exist, 0)
[ 4898.205] (II) LoadModule: “dri2”
[ 4898.205] (WW) Warning, couldn’t open module dri2
[ 4898.205] (II) UnloadModule: “dri2”
[ 4898.205] (II) Unloading dri2
[ 4898.205] (EE) Failed to load module “dri2” (module does not exist, 0)
[ 4898.207] (II) LoadModule: “omapfb”
[ 4898.208] (II) Loading /usr/lib/xorg/modules/drivers/omapfb_drv.so
[ 4898.213] (II) Module omapfb: vendor=“X.Org Foundation”
[ 4898.213] compiled for 1.11.2, module version = 0.1.1
[ 4898.213] ABI class: X.Org Video Driver, version 11.0
[ 4898.213] (II) omapfb: Driver for OMAP framebuffer (omapfb) and external LCD controllers:
omap1/2/3, S1D13745, HWA742
[ 4898.214] (–) using VT number 2

[ 4898.222] (WW) Falling back to old probe method for OMAPFB
[ 4898.223] (WW) Could not open ‘/dev/fb’: No such file or directory
[ 4898.223] (II) Loading /usr/lib/xorg/modules/drivers/omapfb_drv.so
[ 4898.223] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[ 4898.224] (WW) Error opening /sys/devices/platform/omapfb/ctrl/name: No such file or directory
[ 4898.224] (WW) Can’t autodetect LCD controller, assuming internal
[ 4898.224] (II) LCD controller: internal
[ 4898.224] (II) omapfb(0): Base plane capabilities:
[ 4898.224] (II) omapfb(0): Base plane supports the following image formats:
[ 4898.224] (II) omapfb(0): VideoRAM: 1536KiB (SDRAM)
[ 4898.224] (II) omapfb(0): Creating default Display subsection in Screen section
“Builtin Default fbdev Screen 0” for depth/fbbpp 16/16
[ 4898.224] (–) omapfb(0): Depth 16, (==) framebuffer bpp 16
[ 4898.224] (==) omapfb(0): RGB weight 565
[ 4898.224] (==) omapfb(0): Default visual is TrueColor
[ 4898.224] (II) omapfb(0): Rotate test version 0.02
[ 4898.226] (II) omapfb(0): Output LCD using monitor section Builtin Default Monitor
[ 4898.227] (II) omapfb(0): Printing probed modes for output LCD
[ 4898.227] (II) omapfb(0): Modeline "1024x768"x59.9 56.00 1024 1072 1104 1184 768 783 787 790 (47.3 kHz)
[ 4898.227] (II) omapfb(0): Output LCD connected
[ 4898.227] (II) omapfb(0): Using exact sizes for initial modes
[ 4898.227] (II) omapfb(0): Output LCD using initial mode 1024x768
[ 4898.227] (II) omapfb(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.
[ 4898.227] (II) omapfb(0): XRandR extension initialized
[ 4898.227] (–) omapfb(0): Virtual size is 1024x768 (pitch 1024)
[ 4898.227] () omapfb(0): Mode “1024x768”: 56.0 MHz, 47.3 kHz, 59.9 Hz
[ 4898.227] (II) omapfb(0): Modeline "1024x768"x59.9 56.00 1024 1072 1104 1184 768 783 787 790 (47.3 kHz)
[ 4898.228] (==) omapfb(0): DPI set to (96, 96)
[ 4898.240] (II) Loading sub module “fb”
[ 4898.240] (II) LoadModule: “fb”
[ 4898.240] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 4898.249] (II) Module fb: vendor=“X.Org Foundation”
[ 4898.249] compiled for 1.11.2, module version = 1.0.0
[ 4898.249] ABI class: X.Org ANSI C Emulation, version 0.4
[ 4898.262] (==) omapfb(0): DPMS enabled
[ 4898.262] (EE) omapfb(0): Failed to open /dev/fb2: No such file or directory
[ 4898.262] (EE) omapfb(0): XVScreenInit failed
[ 4898.262] (II) omapfb(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[ 4898.262] (–) RandR disabled
[ 4898.263] (II) Initializing built-in extension Generic Event Extension
[ 4898.263] (II) Initializing built-in extension SHAPE
[ 4898.263] (II) Initializing built-in extension MIT-SHM
[ 4898.263] (II) Initializing built-in extension XInputExtension
[ 4898.263] (II) Initializing built-in extension XTEST
[ 4898.263] (II) Initializing built-in extension BIG-REQUESTS
[ 4898.263] (II) Initializing built-in extension SYNC
[ 4898.263] (II) Initializing built-in extension XKEYBOARD
[ 4898.263] (II) Initializing built-in extension XC-MISC
[ 4898.263] (II) Initializing built-in extension XFIXES
[ 4898.263] (II) Initializing built-in extension RENDER
[ 4898.263] (II) Initializing built-in extension RANDR
[ 4898.263] (II) Initializing built-in extension COMPOSITE
[ 4898.263] (II) Initializing built-in extension DAMAGE
[ 4898.296] (II) omapfb(0): Setting screen physical size to 270 x 203
[ 4898.540] (II) config/udev: Adding input device twl4030_pwrbutton (/dev/input/event0)
[ 4898.540] (
) twl4030_pwrbutton: Applying InputClass “evdev keyboard catchall”
[ 4898.540] (II) LoadModule: “evdev”
[ 4898.540] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 4898.546] (II) Module evdev: vendor=“X.Org Foundation”
[ 4898.547] compiled for 1.11.2, module version = 2.6.0
[ 4898.547] Module class: X.Org XInput Driver
[ 4898.547] ABI class: X.Org XInput driver, version 13.0
[ 4898.547] (II) Using input driver ‘evdev’ for ‘twl4030_pwrbutton’
[ 4898.547] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 4898.547] () twl4030_pwrbutton: always reports core events
[ 4898.547] (
) twl4030_pwrbutton: Device: “/dev/input/event0”
[ 4898.547] (–) twl4030_pwrbutton: Found keys
[ 4898.547] (II) twl4030_pwrbutton: Configuring as keyboard
[ 4898.548] () Option “config_info” “udev:/sys/devices/platform/omap/omap_i2c.1/i2c-1/1-0049/twl4030_pwrbutton/input/input0/event0”
[ 4898.548] (II) XINPUT: Adding extended input device “twl4030_pwrbutton” (type: KEYBOARD, id 6)
[ 4898.548] (
) Option “xkb_rules” “evdev”
[ 4898.548] () Option “xkb_model” “evdev”
[ 4898.548] (
) Option “xkb_layout” “us”
[ 4898.675] (II) config/udev: Adding input device Dell Dell USB Keyboard (/dev/input/event1)
[ 4898.675] () Dell Dell USB Keyboard: Applying InputClass “evdev keyboard catchall”
[ 4898.676] (II) Using input driver ‘evdev’ for ‘Dell Dell USB Keyboard’
[ 4898.676] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 4898.676] (
) Dell Dell USB Keyboard: always reports core events
[ 4898.676] () Dell Dell USB Keyboard: Device: “/dev/input/event1”
[ 4898.676] (–) Dell Dell USB Keyboard: Found keys
[ 4898.676] (II) Dell Dell USB Keyboard: Configuring as keyboard
[ 4898.676] (
) Option “config_info” “udev:/sys/devices/platform/usbhs-omap.0/ehci-omap.0/usb1/1-2/1-2.2/1-2.2:1.0/input/input1/event1”
[ 4898.676] (II) XINPUT: Adding extended input device “Dell Dell USB Keyboard” (type: KEYBOARD, id 7)
[ 4898.676] () Option “xkb_rules” “evdev”
[ 4898.676] (
) Option “xkb_model” “evdev”
[ 4898.677] () Option “xkb_layout” “us”
[ 4898.679] (II) config/udev: Adding input device USB Optical Mouse (/dev/input/event2)
[ 4898.679] (
) USB Optical Mouse: Applying InputClass “evdev pointer catchall”
[ 4898.679] (II) Using input driver ‘evdev’ for ‘USB Optical Mouse’
[ 4898.680] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 4898.680] () USB Optical Mouse: always reports core events
[ 4898.680] (
) USB Optical Mouse: Device: “/dev/input/event2”
[ 4898.680] (–) USB Optical Mouse: Found 3 mouse buttons
[ 4898.680] (–) USB Optical Mouse: Found scroll wheel(s)
[ 4898.680] (–) USB Optical Mouse: Found relative axes
[ 4898.680] (–) USB Optical Mouse: Found x and y relative axes
[ 4898.680] (II) USB Optical Mouse: Configuring as mouse
[ 4898.680] (II) USB Optical Mouse: Adding scrollwheel support
[ 4898.680] () USB Optical Mouse: YAxisMapping: buttons 4 and 5
[ 4898.681] (
) USB Optical Mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 4898.681] () Option “config_info” “udev:/sys/devices/platform/usbhs-omap.0/ehci-omap.0/usb1/1-2/1-2.4/1-2.4:1.0/input/input2/event2”
[ 4898.681] (II) XINPUT: Adding extended input device “USB Optical Mouse” (type: MOUSE, id 8)
[ 4898.681] (II) USB Optical Mouse: initialized for relative axes.
[ 4898.681] (
) USB Optical Mouse: (accel) keeping acceleration scheme 1
[ 4898.681] () USB Optical Mouse: (accel) acceleration profile 0
[ 4898.682] (
) USB Optical Mouse: (accel) acceleration factor: 2.000
[ 4898.682] (**) USB Optical Mouse: (accel) acceleration threshold: 4
[ 4898.683] (II) config/udev: Adding input device USB Optical Mouse (/dev/input/mouse0)
[ 4898.683] (II) No input driver/identifier specified (ignoring)
[ 4898.725] (II) twl4030_pwrbutton: Close
[ 4898.725] (II) UnloadModule: “evdev”
[ 4898.725] (II) Unloading evdev
[ 4898.725] (II) Dell Dell USB Keyboard: Close
[ 4898.725] (II) UnloadModule: “evdev”
[ 4898.725] (II) Unloading evdev
[ 4898.726] (II) USB Optical Mouse: Close
[ 4898.726] (II) UnloadModule: “evdev”
[ 4898.726] (II) Unloading evdev
[ 4898.748] Server terminated successfully (0). Closing log file.

Something has got to be missing here, because i have tried a couple of images now and i hit the same problem everytime… Could anyone please suggest what is going wrong here ??

thanks
Chahat

Just to add on about my Monitor, I am using a Dell monitor with DVI-D capability http://accessories.us.dell.com/sna/productdetail.aspx?c=us&l=en&s=gen&sku=320-5205 , and i have a HDMI to DVI-D(Dual Link) converter that came with my Mac Mini, i am using a DVI-D(Single Link) cable to connect between the converter and the Monitor.

thanks
Chahat

Hi Chahat,

A few questions and suggestions:

  1. Your bootargs don’t seem to include the framebuffer settings (0:8M,1:8M). I get
    Kernel command line: console=ttyO2,115200n8 mpurate=1000 buddy=none buddy2=none vram=24M omapfb.mode=dvi:800x600MR-24@60 omapdss.def_disp=dvi omapfb.vram=0:8M,1:8M root=/dev/mmcblk0p2 ro rootfstype=ext3 rootwait

  2. Just checking that you are now running in Xwindows and not the console (i.e. you typed gdm).

  3. The output of lsmod might help. In particular are the bufferclass_ti, omaplfb and pvrsrvkm modules present.

  4. What is the output of xdpyinfo and eglinfo?

My Xorg.log looks very similar to yours, which is encouraging. I also had the situation where the SGX tests worked but XBMC did not, the steps in my previous emails got through that.

Out of interest, did you have the same problem as I did with the ccache in the XBMC recipe in OpenEmbedded-Core (or are you using OpenEmbedded-Classic) ?

Regards
Zigs

Hi Zigs,

Thank you so much for your reply. I was able to make it work. Sadly i was running the xbmc command from the console mode and hoping for some magic to happen. See its my first encounter with Linux, that’s why we write new bee in the start of the query. I didnt know that one can switch to GUI mode with this command “gdm”. So gdm did the trick.

I was able to start xbmc, but the performance was not as i had expected. It kept on crashing, their was no audio and the plugins i added won’t work, kept giving some python error. Now I am just walking through the xbmc log files and adding the missing pieces.

Some errors from my log file:
ERROR: Error Contents: No module named cookielib
ERROR: Error Contents: No module named urllib2
ERROR: Error Contents: No module named hashlib
ERROR: Unable to open audio mixer

DEBUG: FileCurl::Open(0x42ababc8) http://feeds.feedburner.com/xbmc
WARNING: FillBuffer: curl failed with code 6
ERROR: CFileCurl::CReadState::Open, didn’t get any data from stream.

There was one more ERROR something to do with cannot convert from UTF=8 to PC5218<Some number i can’t remember right now, and i can’t find this in my current log, since this message was in earlier log and that got overwritten >

Could Someone please tell me a command to add these missing modules from the command line ??
urllib2 i believe is a python module. I have python version 2.7.2, I don’t know how to get python to add this module, I am also googling around.

If any of you encountered the same problems, Could you please share how you fixed it.

@Ziggy thank you so much again for your help.

thanks everyone
Chahat

Hi Chahat,

I can help with the audio, not sure about the rest.

Once you have linux running you can add packages using opkg (I assume you have ethernet running OK on your beagleboard - if not it is essential to get that going first and this is probably the root of your main problems).

Firstly type “opkg update”. This fetches the huge list of prebuilt packages available from a number of internet sources.

Once this is finished “opkg list” will give you a list of available packages for download. Pipe this into grep to see a particular set of packages (e.g. opkg list | grep xbmc)

You can also “opkg list-installed” to get a list of packages already installed.

For audio you first need to set configuration options in linux (menuconfig) that you have to turn on to get alsa to work (means a rebuild I’m afraid).

  1. Device Driver → Sound card support → ALSA

  2. Device Driver → Sound card support → ALSA → ALSA Soc support → OMAP devices

  3. Device Driver → Sound card support → ALSA → ALSA Soc support → OMAP Beagle

Then you have a number of alsa packages missing so you need to install these.

opkg install alsa-conf-base
opkg install alsa-utils-alsamixer or alsa-utils

After this you should be able to type “alsamixer” and setup the sound. Google asla for more info about that package.

I tried adding alsa into the recipe, but this caused problems with linux stability, so I reverted to adding the modules.

You need to add the modules each time you program the rootfs on your SDCard, but they then stay installed until you overwrite the rootfs.

It would be helpful for me to know if your recipe for xbmc worked without a change I had to add --disable-ccache to the one I use to get it to build. I’m interested to know if I’m doing something wrong.

Regards

Zigs

Hi Ziggy,

thanks for the pointer.

and no i didn’t have to add --disable-ccache to compile the xbmc image, bitbake command worked for me without any problem.

thanks
Chahat