X/Qt jumbo pack

Installing X/Qt using the jumbo package is relatively simple. It is installed just like any other package, however, due to its size, make sure you have at least 40MB of free disk space (on your destination for the install) to install the xqt jumbo package. Also, temporarily disable suspend during the install since it takes a long time and you don't want your Zaurus to go to sleep in the middle of the install. It is best to install the jumbo package from the command line rather than using the GUI package manager.

The X/Qt jumbo package [xqt-gtk-jumbo_4.3-0.7.1_arm.ipk] installs a complete X server for Qtopia as well as GTK libraries. The X/Qt jumbo package is compatible with the Sharp ROM as well as Cacko, which is a derivative of the Sharp ROM. The X/Qt jumbo package has been tested on the SL-C3100, SL-C3000, SL-C1000 and SL-C860. Other models might work as well, but have not been explicitly tested.

The X/Qt jumbo package is composed of the following packages:

xqt-fonts-misc [xqt-fonts-misc_4.3.0-3_all.ipk]

xqt-fonts-100dpi [xqt-fonts-100dpi-iso8859-1_4.3.0-3_all.ipk]

xqt-fonts-75dpi [xqt-fonts-75dpi-iso8859-1_4.3.0-3_all.ipk]

xqt-server [xqt-server_1.9.0_arm.ipk]

xbase-etc [xbase-etc_4.3.0-3_all.ipk]

zlib - [zlib_1.2.2-1_arm.ipk]

xlibs [xlibs_4.3.0-3_arm.ipk]

xbase-client [xbase-clients_4.3.0-3_arm.ipk]

gdk-pixbuf [gdk-pixbuf_0.22.0-2_arm.ipk]

glib [glib_1.2.10-0vl3_arm.ipk]

glib-additional [glib-additional_1.2.10-2_arm.ipk]

glibc-locale-ja-eucjp [glibc-locale-ja-eucjp_2.2.2-1_arm.ipk]

glibc-locale-ja-utf8 [glibc-locale-ja-utf8_2.2.2-1_arm.ipk]

glibc-gconv-ja [glibc-gconv-ja_2.2.2-1_arm.ipk]

glib2 [glib2_2.4.7_arm.ipk]

libgcc1 [libgcc1-zaurus_3.2.2-0_arm.ipk]

freetype [freetype_2.1.5-1_arm.ipk]

fontconfig [fontconfig_2.2.1-1_arm.ipk]

fontconfig-etc [fontconfig-etc_2.2.1-1_all.ipk]

xqt-fonts-encodings [xqt-fonts-encodings_4.3.0-3_all.ipk]

atk [atk_1.6.1_arm.ipk]

gtk [gtk_1.2.10.1_arm.ipk]

gtk2 [gtk2_2.4.13_arm.ipk]

libtiff [libtiff3.6.1-1_arm.ipk]

pango [pango_1.4.1_arm.ipk]

xqtclip [xqtclip_0.0.2_arm.ipk]

rxvt [rxvt_2.6.4-1_arm.ipk]

aterm - [aterm_0.4.2_armv5tel.ipk]

blackbox [blackbox_0.65.0-2_arm.ipk]

xqt-debian-scripts [xqt-debian-scripts_0.6.1_arm.ipk]

In general, you do not need to re-install the complete xqt-gtk-jumbo package to upgrade it. It takes way too long, but you can do it if you really want to. It is easier and faster to upgrade xqt-gtk-jumbopack by installing a newer version of xqt-debian-scripts or use the xqt-jumbo-upgrade depending on which X/Qt jumbo version is currently installed.

X/Qt jumbopack comes with 0.6.x of xqt-debian-scripts so only install newer versions of xqt-debian-scripts. The main reason to install newer versions of xqt-debian-scripts is to update xlauncher and .xinitrc as well as getting additional X/Qt desktop icons and updated menus.

The X/Qt jumbo package pre-configures all the contained packages so that once it is installed, it is ready to use on the C3x00 and C1000. Other models require the keys to be remapped first. You can either use xev to determine the key assigments and create your own .xmodmaprc file or get a pre-made one and place it into /home/zaurus and /home/root (or just symlink them).

To generate the .xmodmaprc file, do the following:

# xmodmap -pke > /home/zaurus/.xmodmaprc

