Version 9 of zaurus

Updated 2003-06-11 07:43:32

MGS [2003/05/23] - I wanted to start a page collecting information about running Tcl/Tk on the Sharp Zaurus PDAs. In particular, I have grand designs on the newly-announced SL-C760.

http://mini.net/files/zaurus.jpg

escargo - Isn't there a slight problem since these were announced for the Japanese market[L1 ]? (The primary problem being software and hardware are for the Japanese mobile phone network.)

True, they are announced for Japan only, at least initially, although people have successfully switched the GUI (Qtopia) over to English. I am hoping to remove Qtopia completely and put on X and Tcl/Tk and all my own apps.


Framebuffer Vs X11

The Zaurus uses the framebuffer and Qt. [Add more info].


Running X11 on Zaurus

(This is not my info, just stuff off the net).

You will need X11 for the Zaurus which you can get at [L2 ].

1. Unzip zx64.zip somewhere on your Zaurus (CF, SD, etc...) 2. Install X11 for the Zaurus 3. Reboot your Z 4. Press your / on the keyboard to select the boot prompt. 5. Select A and log into your Zaurus 6. Type X to start X11

X11 on the Zaurus works great but conflicts with Qtopia over power management. Here are some solutions from Zaurus Zone's forum:

After installing X11 for the Zaurus, open the file :

  /usr/local/Xredir/etc/zapmd

and commented out

  /usr/local/bin/zapmd (just add an #at the beginning of the line).

or here is another one

1. I added a # at the beginning of each line in

  /usr/local/Xredir/etc/rc.d/init.d/ztsd

and

  /usr/local/Xredir/etc/rc.d/init.d/zapmd

2. At the beginning of /usr/local/bin/wm I added 3 lines

  /usr/local/bin/ztsd &
  /usr/local/bin/zapmd &
  sleep 2

(the sleep may not be needed, or possibly could be reduced)

3. At the end of /usr/local/bin/wm I added 2 lines

  killall zapmd
  killall ztsd

4. I was still having problems with ice's config. So I ran

  ln -s /usr/local/Xredir/usr/local/lib/x11/icewm .icewm

in /home/root (somehow icewm wasn't finding its setting at this original location)

With these settings, I can switch between qtopia and X. I drop out of Qtopia using the terminate qtopia butting in the Shutdown app.

I hit /? then 'a' during the countdown to drop to a prompt

I run: wm

after I logout of icewm, I type exit to drop back into Qtopia.


Compiling Tcl and Tk for Zaurus

[Add more info]. [Native compiling]. [Cross-compiling].


Links


Now from what I understand...If you don't want to have to drop out of QT to run a Tk application use KeyPebble. This is the software stack as I understand it Tcl/Tk - wish vncserver keypebble vncclient QT

To run this you'll need a "wish", Qtopia X11 package, a vncserver, and keypebble. I'll go do this now in OpenZaurus 3.2 and see if I cant get it working. If I do I'll post docs on how to do it.


RR I'm keenly interested in your progress. I have a Z (SL5500). I'd like to run my Tcl apps on it but I didn't think I could get Tcl to run on the Z. I'm ashamed to admit I've ported several into Java to run them.


Ok status update: 6/11/03(why doesnt everyone date their wiki entries...info does expire)

Here is some eye candy!

http://mywebpages.comcast.net/BillSaunders/ztk.jpg

This is tcl/tk running the harmony.tcl app on a Zaurus. (excuse the quality...I dont have bandwidth to waste on pretty carrots).

So what have we got here?

  • harmony.tcl <- tcl/tk script
  • wish <- yeah baby! my first X app for Zaurus
  • vncserver <- this is the X11 vncserver it runs an X11 server in memory
                      waiting for a user to connect with a vncviewer
  • keypebble <- this is the qtopia vncviewer
                      (ie connects to X11 vncserver and draws it in a qtopia window)
  • qtopia <- see its still running, ie I can run other apps above the tcl/tk stuff
  • fbvncserver <- not needed but I want to control my Z from my pc

Hmm...compiling tcl/tk was a horrible pain, I tried:

  • cross compiling (2 diff compilers) fails easily because autoconf scripts dont really like cross compiling
  • distcc this is a weird scheme to run compiles on another machine still requires a local compiler but speeds things up
  • zgcc + ipaq libs installed on an NFS mounted drive...works but can we say slow....

There are so many hacks involved in getting this to work I dont know where to start.

vncserver, zaurusX11, copied xlibs from ipaq, new sed and ar so compiling works, many unremembered links making a "normal" directory tree...

What do we need to do:

  • standardize a distribution of tcl/tk for Zaurus
  • pick a window manager for vncserver that basically only deals with full screened windows. This would make it more Qtopia like. (yes I know...dumb down X)
  • modify keypebble to
  1. Not cover the qtopia taskbar ever
  2. Not use scroll bars(lets fix the vncservers X11 screen size to Z's size - qtopias taskbar)
  3. Not use a title bar - yea we know its keypebble why waste the space telling me that
  4. possibly link the X11 window manager to keypebble to qtopia allowing each running app in X to have a button on the qtopia taskbar

Any other ideas? (I want to get sqlite running on Z+tcl/tk to get a portable sql db thats easy to use)

Email me for wants and wishes: [email protected]