I would say if the Linux kernel has been changed, then you could probably boot with an older kernel just for the purpose of using the Linux version of the FW drivers. In that scenario, you could potentially use the same partitions you already have for your install. Alternatively, perhaps you could build a lite version that would boot on a floppy, CD, or USB stick. In either scenario, I am sure there would be multiple forum users who would appreciate the opportunity to copy or download your work, so if you are capable of doing something like that, be sure to post back here and possibly post the files on the main page.

Download KNOPPIX_V3.3-2004-02-16-EN.iso. This is *very* hard to find. The important piece of magic is that it is running a 2.4 generation kernel (2.4.24-xfs, in particular). Knoppix 3.4 is too recent.

Download setupfw160.bin. Get the one with Java in it.

Create a "disk": tar cf fw.tar setup160fw.bin /bin/bash <-- The /bin/bash is in there to pad out the file, as only full 4K pages will be mapped when we use this as a disk. I don't know if that is necessary or not.

Figure out the USB device ID: lsusb. You are looking for two four-digit hex numbers, the first of which is 0e97. For example, my TouchStream ST/LP is 0e97:090b

Notes on the above:
You probably don't need to use the 64bit qemu
-m 2048: 2GB RAM. Way more than necessary.
-hda fw.tar: you can instead set up networking

After X has started in the VM, you should be able to interact with the VM using the Fingerworks keyboard. The Fingerworks Keyboard will *not* work in the host anymore - So make sure you have another keyboard/mouse!

In the VM: sudo tar xvf /dev/hda

In the VM: chmod a+x setupfw160.bin

In the VM: ./setupfw160.bin. Install to the default location. Use the Java provided by the Fingerworks installer, not the system one.

In the VM: ./FingerWorks/MultiTouch_Utilities

Configure!!!

After shutting down the VM, you will have to re-plug the Fingerworks keyboard to get it to be re-recognised by the host O/S.

If you want to copy an .xml file into the system, add in into your tarball *before* the /bin/bash.

If you decide to set up the VM with Networking, you can of course copy setupfw160.bin that way, instead of creating the tarball and using "-hda fw.tar".

I have not worked out a way to copy a modified .xml file out of the VM - I haven't needed to yet - but it shouldn't be hard. Some method of dumping it back out over /dev/hda would be the easiest, assuming that you, like me, didn't want the hassle if dealing with networking.

At the time of my previous post, I had only used the Diagnostics tool, and the feature selector.

Turns out a little bit more is necessary to upgrade the firmware, or to upload a custom gesture set.

To do these operations, the keyboard has to enter a configuration mode - which it turns out means disconnecting from the host, and then reconnecting *with a different ID*.

So, firstly you need to discover the new ID. In the VM, attempt a firmware upgrade, or to update the gesture set. This operation will fail.

In the host, run lsusb again to find the new ID. For my ST/LP, it was 0e97:0900.

If you started your VM with a way to access the monitor (QEMU's control interface - i.e. "qemu ... -monitor stdio") then you can issue the command "usb_add host:0e97:0900". Otherwise you will need to quit the VM, and start it again with the extra options "-usbdevice host:0e97:0900"

You will need to disconnect and reconnect the Fingerworks device (it is still in configuration mode).

Now you can try the upgrade or gesture update again, and this time it should work!