Best viewed on NetFront (640x480)

X/Qt super jumbo

pdaXQtrom 0.8.2

The new X/QT super jumbo package is the next generation of X/Qt and is based on existing base X/Qt packages (thanks Takuya Murakami) and the specially compiled X/Qt packages from pdaXrom 1.1.0 beta1 (thanks Sashz!). The goal of this image is to extend Sharp ROM with a mini pdaXrom system running under X/Qt. It has a complete X/Qt runtime that is compatible with packages from the special pdaXrom feed. It also uses the same glib2 and gtk+ library versions as pdaXrom while maintaining compatability with Sharp's older glibc 2.2.2 version. This means that most applications available for pdaXrom will be able to be recompiled and run on pdaXqtrom.

A native on-board compiler based on gcc 2.95.3 is also available as a companion tool to compile your own X/Qt applications from your Zaurus without needing a separate machine or setting up a cross tool chain. A java runtime and development environment is also available as an optional add-on as well.

However, since pdaXqtrom extends Sharp ROM, and many of its libraries are compiled for compatability rather than speed, it is rather slow in comparison to pdaXrom which is optimised for speed. pdaXqtrom is also limited to the constraints of the old version of Qtopia that Sharp ROM is based on as well as the X/Qt libraries which were not compiled with xscale optimisations. This means that you will be lucky just to get half the speed of pdaXrom since pdaXrom is quite optimised for each class of models, so if speed is what you want, then consider using pdaXrom instead. pdaXqtrom can be optimized a bit more but will never be as fast as pdaXrom since pdaXrom uses the faster soft float instead of the slower hard float which Sharp ROM is using.

pdaXqtrom should also work on Cacko since it is a derivative of Sharp ROM. It should work on all clamshell models as well as Tosa. 5x00 models would struggle because of the limited memory and smaller screen size but should work too in a limited fashion (the previous X/Qt jumbo package would be a better choice for 5x00 models since it requires less resources). It is recommended to use a swap file of at least 64MB with pdaXqtrom. You can either manually create and enable a swap file/partition yourself, or use the qtopia-memoryapplet to do it. Cacko already includes a memoryapplet for creating swap files. I have packaged an improved version [qtopia-memoryapplet_1.0.4_arm.ipk] which allows C3x00 models to create the swapfile onto the internal MicroDrive on /hdd3 and also the creation of swapfiles up to 512MB.

The pdaXqtrom base image is available as a mountable cramfs and/or squashfs image, as well as a gzipped tarball which can be extracted to an ext2/ext3 filesystem. The default window manager for pdaXqtrom is fluxbox. Alternate window managers can be used also such as icewm. The file /etc/X11/defaultwm specifies which window manager is loaded when X/Qt is started.

X/Qt running fluxbox with custom BluePDA theme

[pdaXqtrom with fluxbox]

X/Qt running icewm with customised SilverXP theme

[pdaXqtrom with icewm]

The X/Qt menu tab under Qtopia to launch X apps directly

[XQt tab]

A second image, pdaXqtrom apps, is also provided as an add-on with the applications listed below pre-installed and configured.

The pdaXqtrom base and application images are available from the following location: pdaXqtrom images

In addition, there also are a few special feeds for all the tested applications. The base and apps images are build from these feeds. The base image can be used with the pre-configured application image, or individual applications can be separately installed from the apps feed using the default Sharp installer.

The pdaXQtrom compressed images can be installed to anywhere you like. Basically, put them where ever you have the space for it. There are three different formats to choose from: cram, squash and tgz. The cramfs compressed images will work for everyone. In order to use the squashfs images, you will need to install a squashfs kernel module first. The advantage of squashfs over cramfs is that it has better compression and thus is smaller. The last option is a compressed tarball. If you don't want to use compressed loop back images but want to extract the files, then you can use the tgz files. However, make sure the destination for the install is an ext2 or ext3 formatted filesystem if you use the tgz file. For the cramfs/squashfs images, the filesystem type does not matter.

