World of Goo

Today I tried the released Linux version of World of Goo. I tried the demo and after I got through the demo chapter I decided that I will buy this game.
See the World of Goo web page for more information.

The four reasons why I loved to buy this game is first of all it provides a Linux version, second it has no DRM, third it is a small development team and not part of one of the big publishers and the forth and maybe the most important point it is so much FUN to play.

I’m off playing.

UnukLCD

Last week I got the PicoLCD. There is an open source driver for using it with the LCDProc deamon. The LCDproc provides a service which allows applications to show some information on the display.
LCDproc provides an easy to use protocol for showing your own information on the display see the LCDproc Developer’s Guide. I wrote a small python script which shows the currently playing song of a running Music Player Daemon (mpd). Since the PicoLCD provides a few buttons I added some basic control buttons (play, pause, stop, next, previous).
I have different ideas to improve this scripts but I left it this ways, because now it is quite simple and should give a good starting point for every one interested in doing something similar with LCDProc.

You can get the source code from the following page:

Sync ReadOnly (syncro)

I have put together a small description of how to use my syncro script and uploaded the script including the config file to the web server. I have mentioned this script before (Ubuntu on Alix (aufs))

You can find the description and the download here:

Ubuntu on Alix (aufs)

I did some further work on getting Ubuntu on the Alix. I have tested the basic kernel on my second Alix board (2c3). It works so far without problems.
In addition I did some research how to improve the installation. First I thought I would like to have the root file system read only. This manly to reduce the write access to the flash disc. For this I would have to create a ram disc and map several directories to this ram disc since some directories need to be writable. After some research and looking at the Voyage Linux distribution I found an other solution. On the next version of Voyage Linux they will use aufs. I did some tests with aufs and I think this could be the solution I use. I took the script from Voyage Linux and did some small changes to the script for mapping some directories for writing to a memfs. The script used by Voyage Linux is quite nice it will sync back the changes at shutdown and this way no log information get lost on normal shutdown.
I will post the change script later, since I need to do some changes until I think it fits all my needs.

Updates on PAN

I did work on the PAN connection for the Nokia N810. As I described earlier ( Bluetooth PAN) I used maemo-pan on the Nokia and the setup as described in the mentioned tutorial on the Ubuntu desktop. It worked but I needed to set the desktop address of the computer within the Nokia by hand. Additionally the connection setup took quite some time since I always started the dhcp server new for each connection and it only worked for one PAN connection at a time.

I made two improvements to the old setup. First I added some functionality to the maemo-pan that it lets the user select the device to connect to. The second improvement I made on the Ubuntu desktop. Instead of starting the dhcp server on the newly create interface I create a bridge interface and add the new created interface to the bridged interfaces. This way I only need to start the dhcp server once for the bridge interface. This way it supports more then one PAN connection at once and it runs much more stable than before.

I wrote a small tutorial how to setup a Bluetooth PAN on Ubuntu with a bridge interface.

For the maemo-pan I sent a patch to the project.

Additional note the problem I got with Bluetooth on Ubuntu 8.04 beta is now with the release of Ubuntu 8.04 resolved. The pand binary is available again.

maemo’s scratchbox under Ubuntu Hardy Heron

Today I tried to install the maemo 4 sdk on my Ubuntu Hardy Heron. The first part installing the scratchbox worked with almost no problems. But the installation of the SDK it self did not work that easy. The first error I got was the following:

Inconsistency detected by ld.so: rtld.c: 1192: dl_main: Assertion ‘(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso’ failed!

Lucky me I found a solution from Michael R. Head. It is important to set both values. The first helped me to get into the scratchbox but without setting the mmap_min_addr I could not fully install the applications in the ARMEL target. After I set the second parameter it worked without any further problems.

Execute the following two lines that are described in the solution from Michael R. Head and the installation will work.

echo 0 | sudo tee /proc/sys/vm/vdso_enabled

echo 4096 | sudo tee /proc/sys/vm/mmap_min_addr

Bluetooth PAN

Today I managed to get the personal area networking (PAN) working with a Nokia N810 and a Ubuntu Linux system. However it took me quite a while to figure out everything to get it working.

The first problem I had was that the Nokia N810 does not support the PAN Bluetooth profile by default only dial-up networking (DUN) is supported. The recently released maemo-pan application adds support for PAN to the N810.
The problem I got with maemo-pan is that I could not register my computer as a phone and because of this the maemo-pan application did not find my workstation. After reading the source code I figured out that I just need to set the appropriate value in GConf to get it connecting. It is necessary that the two devices are paired before that they can connect without any further authentication.
With the following call to the gconftool-2 it is possible to set the HW-Address of the Bluetooth adapter of the desktop. This needs to be called on the N810.

gconftool-2 -s /system/osso/connectivity/BT/preferred --t string "XX"

Replace the ‘XX’ above with the hardware address of the desktop. To check that the configuration is set correctly you can call the gconftool-2 with the following parameters:

gconftool-2 -g /system/osso/connectivity/BT/preferred

The next problem I encountered was that I used Ubuntu 8.04beta. Where I figured out that there are some problems with the bluez-utils. Actually the pand executable is missing. I installed the bluez-utils from the PPA from Elliot Murphy. In this package the pand binaries are available and working.

I followed the howto Bluetooth PAND debian etch which did work almost. It did work to get a connection but I got the following error message in the syslog after some data where transmitted.

NETDEV WATCHDOG: bnep0: transmit timed out

If this happens I need to restart the connection and everything will work again, for a small amount of data. Since I tested these within VMWare I thought I might just try it on a real machine. Surprisingly it just worked without any problem. This is yet an other example if you get any problem with a USB device within VMWare just try the device on a real machine since it is possible that it might work without problems. It might work better if I would use VMWare 6 and no more VMWare 5.5 since there where some improvements within the USB support.

What is still missing now is a tool on the N810 to select the Bluetooth partner to connect to that offers PAN. This way it would not be necessary to select the PAN device as a phone or set it by hand as the device to connect to. I will see if I get the time to do that.