Running Openmoko on PC

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(-cat)
m (-Guides)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Thanks to Linux portability, OpenMoko can be run on PC easily, without the need of actual hardware.
+
Thanks to Linux portability, Openmoko can be run on PC easily, without the need of actual hardware.
  
 
== Using QEmu ==
 
== 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.
+
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.
  
* [[OpenMoko under QEMU]]
+
* [[Openmoko under QEMU]]
  
 
== Running applications natively ==
 
== 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.
+
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.
 
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.
Line 18: Line 18:
 
All you need is to ssh into the mobile phone using -X as an option:
 
All you need is to ssh into the mobile phone using -X as an option:
 
   ssh -X root@192.168.0.202
 
   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.
+
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.
 
   
 
   
  
* [[Getting OpenMoko working on host with Xephyr]]
+
* [[Getting Openmoko working on host with Xephyr]]
 
* [[Getting Openmoko working on host with Xoo]]
 
* [[Getting Openmoko working on host with Xoo]]
* [[How to run OpenMoko Apps on PC]]
+
* [[How to run Openmoko Apps on PC]]
  
{{Languages|Running_OpenMoko_on_PC}}
+
{{Languages|Running_Openmoko_on_PC}}
  
[[Category:Applications]]
+
[[Category:Emulation]]
[[Category:Openmoko]]
+
[[Category:Guides]]
+

Latest revision as of 22:50, 12 September 2008

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

[edit] 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.

[edit] 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.

[edit] 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.