Trace: » python » xbmc_on_old_laptop

Login

You are currently not logged in! Enter your authentication credentials below to log in. You need to have cookies enabled to log in.

Login

Quick notes on setting up XBMX on an old laptop from a txt based Hardy install…

Install linux-restricted-modules & nvidia-glx-legacy

Set xorg.conf as working_xorg.conf_for_hi-grade_ultinote_m6600

To get GLX working...

Add:

Section "Extensions"
Option "Composite" "Disable"
EndSection

To xorg.conf

Sound

Install alsa & alsamixer
sudo aptitude install linux-ubuntu-modules-`uname -r` linux-generic
and restart

Overcome the glXGetProcAddress error

The nvidia driver I'm using does not have glXGetProcAddress (is this the same for all of them?), rather it is replaced by glXGetProcAddressARB.

There is a solution documented here: http://xbmc.org/forum/showpost.php?p=248010&postcount=55

You can write a wrapper which wraps glXGetProcAddress() to glXGetProcAddressARB().

Save the following as libwrap_gl.c

/** Wrapper to map glXGetProcAddress() to glXGetProcAddressARB()
  *
  * Compile : gcc -fPIC -shared -o libwrap_gl.so libwrap_gl.c
  * Usage   : LD_PRELOAD="/path/to/libwrap_gl.so" <executable>
  **/
#define _GNU_SOURCE
 
extern void* glXGetProcAddressARB (const unsigned char*);
 
void* glXGetProcAddress (const unsigned char *procName)
{
        return (glXGetProcAddressARB (procName));
}

Open a terminal and compile it with:

gcc -fPIC -shared -o libwrap_gl.so libwrap_gl.c

Preload the library and start xbmc with:

LD_PRELOAD=”./libwrap_gl.so” /usr/bin/xbmc

For this to work, libwrap_gl.so has to be in the current directory. For a more permanent solution you can copy libwrap_gl.so to /usr/lib/.

Then edit /usr/bin/xbmc and change the line:

exec /usr/share/xbmc/xbmc.bin $*

to:

LD_PRELOAD="/usr/lib/libwrap_gl.so" /usr/share/xbmc/xbmc.bin $*
Temar