All you need to do now is use xev to determine the keycodes and update .xmodmaprc to correct the mappings.

Once X/Qt is installed, you will get a new X/Qt tab and also additional icons on your desktop, however, on some models, you will need to restart Qtopia or reboot your Zaurus in order for them to show up. Use the StartX icon to start X-windows. Do not use the X/Qt Server icon, but do not remove it either. It is required to display the X/Qt icon on your Qt taskbar when X is running. The other icons are only placeholders and do not do anything until you actually install those applications. Once you install those applications, the icons will be able to launch them. You can also start X from the command line using the xlauncher command.

The latest X/Qt jumbo pack would be xqt-gtk-jumbo_4.3-0.7.4_arm.ipk, however, it has not been build as an ipk yet. The xqt-gtk-jumbo cramfs or squashfs image is the equivalent of it.

The default window manager for X/Qt jumbo is now fluxbox which is an enhanced version of blackbox. The taskbar is at the top of the screen, so it is not hidden behind the Qt taskbar anymore. You can use X control to change X to fullscreen if you don't want to see the Qt taskbar. X control can be activated by pressing the menu button which allows you to switch to fullscreen X and/or shutdown X. Pressing Fn key + m will also shutdown X/Qt. Holding down the Fn key while tapping with the stylus will get you the fluxbox control menu.

X/Qt jumbo also contains multiple X window managers which you can switch between:

blackbox

fluxbox

evilwm

twm

To change the default window manager, place the name of the window manager into /etc/X11/defaultwm. For example, to switch to blackbox, do the following and then restart X/Qt:

# su
# echo "blackbox" > /etc/X11/defaultwm

This is how the custom fluxbox window manager looks like with desktop icons enabled:

However, it takes some time to load and display all the icons, and thus I decided not to load them by default. They really are only eye candy so you need to manually enable them from the fluxbox menu if you want them.

You may find it quicker to start the X/Qt application from the X/Qt tab in the QTopia desktop or using the fluxbox menu. You can also use xlauncher from the console or an exterm to start X applications. Just run xlauncher with the application's executable as the argument and xlauncher will start the application you specified. If X is already running, the application will just appear inside X, but if X has not been started yet, it will start X first before starting the application.

xlauncher will also enable swap if a swapfile exists and is not enabled yet (you really should create a swapfile for running X applications). xlauncher can also be used to allow your X application to be launched from your Qt desktop.

Also, you should install sudo if you don't have it installed already (Cacko has it installed by default whereas the default Sharp ROM does not). xlauncher can be run as root if sudo is not available, but it is probably worth it to get sudo installed and configured. Once sudo is properly configured, xlauncher will be able to take advantage of it and be able to enable the swapfile automatically for you.

You can download the xqt-gtk-jumbo package from the following locations:

The X/Qt jumbo package needs to be installed to main memory. If installing to SD or CF, ipkg-link needs to be run to relink the files and directories, but since ipkg-link does not exist on the standard C3100, C3000 and C1000, I have made a xipk-link script (part of my ipktools package) which can relink the X/Qt files and directories so that they can run from SD or CF card.

I have also created a xqt-gtk-jumbo.cramfs and xqt-gtk-jumbo.squashfs compressed image which can be installed anywhere you like, since you simply need to mount it and run xqt-setup to configure it. If you later decide to move it somewhere else, all you need to do is re-run xqt-setup and you are back in business again. This should make installation much simpler and quicker.

I have also created xqt-install.sh which will mount the cramfs or squashfs file and run xqt-setup for you. Just place the xqt-gtk-jumbo.cramfs or xqt-jumbo-gtk-jumbo.squashfs file where you want and put the xqt-install.sh script in the same location and do the following:

# su
# ./xqt-install.sh

If you had installed X/Qt components before and they did not uninstall cleanly, then you can run xqt-cleanup before running xqt-install.sh or xqt-setup.

Note: you will need to remount the cramfs image after a reboot and/or re-insert of SD/CF card. If you install my automounter package [automounter-c3000_0.4.7_arm.ipk], then this is automatically taken care of by the script. automounter has only been thoroughly tested for the C3000 and C3100 on the Sharp ROM. Your milage may vary with other variations.

You can download the xqt-gtk-jumbo image from the following locations:

