Running Openmoko on PC

From Openmoko

Revision as of 06:55, 8 July 2008 by Glenn (Talk | contribs)

Jump to: navigation, search

Thanks to Linux portability, OpenMoko can be run on PC easily, without the need of actual hardware.

Using QEmu

QEmu is full scale emulator which emulates OpenMoko hardware, including ARM CPU. You will have emulator or stub devices which match the actual hardware. There is a lot of performance penalty for emulating non-native CPU like ARM on x86/x64 architecture. Also, setting up ARM tool chain might be difficult.

Running applications natively

You can run OpenMoko "as is" on your X desktop. Since OpenMoko applications are GTK based, they can appear like any other application windows on your desktop. Or you might want to run them inside a nested X server (see also Xephyr), which gives you the ability to emulate OpenMoko screen resolution as well.

This is recommended option if your applications don't need access to actual hardware, but can accept dummy input data e.g. constant power meter value. There is no performance penalty, which might be actually a bad thing, since there is a great different between PC and Neo1973 power. Also, compiling for x86 targets seems to be a bit faster.

Running applications inside the mobile phone via X

For debug purposes, it may be convenient to run the application inside the mobile phone but use the display, mouse and keyboard of the large computer for interacting with it.

All you need is to ssh into the mobile phone using -X as an option:

 ssh -X root@192.168.0.202

After that, you can start from console any OpenMoko application (try to type openmoko-calculator in the opened shell). This way you can debug taking the real execution speed into consideration and also access devices like GPS that are not present on a desktop PC.


Personal tools

Thanks to Linux portability, OpenMoko can be run on PC easily, without the need of actual hardware.

Using QEmu

QEmu is full scale emulator which emulates OpenMoko hardware, including ARM CPU. You will have emulator or stub devices which match the actual hardware. There is a lot of performance penalty for emulating non-native CPU like ARM on x86/x64 architecture. Also, setting up ARM tool chain might be difficult.

Running applications natively

You can run OpenMoko "as is" on your X desktop. Since OpenMoko applications are GTK based, they can appear like any other application windows on your desktop. Or you might want to run them inside a nested X server (see also Xephyr), which gives you the ability to emulate OpenMoko screen resolution as well.

This is recommended option if your applications don't need access to actual hardware, but can accept dummy input data e.g. constant power meter value. There is no performance penalty, which might be actually a bad thing, since there is a great different between PC and Neo1973 power. Also, compiling for x86 targets seems to be a bit faster.

Running applications inside the mobile phone via X

For debug purposes, it may be convenient to run the application inside the mobile phone but use the display, mouse and keyboard of the large computer for interacting with it.

All you need is to ssh into the mobile phone using -X as an option:

 ssh -X root@192.168.0.202

After that, you can start from console any OpenMoko application (try to type openmoko-calculator in the opened shell). This way you can debug taking the real execution speed into consideration and also access devices like GPS that are not present on a desktop PC.