10. Applications

Any number of applications of perhaps 100's of packages can be installed on the netBook to run in either a console or X-windows. Examples of these include octave (plotting with gnuplot; there are several versions: the 2.0.17 ipk, and the 2.0 and 2.1 versions as Debian packages. The 2.1 version takes up 20 MB of memory but is the most modern option. The 2.0.17 ipk version is more lightweight), midnight commander, gcc, perl, emacs, etc. Any of the *.ipk applications for the zaurus (downloaded from www.killefiz.de/zaurus/, or www.openzaurus.org, or ipkgFind at handhelds.org, or Zaurus Software Index) can be readily installed and should run. Any of the arm versions of the Debian *.deb packages (ARM cpu version) should also work - either install apt-get, or more basically, dpkg, or even manually unpack the *.deb file and install the package by hand.

A table listing linux equivalents to EPOC applications, with links to some of those applications, can be found on the former openpsion wiki page (no longer a wiki).

A number of hard-to-find applications designed for minimal use of resources that have been compiled for the netBook can be found on the netbook applications wiki page.

10.1. Installing Packages

zaurus *.ipk applications can be easily installed by "ipkg install newpackage.ipk". The Debian packages are meant to be fully compatible with ipkg, so *.deb packages should be able to be installed with ipkg like anyother *.ipk... an e-mail list suggested that, anyways, though I did not find that to be true.

With a Debian-based system, dpkg can be used to install individual packages, but you will have to sort out and download all the package dependencies manually. dpkg is a low-level package management tool. A better tool is "apt-get", which will sort out and download all the dependencies (including the upgrades) for you. So install apt-get and don't worry and be happy.

10.2. Editors and Word Processors

Abiword is a fairly advanced word processor that will work on the netBook for simple documents. It is a little sluggish, but can work well with a methodical attitude. For more complicated documents, it rather overexerted the netBook's resources. Graphics can be inserted (png files worked for me.) Abiword has an RSS memory footprint of 11 MB, with 8.9 MB shared memory. Abiword has a plugin package that has, among other things, support for Psion Word file format.

SIAG has a writer that works o.k. called "Pathetic Writer". You can get binaries of the SIAG suite of programs compiled for the netBook here.

Lyx is another possible word processor, but Lyx requires the rather large tetex package and all that it requires.

gvim is also a nice option for a vi/text editor. After a 10 second startup, gvim works rather well for editing text files. gvim has an RSS memory footprint of 8.3 MB and a shared memory footprint of 6.0 MB. gvim has style formats that recognize gcc, fortran, octave, html, etc text files and gives them nice color styles with some code error debugging assistance.

10.3. Spreadsheets

There seem to be a dearth of reasonably functional spreadsheets in linux, alas. The standard linux spreadsheet is gnumeric, which will run fine on the netBook apparently. The downside of gnumeric is that it is a gnome application, so to install gnumeric takes a bit of disk space with all the gnome dependencies. When I installed it, it required some 90 MB. Gnumeric takes 25 s to startup, so it is a little slow, but it is a full fledged spreadsheet. Gnumeric is a little cramped on the netBook's 640x480 screen - there is no PDA option for gnumeric, as far as I know.

SIAG has a spreadsheet that works o.k. called "siag" ("Scheme In A Grid"). You can get binaries of the SIAG suite of programs compiled for the netBook here.

10.4. Web Browsers

In console mode, the "links"/"elinks" browsers work quite well. There are ipks and Debian packages for these that can be readily installed. This can be quite useful for searching for and downloading software packages for your linbook. Newer versions of this browser have full graphics support (although these cannot deal with the netbook's framebuffer so graphics don't work in console mode).

There are a number of web browsers for X windows that might be suitable for the linbook. The three most promising are minimo, dillo, and firefox. IPKG packages of dillo and minimo for ARM are available, and both are under active development. There is also a standard Debian package for dillo. The minimo browser requires about 25 MB to run, but an incarnation suitable for the netBook does not seem to exist yet.