The xqt-gtk-jumbo is reported to work for the C3x00, C1000, C8x0, C7x0, 6000 and 5x00. You will need a .xmodmaprc keyboard map listed above for your model.

X applications

There are several X/Qt applications that you can install and use once you have X/Qt. There are some on the X/Qt feeds, and some pdaXrom applications such as Firefox will also work. There is a xqt branch of pdaXrom 1.1 compiled for xqt. Also, the source packages for pdaXrom are also available so someone with time on their hands can always compile additional X/Qt applications. In addition, you can also install Debian Pocketworkstation with X/Qt. Below are tested applications that can be installed for X/Qt. Also the following applications have icons preconfigured for them on the X/Qt tab. You can also create your own launch icons for X/Qt applications. To do that, do the following:

Get Icon

Qt Desktop Icons are usually png files. You can create your own or download them off the net. If you are lucky, the X app might even have installed one under /usr/share/pixmap

Copy the icon file to /opt/QtPalmtop/pics144

Create launch script

Create an executable script that looks like this and place it under /opt/QtPalmtop/bin

The Mozilla Firefox package from pdaXrom [firefox_0.9gtk_armv5tel.ipk] works with X/Qt on the C3x00. However, other models might have problems running it so I have build a firefox package [firefox_0.9-3_arm.ipk] which hopefully is more compatible and can be run on other models as well as the C3x00.

You can start firefox by either tapping on the Firefox icon on the Qt desktop or launching it from the command line as follows:

The Mozilla Thunderbird package from pdaXrom [thunderbird_0.6_armv5tel.ipk] works with X/Qt on the C3x00 if you also install libstdc5-compat-sharp [libstdc5-compat-sharp_0.5_arm.ipk]. I have build a thunderbird package [thunderbird_0.6-3_arm.ipk] which includes libstdc5-compat-sharp and it should also be more compatible with other models as well as the C3x00.

You can start thunderbird by tapping on the thunderbird icon or launching it from the command line as follows:

I have also created a xqt-apps and a xqt-mozilla compressed image in cramfs and squashfs formats which contains the above applications and some extra ones. Installation is the same as for the xqt-gtk-jumbo image. Simply mount the cramfs or squashfs image and then run xqtapps-setup to configure the applications.

Currently, the xqt-apps image contains the following applications:

abiword 2.0

bluefish 0.13

bochs 2.1.1

dia 0.92

dillo 0.8

dv 0.0.1

ethereal 0.10.2

feh 1.3.4

flfm 0.3

fltdj 0.7

gimp 1.2.5

gqview 1.4.2

gnumeric 1.2.2

grisbi 0.5

minimo 1.6

nedit 5.4

sylpheed 0.9.99

vncviewer 4.0

xchat 2.0.5

xmms 1.2.10

xpdf 2.03

And the xqt-mozilla image contains:

firefox 0.9

thunderbird 0.6

There is also a xqt-openoffice image which runs under X/Qt without requiring PocketWorkstation.

You can also use xqt-install.sh just like for xqt-gtk-jumbo. It will also mount the cramfs and/or squashfs file and run xqtapps-setup for you. Just place all the cramfs/squashfs files you want to use into a directory of your choosing and put the xqt-install.sh script in the same location and do the following:

# su
# ./xqt-install.sh

Note: you can put both xqt-gtk-jumbo and xqt-apps (plus any additional ones) in the same directory as xqt-install.sh and just run it once, however, you can only have one format for each file, either cramfs or squashfs but not both. It will setup and configure all the cramfs or squashfs images. Also remember that you will need to remount the cramfs/squashfs images after a reboot and/or re-insert of SD/CF card. The internal MicroDrive would be a great place to put your cramfs/squashfs images if your Zaurus has one of those since it doesn't need to be ejected. If you install automounter [automounter-c3000_0.4.7_arm.ipk] then the cramfs/squashfs images will be automatically remounted for you on a reboot and mounted/unmounted upon SD/CF card ejection/insertion. The automounter package has only been tested on the Sharp ROM for C3x00 and C1000 and might not work on other models.

You can download the xqt-apps and xqt-mozilla images from the following location:

