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