]>
Commit | Line | Data |
---|---|---|
be5a51fb | 1 | wxWidgets PDA/Embedded System Emulator |
3373d6bf JS |
2 | ====================================== |
3 | ||
4 | This is a simple display emulator for embedded | |
be5a51fb | 5 | applications (wxWidgets or other) that use |
3373d6bf JS |
6 | an X server. The Familiar Linux distribution |
7 | is one such environment, using Tiny-X. | |
8 | ||
9 | wxEmulator uses Xnest, which is the XFree86 | |
10 | X server compiled to show a virtual X desktop | |
11 | in a window. wxEmulator hijacks the Xnest | |
12 | window by reparenting its window, and shows | |
13 | this window with appropriate PDA-style decorations | |
14 | surrounding it. | |
15 | ||
16 | No real emulation is done, apart from the work | |
17 | that Xnest does. You compile your apps on your | |
18 | host as usual and test them out with the emulator | |
19 | to get an idea of the constraints of the embedded | |
20 | system display. Then compile the apps for your | |
21 | target system with a suitable cross-compiler, | |
22 | or if you have the luxury of lots of space on | |
23 | your target device, compile natively on the | |
24 | target. | |
25 | ||
26 | It is intended to create a tarball of the | |
27 | emulator, wxX11 and maybe some other useful | |
28 | components such as a simple window manager so that | |
29 | people can quickly start developing embedded | |
30 | GUI applications without the need for actual | |
31 | target hardware. | |
32 | ||
33 | Running wxEmulator | |
34 | ================== | |
35 | ||
36 | Make sure Xnest is in your PATH. You can download | |
37 | a binary from the XFree86 ftp server or a mirror, | |
38 | or you can compile Xnest from source -- but this | |
39 | downloading XFree86 source in its entirety and | |
40 | compiling it. Say goodbye to half a gig of disk | |
41 | space if you take this option. | |
42 | ||
43 | Then run wxEmulator: | |
44 | ||
45 | % emulator & | |
46 | ||
d1b327e1 JS |
47 | or |
48 | ||
49 | % emulator mydevice.wxe & | |
50 | ||
51 | to specify a configuration file. Run emulator --help | |
52 | to show what options are available, such as --use-display | |
53 | for specifying a display other than :100. | |
54 | ||
3373d6bf JS |
55 | After a brief flicker in which wxEmulator steals |
56 | Xnest's window, you should see an emulated iPAQ with | |
57 | a checked screen that indicates raw X with nothing else | |
58 | running. | |
59 | ||
60 | Running any X applications with the Xnest display | |
61 | number (currently 100) will show those applications | |
62 | in the emulator window instead of the normal desktop. | |
63 | ||
64 | For example: | |
65 | ||
66 | % xeyes -display :100 & | |
67 | ||
68 | Before running any other programs, run a window | |
69 | manager such as twm: | |
70 | ||
71 | % twm -display :100 & | |
72 | ||
73 | If the X program or WM you want to run doesn't support the | |
74 | -display argument, try exporting the DISPLAY variable | |
75 | before running it. E.g.: | |
76 | ||
77 | % export DISPLAY=:100 | |
78 | % xterm & | |
79 | ||
d1b327e1 JS |
80 | For details on the configuration file format, please |
81 | see default.wxe. Eventually it will support | |
82 | device buttons. | |
3373d6bf JS |
83 | |
84 | Compiling wxEmulator | |
85 | ==================== | |
86 | ||
87 | You need to use wxX11 -- no other port is supported. | |
88 | Configure and make wxX11 in the usual way (see docs/x11/install.txt | |
be5a51fb | 89 | at the wxWidgets top level), then compile wxEmulator |
3373d6bf JS |
90 | using the makefile that configure created. |
91 | ||
92 | Have fun! | |
93 | ||
94 | Julian Smart, March 2002 | |
95 |