Dillo is not so fully functional as minimo, but it is much smaller and faster and is under active development. I use "dillo -geometry 580x440-10-10" to start dillo to work best on the netBook's screen, and I've set the panel_size to be tiny and small_icons to be YES in my ~/.dillo/dillorc file (see /usr/local/etc/dillorc). Dillo can also be compiled from source code on the linbook, if the various development packages are installed - get a tarball of a newer verson of dillo binary here.

Figure 3. dillo on the netBook's 640x480 screen, 256 colors

Most promisingly, the firefox browser, a standard Debian package, will also work on the linbook - a full fledged, modern browser. It is a little slow (55 seconds to startup), but fully functional. Firefox has a memory footprint of 31 MB RSS. Just install the Debian firefox package. Other browsers are available such as a PDA version of konqueror. Firefox version 1.5 has been compiled and optimized specifically for the netBook - configured for the more lightweight gtk version 1. This version is quicker and has smaller memory requirements than the standard firefox. Download a tarball of the binary from sourceforge Files. Note that when loading a webpage, the firefox browser has a "throbber" that is basically an animated gif file. This animated gif/throbber takes up cpu cycles on the netBook, so changing the throbber to be something other than an animated gif would seem to be helpful. See Customizing the Firefox Throbber for more information. I have set my throbber [no comments please] to be a green dot when done, and a red dot when loading a page.

Opie comes with a version of the Opera web browser that might work on a netBook running Opie. There are ipks of Opera that are available, having been extracted from the original Opie-based ROMs; See the links under Resources. Opie doesn't yet work on the netBook, however.

10.5. Calculators - RPN and otherwise

There are any number of calculators that will run on the netBook, some better some worse. They range from the full-blown mathematics package octave to the ordinary xcalc.

There are three reverse polish notation calculators to consider: "xcalc -rpn" will present an RPN calculator, calcoo is an RPN calculator, and gdcalc. Of these I prefer gdcalc, which is based on the original Psion EPOC dcalc. xcalc -rpn is limited in features, while calcoo is a little better but takes quite a while to start up (and it is rather slow). Both xcalc and calcoo can be installed by Debian packages. I compiled gdcalc for the ARM cpu from the source code; you can download it, from here (0.3 MB). One disadvantage of gdcalc is that it requires a few of the older gnome libraries (which packages??). There is also a console verion of gdcalc, called dcalc (again) that works quite well on the netbook.

xcalc can be configured to present a nice color interface; see man xcalc. I am sure there are other "regular" calculators (I am mainly interested in the RPN.)

10.6. GPS on the netBook

A common GPS application for linux PDA's is gpsdrive at http://www.kraftvoll.at/software/. This web page provides ARM binaries (v. 1.32) that you can download, although there are more uptodate packages (v. 2.09) from Debian that are likely to work better. gpsdrive requires the GTK+ graphic toolkit. gpsdrive uses a small daemon "gpsd" that logs the GPS NMEA strings from the serial port and forwards them to gpsdrive, although the newer version is meant to read the serial port directly.

GPS can be set up using either an external handheld device such as the Magellan 315 connected to the serial port, or using a compactflash/PCMCIA GPS card such as the GlobalSat BC-307.

Figure 4. gpsdrive on the netBook's 640x480 screen, 256 colors

10.7. Dictionary

The application "stardict" is a gtk-GUI-based dictionary that works fine on the netBook. You'll need to install the Debian packages, and then download the dictionaries your interested in from the stardict webpage, where you can see screenshots as well. This application has translation dictionaries available as well.

10.8. Astronomical netBook

Xephem is a complete, professional planetarium application that will run fine on the netBook. The binary for this, optimized and configured (more or less) for the netBook, can be found on the former applications wiki. This program can also be used to control telescopes through the serial port; there is no reason why the netbook would not also be capable of this.

Figure 5. xephem on the netBook - Saturn's moons.

Figure 6. xephem on the netBook - Skymap.

10.9. Games

There are many games that have been developed for linux, but unfortunately only a few of them will work on the netBook. Many of these games require 3D graphics, which the netBook lacks. Others require a screen larger than the netBook provides. The handhelds.org GPE package "gpe-games" comes with a number of games that will run on the netBook. xbill is one game that will work, of course; see the screenshot on the previous page. The classic arcade game xinvaders can be easily compiled and runs fine on the netBook - see the applications link in the introductory paragraph of this page.