Additionally, I have created a java compressed image which contains the full Blackdown JRE 1.3.1 plus a full set of compiler tools making it a JDK in essence (see Java section). It also contains some of my Java applications (Hd Pad and Hd Crawler). Similarly, I have also created a compressed image for an on-board gcc compiler (see gcc section) so you can create your own apps on the Zaurus directly.

You can also create your own custom cramfs or squashfs images with only the applications that you like to have. This involves firstly installing all your desired applications to an ext2 or ext3 formatted partition or disk. You could also install to a fat partition as well but it will fail for some applications so it is safer to just use an ext2 or ext3 partition. For that, you could reformat your card or create a loopback ext2 or ext3 filesystem.

Once you got your install location prepared, you can use xipk-build (found in my ipktools package) to install ipk packages to alternate locations. xipkg by default installs to /hdd3/programs if you have an internal MicroDrive or /mnt/card otherwise. If you want to change the location to something else, then do the following:

# su
# echo "/mnt/card/xqt" > /etc/xipk.conf

Substitute /mnt/card/xqt with your desired install location.

Then install your chosen ipk package as follows:

# su
# xipk-build somexqtpackage.ipk

Your package is now installed. You can install additional packages if you want to. Once you are finished with the installs, you can compress it as a cramfs image as follows assuming you installed to /mnt/card/xqt and have installed mkcramfs:

Once the cramfs image is created you can remove, your loopback file you used to build the cramfs image and then mount your new cramfs image as a loopback filesystem and install it using xqt-setup as follows:

Debian runs with X/Qt so if you already have X/Qt installed, then you are ready to install Debian. However, if you have not got X/Qt installed yet, then you need to do so before installing Debian. If you just want to run Debian and applications that are part of Debian, but not standalone X/Qt applications then you can also install the Debian jumbo lite package instead of the full xqt jumbo package. Since the xqt-gtk-jumbopack is quite large, I have created the xqt-debian-jumbo-lite package as an alternate package, which only installs the X/Qt libraries required for Debian PocketWorkstation but nothing else. It is much smaller and only requires 11MB, so it does not have gtk or other libraries required to run any of the X/Qt applications mentioned above. You will still be able to run the Debian versions of those applications from within PocketWorkstation, just not directly from X/Qt.

Debian itself is too big to be installed with an ipk file. You can either install Debian using the instructions on my Zaurus website, or install my xqt-debian image file which comes pre-installed with Firefox and Thunderbird, and optionally OpenOffice with the add-on debian-openoffice image file. The packages have been optimised in size so that it is possible to install everything on an ext2 formatted SD or CF card of 512MB. The debian docs are in a separate tarball so you can leave them out if you want to save space. OpenOffice binaries are compressed using a cramfs file image so that everything can fit onto 512MB.

Before installing Debian, make sure you have installed X/Qt yourself or installed one of the following:

xqt-gtk-jumbo_4.3-0.7_arm.ipk or later

xqt-debian-jumbo-lite_0.4.3-0.1_arm.ipk

xqt-gtk-jumbo.cramfs

To install Debian using the image file, unzip xqt-debian-install.zip and place it into the same directory as the other files. The following files are available:

xqt-debian-install.zip (required)

zaurus-debian-jumbo-v18-b01.tar.gz (required)

zaurus-debian-doc-v18.tar.gz (optional)

zaurus-debian-openoffice114.tar.gz (optional)

The default install location (which has been extensively tested) is /hdd3/debroot. You can specify a different location for the debian root. The install script will by default create a swapfile and pocketworkstation loop image under the same location as your debroot, but you can change the location by editing the install script and changing the default locations. If you already have a swapfile located somewhere else, simply comment out the SWAPFILE definition before you install to prevent it from creating an additional swapfile. The script can detect the filesystem type that Debian is being installed to. If the destination filesystem is FAT, it will create an ext2 loopback filesystem for you, but if it is already formatted as ext2 or ext3, then it will simply install there without creating the loopback filesystem.

You can increase the swap and pocketworkstation file sizes before you run the install script, but it is not advised to decrease them too much.

From a command line console, do the following:

# su
# ./xqt-debian-install.sh /hdd3/debroot

Once installed, you can start Debian by tapping on the Debian icon on the Qt desktop or use the command line:

# xlauncher debian

You will need to install sudo (refer to customisation section) if you want to run Debian as the zaurus user or launch it via the Qt desktop icon.