To install, copy the files you want to install and the install script (inside to the destination location. Make sure they are all in the same directory and then do the following:

# su
# ./

The install script will mount the cramfs or squashfs file images and run the setup scripts of each image. If you used the tgz file, it will extract the files and then run the setup scripts. Make sure you have sufficient space for the extracted files if you use the tgz files. The setup script does not check for sufficient disk space and just assumes you have enough free disk space.

You need to install at least the pdaXqtrom-base image. You can install the pdaXqtrom-apps image as well or install individual application packages manually. The zgcc image is an optional native C/C++ compiler if you want to compile your own applications on your Zaurus. It can build applications for QT/E 1.5 (Sharp/Cacko ROM) as well as X11 applications for pdaXqtrom (X/Qt). A minimal Perl is also included on this image. The java image contains blackdown 1.3.1 as well as jamvm 1.4.2 and classpath 0.20 for running java applications. Several java compilers and tools such as jikes and jar are also included. jEdit 4.2 has been configured to use blackdown jvm. HdPad (simple text editor) and HdCrawler (dynamic file downloader) are also included which use blackdown as well. The classpath samples can be tested by using the jamtest script. jamvm and classpath can be used to run applications compiled for java 1.4.x or later which blackdown cannot since it is only JRE 1.3.1. classpath is also used by the firefox java plugin (gcjwebplugin). You will need both, the zgcc and java images, if you want to use the firefox java plugin. Java is very memory hungry and very slow on the Zaurus and not all java applets will work properly either.

If you had installed X/Qt components before and they did not uninstall cleanly, then you can run xqtcleanup which is located under the tools directory of the pdaXqtrom base image to remove them all before installing pdaXqtrom again. The xqtcleanup script only cleans up for the pdaXqtrom-base image.

You should also uninstall libfreetype before installing pdaXqtrom if you have an older version already installed so that the pdaXqtrom installer can install a newer version of libfreetype. Simply uninstall the package with the Package Manager/Installer tool.

[uninstall libfreetype]

You might need to uninstall libpng as well. Alternatively, you can just upgrade libfreetype and libpng from the pdaXqtrom base feed after you have installed pdaXqtrom.

Note: You will need to remount the cramfs/squashfs images after each reboot. If you installed to SD/CF card, then you also need to unmount and/or mount them when ejecting/inserting the SD/CF card. However, if you install my latest automounter package, then this is automatically taken care of by the scripts. automounter-c3000 has only been thoroughly tested for the C3000 and C3100 on the Sharp ROM. automounter-lite is a stripped down version of automounter and should work for all models. It only creates and mounts loop devices during bootup so it will automatically mount the images only if your card is inserted during bootup. automounter-lite is not as feature rich as automounter-c3000 but chances that it might break something or not work is much smaller.

The following applications are available on the pdaXqtrom-apps image and/or on the feed:

[abiword] [gnumeric]
AbiWord 2.4.0
Gnumeric 1.6.0
[firefox] [dillo]
Firefox 1.5
dillo-xft 0.8.5
[thunderbird] [sylpheed]
Thunderbird 1.0.7
Sylpheed 2.0.2
[gimp] [gqview]
Gimp 2.3.4
GQView 2.1.1
[scite] [nedit]
SciTE 1.62
nedit 5.4
[gftp] [axyftp]
gftp 2.0.18
axyftp 0.5.1
[xchat] [gaim]
xchat 2.6
gaim 2.0
[gyach] [gtkyahoo]
gyach 0.9.4
gtkyahoo 0.18.2
[dia] [bluefish]
Dia 0.92
BlueFish 0.13
[stardict] [galculator]
StarDict 2.4.3
Galculator 1.2.5
[planner] [fltdj]
planner 0.13
fltdj 0.7
[flfm] [rox]
flfm 0.3
rox 2.2
[ethereal] [tightvnc]
ethereal 0.10.9
tightvnc 1.2.9
[epdfview] [xpdf]
epdfview 0.2.1.
xpdf 3.01
[minimo] [links]
minimo 0.12
links 2.1
[free42] [hp calculator]
[leafpad] [grisbi]
leafpad 0.7.9
grisbi 0.5.8
[imagemagick] [denemo]
ImageMagick 6.2.5
denemo 0.5.3
[xmms] [putty]
xmms 1.2.10
putty 0.58
[xarchiver] [midnight commander]
Xarchiver 0.3.1
mc 4.6.1
[gps drive] [smsessy]
gpsdrive 2.10pre3
smsessy 0.1.1 (wip)
[gpaint2] [gpe-gallery]
gpaint2 0.2.3
gpe-gallery 0.97
[gmplayer] [dosbox]
gmplayer 1.1pre8
dosbox 0.63
[homebank] [knowde]
homebank 3.2
knowde 1.8.0

Many more untested packages are available from the pdaXrom X/Qt feed as well as the pdaXrom 1.0.5 feeds on the main pdaXrom site.

The pdaXqtrom images are installed as mountable filesystems (cramfs/squashfs). A setup script inside each image will create the required symbolic links and copy files appropriately. If you inadvertantly remove any of the links, you can simply rerun the setup script to recreate them. To uninstall, simply use the Package Manager/Installer tool and uninstall the pdaXqtrom package(s), then unmount the image(s).

[uninstall pdaXqtrom]

You can also install and/or uninstall additional packages for pdaXqtrom using the Package Manager/Installer tool.

The main interface command for pdaXqtrom is xlauncher. It can be used to launch X application from Qtopia desktop scripts, the command line and even from within a X terminal. The general syntax is:

# xlauncher appname

You can also add a -debug right after xlauncher when you are trying to troubleshoot why an application is not being launched. The debug option makes xlauncher generate verbose output instead of hiding it:

# xlauncher -debug appname

There is also an experimental feature to embed the X application into the Qtopia desktop without having a full X window session. This feature is also known as rootless mode. Although the advantage is that it loads a little faster and consumes less memory, it also has drawbacks. The X application is not managed by any window manager and thus will not not be able to be resized or moved, nor are the corrective keyboard mappings available.

To launch an application in this mode, use the following command argument and syntax:

# xlauncher -embed appname

Here are some of the X applications in embedded mode:

[stardict embedded] [xmms embedded]

PocketWorkstation can also be run under pdaXqtrom just like with the X/Qt jumbo package if the add-on deblauncher package is installed.

There are also some additional tools in the tools directory on the base image:

  • mkqticon
  • Use this script to generate a QT desktop icon for an X application if it does not have one. It will generate a launch script and desktop files under the XQt tab.

  • mkfakepkg
  • If you want to install applications directly from a pdaXrom feed, you need to update your package list and have all the packages that come with pdaXqtrom-base listed there. This script will generate the required info and populate the package list with it.

  • monolingual
  • This script can be used to enable or disable scim (Smart Common Input Method) which allows you to input other languages such as Chinese and Japanese. With scim disabled, ie monolingual enabled, X/Qt will startup faster. It is recommended if you only want to use English to enable monolingual mode. However, in order to input other languages in applications that support it, scim needs to be enabled. This can be done by disabling monolingual before starting X/Qt.

  • xembed
  • This script can be used to toggle the default behaviour of the Qt desktop icons. You can use it to enable or disable the xembed mode. When xembed is enabled, all the desktop icons under the X/Qt tab will launch the applications in embedded/rootless mode which means they run in a lightweight mode under X/Qt without utilising all the features of X and the application appears to be running inside Qtopia. If you disable xembed, then the desktop icons will automatically start the full X/Qt environment and run from within the full X/Qt environment.

  • zhomefixC3000
  • This script is for SL-C3000 users only. Since X applications place their config files under the user's home directory, ie /home/zaurus and the SL-C3000 only has 4MB on /home, it will get filled up pretty quickly. Run the zhomefixC3000 after you run each X application for the first time. The script will attempt to move the config files to /hdd2/zaurushome and symlink it back.

  • xqtcleanup
  • This script usually is not required and should not be run. It is a brute force approach to remove existing X/Qt files. Only use this script if you had a broken X/Qt installation previously that you could not cleanly uninstall or you get other errors.

  • cackofix
  • This script may be needed to be run by Cacko users if they get glib errors. If everything works, then don't run this script.

X/Qt has its own set of basic key controls. The menu key is hardcoded to activate the X/Qt control which allows you to activate fullscreen mode or shutdown X/Qt. Fn+m shuts down X/Qt immediately. Also Fn+tap is equivalent to right mouse click whereas a single tap with the stylus is a left mouse click. Sometimes, when switching between X/Qt and QTopia, the caps lock is turned on under X/Qt. Just hit Shift several times to disable it.

The rest of the keys is controlled by the keymapping file located under /etc/X11/kb/xmodmaprc. This file is loaded each time X/Qt starts up. During installation, an appropriate mapping file has been copied there depending on your Zaurus model. If you want to customise it, then copy it to /home/zaurus/.xmodmaprc and edit that copy in your home directory. You can use the xev command to determine the keycode for each key. If you have a Cxx00 model, ie one with 2.4.20 kernel, and you are using my custom keyhelper.xml, then you might also want to use my custom xmodmaprc file as well instead of the standard xmodmaprc. To use my custom xmodmaprc copy /mnt/pdaxqtrom-base/config/settings/xmodmap/xmodmaprc-custom to /home/zaurus/.xmodmaprc

In addition, FluxBox also has some extra key shortcuts defined in /home/zaurus/.fluxbox/keys. Most of those shortcuts are defined to use the Mod4 (assigned to Super_L) and Mod1 (assigned to Alt_L) modifier keys which I mapped to the Home and Alt (left kanji) key respectively. FluxBox menu is activated by holding the Fn key and tapping on the desktop. To release/cancel from the menu, tap anywhere on the desktop (but not on any window/application on the desktop). You might also need to press the Cancel key as well.

Here are the key shortcuts for FluxBox:

  • Alt + Tab = Next Window
  • Alt + Shift + Tab = Previous Window
  • Alt + c = Close Window
  • Alt + m = Minimise Window
  • Alt + n = Maximise Window
  • Alt + h = Maximise Window Horizontally
  • Alt + v = Maximise Window Vertically
  • Alt + s = Shade Window
  • Alt + t = Toggle Decor
  • Alt + r = Raise Window
  • Alt + l = Lower Window
  • Alt + Up = Move Window Upwards
  • Alt + Down = Move Window Downwards
  • Alt + Left = Move Window to the Left
  • Alt + Right = Move Window to the right
  • Alt + space = FluxBox Menu
  • Alt + 1 = Virtual Window 1
  • Alt + 2 = Virtual Window 2
  • Alt + 3 = Virtual Window 3
  • Alt + 4 = Virtual Window 4
  • Alt + x = Launch Terminal

multi-aterm has the following key shortcuts:

  • Ctrl + Alt + n = New Tab
  • Shift + Left = Previous Tab
  • Shift + Right = Next Tab

You can also customise the theme and styles. FluxBox comes with a set of styles located under /opt/QtPalmtop/share/fluxbox/styles. I have created one called BluePDA which is used by default. You switch styles easily from the FluxBox menu under the FluxBox Config options. To customise a style, copy it to /home/zaurus/.fluxbox/styles and edit away. The background image is part of the style, so in order to change the wallpaper, you will need to edit the style unless you are using the default BluePDA style. Its wallpaper is a symbolic link to /opt/QtPalmtop/share/backgrounds/wallpaper.jpg and you can just replace it with any jpg file.

There is also a GTK+ theme selector to switch GTK+/GTK2 themes and styles. I have added a few themes and they are located under /opt/QtPalmtop/share/themes. You can copy additional themes to that location.

You can customise FluxBox, its menu and shortcut keys using the FluxBox config tools.


The menu items can be customised with the FluxBox menu editor. The shortcut keys can be customised using the FluxBox key utility.

[fluxmenu] [fluxkeys]

A transparent terminal (aterm) is also available which you can also use in opaque mode if you prefer.

[aterm] [aterm]

Additionally, a tabbed multi-aterm is also available and can be used in both opaque and transparent mode. You can also use the putty terminal as well.

[multi-aterm] [putty]

Desktop icons are provided by idesk. You can manually create additional desktop icons or use the genicons script which is also available from the FluxBox config menu to generate the icons. This script will try to duplicate all the Qtopia desktop icons under the X/Qt tab. You can enable and disable the display of these icons from the FluxBox config menu as well. The idesk icon definitions are located under /home/zaurus/.idesktop


Alternatively, you can also use rox pinboard to create desktop icons. This is also available from the FluxBox config menu. However, the rox pinboard will take over the control of the menus and you will not be able to access the FluxBox menu anymore unless you configure rox to run in blackbox/fluxbox compatability mode.

[rox pinboard] [rox config]

You will need to check both "Pass all backdrop mouse clicks to window manager" and "Blackbox root menus hack" in order to get the FluxBox menu back.

pdaXqtrom also has multilingual support built-in as well. It has uim and anthy, as well as scim embedded. Some Japanese and Chinese fonts are also included. You can add additional fonts by copying them to /usr/share/fonts or .fonts under the user's home directory, ie /home/zaurus/.fonts

[scim config]

scim is activated by pressing Ctrl+space. You will get a scim menu at the bottom of the screen. You might need to switch X/Qt to fullscreen mode to see it. From the scim menu, you can select the input language you want to use. I have customised it for Chinese and Japanese primarily, but other languages can also be used with it.

[scim sample]

If you want to prevent scim from loading and thus start up faster and use less resources, then use the monolingual command or create a file called "monolingual" under /etc/X11:

# su
# touch /etc/X11/monolingual

The applications for pdaXqtrom are mostly the same version as the ones from pdaXrom. However, I tweaked and hacked a few of them to make them more user-friendly.

[abiword japanese]

Abiword has been configured to start in 640x480 or 480x640 mode depending on the model and display English even on Zauri with Japanese locales. Abiword uses the system locale to determine what language to display menus in, ie English menu with en locale, Japanese with ja locale. However, since many clamshell models on Sharp ROM use the ja locale with the menus converted to English, the same was required for AbiWord. The file /etc/X11/app-defaults/Abiword.strings contains the text for the menus and is a copy of en-GB.strings for English menus. If you want your menus in another language, then simply replace it with the language file of your choosing. I also compiled aspell and included a dictionary so you also get an English spell checker. Additionally, I also compiled a few plugins for abiword, mainly text converters so you can open additional document types such as OpenOffice, MSWrite and PDF files. I also got printing to a PDF file working partially. Currently it only works with certain fonts, so if the results looks like garbage, try again with another font.

Firefox has been enhanced a bit. It originally had a small problem with its own launch script but now it launches itself into a new tab if you launch firefox multiple times when it has already been started. I have also compiled the gplflash plugin so flash animations can be viewed with firefox. A java plugin is also available, but it requires jamvm and classpath (available on the java image) and perl (available on the zgcc image).

GQView, xpdf, grisbi, putty and abiword have been recompiled to force them to stick to the 640x480 screen size and not go beyond. Also, most applications have been customised to start in full screen but not covering the bottom menu bar. This has been done for both portrait as well as landscape based models and is managed by FluxBox. I also hacked GTK2 to restrict the window size to 640x480 and 480x640, so hopefully all applications will fit onto the screen. I have tested AbiWord and FireFox and all dialog boxes I could find were correctly sized. However, if there are any oversized windows, then use Alt+n to maximise the window or Alt+arrow keys to move them around. I purposely hacked GTK2 instead of the window manager (fluxbox) which is where it should be fixed. However, since X/Qt can run in rootless mode without a window manager, the window size needs to be controlled higher up in GTK2.

A rotate feature which resizes the windows of running applications has also been added and is accessible from the FluxBox menu.

StarDict has not been configured with any default dictionaries. You will need to install your own dictionaries into /usr/local/share/stardict/dic. Alternatively, I have created a huge squashfs image with many stardict and qbedic dictionaries as well as the stardict sound files for pronouncing the words in English. You can use that image (dictionaries.squashfs) as well but you will need more than 300MB of space for it.

xmms has been hacked to allow it to use more Zauri friendly keys. You can now use the OK and Cancel keys as Play and Stop. Also Up and Down have been reassigned to change tracks and N and M are now used for volume control. The goal was to be able to use the sidekeys on the back of the Zaurus to control xmms just like the MusicPlayer when the display is closed or you are using it in PDA mode (portrait) without access to the keyboard. xmms can play wav, mp3 and mod files and I have also compiled mplayer 1.1pre8 with X11 support so xmms can launch mplayer inside a little gtk window for watching short clips.

I have also compiled the mplayer GUI - gmplayer. Note that this version of mplayer runs via X/Qt which runs via a frame buffer through QT/E so it will never be as fast as mplayer running via bvdd or ati. However, mplayer is compiled with XScale CPU optimisation so it does perform reasonably for small clips and it supports more codecs than the older version.

A hacked version of DOSBox is also included. The : key has been hacked to work in this version. Fn + ; will give the : key. Fn + Ctrl + ; will give the ; key. To exit dosbox just type exit.

In addition, the following tools are available via the command line in pdaXqtrom:

pdf tools
  • pdffonts
  • pdfimages
  • pdfinfo
  • pdftohtml
  • pdftoppm
  • pdftops
  • pdftotext

video tools
  • swfplayer
  • mplayer2

sound tools
  • esdloop
  • esdplay
  • esdrec

internet tools
  • links
  • gftp-text
  • plink
  • psftp
  • pterm
  • puttygen
  • puttytel

graphics tool
  • animate
  • composite
  • convert
  • identify
  • import
  • mogrify
  • montage

pdaXQtrom Games packages

The following games are available on the games image and/or on the extra games feed:

[gnugo] [gnuchess]
GNU go 1.9.12 (xlauncher cgoban)
GNU chess 5.07 (xlauncher chess)
[sokoban] [atlantic]
gsoko 0.4.2 (xlauncher gsoko)
gtkatlantic 0.4.0 (xlauncher gtkatlantic)
[xbomb] [xdemineur]
xbomb 2.1a (xlauncher xbomb)
xdemineur 2.1.1 (xlauncher xdemineur)
[xkobo] [xpuyopuyo]
xkobo 1.11 (xlauncher xkobo)
xpuyopuyo 0.9.8 (xlauncher xpuyopuyo)
[xshogi] [xsokoban]
xshogi 1.3 (xlauncher xshogi)
xsokoban 3.3 (xlauncher xsokoban)

The source files for pdaXqtrom applications can be found at the respective application websites or collectively from the following sites:

DISCLAIMER: The information contained on this site is provided AS IS. No assurance is given to the accuracy of the information or instructions provided. You may use this as a guide but do not blame me if anything bad happens to your system or your data. Use anything described on this site at your own risk. I shall not be made responsible for anything you do.