One game that seems to work o.k. is xboing, that is available as a Debian package. xboing is rather too tall for the netBook's screen, however, but you can rotate the X windows screen by adding

  Option          "Rotate" "CW"
In the "Device" Section of the XF86Config file and restarting X windows. xboing then fits on the netBook's screen (barely); you then play the game by turning the netBook sideways. I found I could get it going and it will work fine with:
xboing -keys -no-sound -nosfx -speed 3 -no-usedefcmap -no-grab
xboing works best with a mouse, although it can be played with keys as well. This game requires 256 colors, apparently, so it won't work with, e.g., dillo running at the same time.

Figure 7. xboing screenshot - Level 1

10.10. Movie/Video Players

Apparently xine can be installed from the Debian packages. Only small mgp and mov files have been tried. aaxine and xine for x11 work, but fbxine does not. Of course, there is no sound yet on the netBook, but "xine test.mpg#noaudio" will start without complaining.

10.11. Compiling the Kernel or Applications with GCC

gcc can be installed on the netBook, but it takes considerable space (20 MB). gcc is verified to work, though you probably need a 64MB netBook because of its size and memory requirements. The option "-mtune=strongarm1100" seems to be a good one for optimizing for your sa1100 cpu. Try "-Os -mcpu=strongarm1100 -mtune=strongarm1100 -fomit-frame-pointer" for good optimization. The option "-Os" is essentially -O2, but avoids optimization that increase instruction size. This option may be better for the SA1100's small 16KB instruction cache. With -mtune=strongarm1100, the option -mcpu=strongarm1100 must also be given, or a "segmentation fault" may result. (Anyone know any other options that would make things go a little faster?)

I have installed development packages on my netBook and then used it to compile such packages as dillo, gpsdrive, and xzgv. There doesn't seem to be much to limit the ability of gcc to compile things, although it can be slow (gpsdrive takes 20 min to compile). The development packages require 100-200 MB of free space on your CF drive.

We could obviously use a better floating point emulator! (The "-msoft-float" option in gcc, and associated libraries installed, will likely yield executables that will do floating point calculations much faster. Soft-float, however, seems to require system libraries that are also compiled with soft-float - it is a tangled web of difficulty...) Benchmarks here do not scale well at all with the BogoMIPS number. See the section on floating point emulation towards the end of this HOWTO.

10.12. Web Servers

The Boa webserver seems to be ideal for a small, efficient webserver. It is designed for embedded processors. There is a Debian package for it. It supports CGI.

Any of the webservers will run on the netBook; upto and including apache.

10.13. Misc Notes - Man Pages

"Man" pages do not usually come with *.ipk packages; the "man" system is rather large at over 1 MB. However, there is a package called "zman" at http://mulesex.port5.com/zman.shtml that uses a more compact system of compressed text files combined with "less". The groff pages of "man" are easily converted to "zman" text files.

10.14. Java

Four versions of java VM that have a port to linux/ARM are (in no particular order) Wonka, Kaffe, SableVM, and Blackdown. Then there is apparently Sun's java for the Zaurus, apparently called Jeode. There are versions for ARM for all of these available, and ipk's are available for kaffe, Jeode and blackdown. deb's are available for kaffe and sablevm. See also JAVA Apps for (Linux) PDAs at Tuxmobil for other java hints. Which one works best on the netBook? I dunno; none of them seem to work very well, if at all, at the moment. If you have some experiences, please post them on the openpsion mail list. Wonka segmentation faulted on my "testing" Debian system. Blackdown may eventually work (version 1.3.1 is compiled for ARM; I got a segmentation fault), but it is large (18 MB) and slow see an e-mail comment and another e-mail comment. SableVM started on my netbook but then never seemed to start anything; after using up cpu cycles for 10 min I killed it. Kaffe seems to work, but it will not run jar files. Jeode seems to be an Opie-only VM, while blackdown is X11 based.

We'd be happy to hear of any progress with java; please report to the openpsion mail list!