The mouse function is emulated as follows:

Tapping on screen = Left Click

Fn + Shift + Tapping = Center Click

Fn + Tapping = Right Click

If you also extracted the openoffice image file, then OpenOffice will be available in Debian. You can start OpenOffice as follows or launch it from the icewm menu:

# soffice &

If you have space, you replace the openoffice cram file with its extracted version by extracting its content and then removing it. OpenOffice will load faster this way. For best performance, install PocketWorkstation and the swapfile to an ext2 or ext3 formatted CF card and extract the OpenOffice cram file. OpenOffice installed as a cram image with PocketWorkstation on a loopback filesystem and swapfile on the internal microdrive takes about 5 minutes to start. OpenOffice extracted to an ext2 formatted CF card with swapfile located there too takes about 2 minutes to start.

You can download the Debian install files from the following locations:

Note: You can add the optional components even after you have installed Debian. Simply place the optional package in the same directory as xqt-debian-install.sh and re-run it again with the same parameters you had used in the previous install.

Fixes to the installation are provided with newer version of the install script. You can check the version of the install script by doing the following:

Alternatively, you can also use the xqt-debian-install.sh script with zaurus-debian-big-v0.18.tgz to install PocketWorkstation which will also work but you will need to install Firefox, Thunderbird, OpenOffice and Eterm yourself, and you will also only get the default icewm menu and themes.

Debian PocketWorkstation requires a lot of space because it is a complete Debian system. You might not want the whole system, but instead you just want to install a few of the Debian packages (.deb files). This is certainly achievable but not as easy as using apt-get to install new Debian packages.

The deb2ipk tool which is a Perl script that comes with the ipktools package [ipktools_0.3.5_arm.ipk] converts Debian packages into IPK packages that can be installed onto the Sharp ROM. Most of these Debian packages require X and use a newer standard C library than the sharp ROM. You will need to install X/Qt (the full xqt-jumbo package - [xqt-gtk-jumbo_4.3-0.7_arm.ipk] or later, or the xqt-gtk-jumbo.cramfs, and also an updated C library. This can be achieved with flashing the Zaurus with a zImage that contains libc6 with glib 2.3.2 libraries. Once that is done, it will enable your Sharp ROM to be able to run converted Debian packages without the need for running PocketWorkstation.

The binaries contained in the converted Debian packages should work on the Sharp ROM with the updated C libraries and X/Qt. However, the control scripts might need some fixing before the package can install and run successfully. The unpackipk tool can be used to extract ipk package so that the scripts can be manually fixed. Once that is done, the makeipk tool can be used to repackage the ipk file (see Building your own Packages section for more details).

If the Debian package has dependencies on other packages, then those also need to be converted and installed as well.

I have already converted and repackaged the following packages from .deb files into .ipk files and tested them to work successfully on the Sharp ROM without PocketWorkstation:

OpenOffice can also be installed directly onto the Sharp ROM using the following with the above mentioned packages installed:

zaurus-debian-openoffice114.tar.gz

xqt-openoffice-install.sh (archived as a zip file)

However, getting the above setup is still a bit tricky and risky since you can brick your Zaurus in the process.

OpenOffice as a cramfs or squashfs image

As an alternative, you can run OpenOffice from a cramfs or squashfs image similar to the X/Qt application images. I have bundled OpenOffice with a shrunk down version of Debian (minideb) to allow you to run OpenOffice just like the other X/Qt applications without using PocketWorkstation but utilising minideb as the underlying engine instead.

Installation of xqt-openoffice is similar to the installation of the other xqt cramfs/squashfs images. Simply place xqt-openoffice image into the same directory as xqt-gtk-jumbo image and run xqt-install.sh (make sure to use the latest version of xqt-install.sh)

Once the openoffice cramfs/squashfs image is mounted, you can launch it from the openoffice icon on the X/Qt tab. The openoffice icon with the X/Qt overlayed across it is the icon for the xqt-openoffice version. You can also launch it from the command line as follows:

# debrtd -x /opt/OpenOffice/soffice

debrtd is the minideb launcher. The -x option tells it to start X if its not already running, and the last argument is the full path to the openoffice launcher on the cramfs (since soffice is not in the path).

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.