14. Making Presentations Using a VGA-out PCMCIA Card

This section is experimental - there are many things I am ignorant of here, including how to deal with multiple screens in X windows. PCMCIA VGA cards have nothing to do with cardmgr - cardmgr will more or less ignore them, which is the correct thing for cardmgr to do. A page similar to this chapter on giving presentations on the iPAQ can be found HERE, with a tcl programs to give slideshows.

The compactflash VGA out cards are not supported, nor are they likely to be supported anytime soon. There is, however, a card from IO Data that is meant to work on the linux zaurus. However, that card is designed for Qtopia. But the source code for the linux driver can be downloaded from the iodata site...hint, hint, to an energetic developer...

14.1. Starting the X server

The Xipaq server from ipkgfind xserver-tiny-h3600_4.2.20030126-14_arm.ipk will work to drive a Hewlet-Packard F1252A VGA-out PCMCIA card. These cards are hard to find these days, long out of production, but they seem to appear on e-bay from time-to-time. The Colorgraphic Voyager card works too, although so poorly as to be almost unuseable; probably a server issue. Both cards have only 512K of videoram, which limits the display resolutions. The HP card has a trident chipset, while the Voyager contains a standard VGA controller, the Cirrus Logic GD5422. A description of how to compile the X server can be found Here. The XFree86 CVS source code for this driver can be found at the kdrive CVS. The presently available server binary seems to be rather limiting in its functions; more development is needed to take advantage of the video cards capabilities.

The most uptodate server binary seems to be at Xipaq, however this binary does not seem to work with the netBook. It expects the touchscreen device from the hp3600, /dev/ts, or /dev/h3600_ts, which do not exist (and don't seem to be able to be fooled into existing) so the server crashes.

If you start the X server with

Xipaq -dpi 75 -nolisten tcp -screen 640x480x8x60 -card pcmcia -screen 800x600x8x75
you will get two screens - one on the netBook's LCD and one on the external monitor. I don't know how to clone the netBook's screen to the external monitor screen. These two screens are separate - you will need to find a way to toggle between them. For example, in WindowMaker you can set an option "ScreenNextSwitchKey = XX" in the file ~/GNUstep/Defaults to set a key to toggle between screens. This could be F5 for example, if F5 were a defined key. The server also has a "-zaphod" option, which I suspect gives one the option of clicking on the X background to toggle screens. Otherwise I think that moving the mouse to the screen edge will toggle the screen, if the mouse could be made to move (see below regarding serial mouse). This driver seems to limit the number of colors to the external screen to 16 colors (not 16 bit colors, but 16 colors), however.

When you start this X server, you might get a very blue, off-color screen on your netBook. If this happens, first stop the X server, then ssh to localhost to get onto a pseudo-terminal, and then restart the X server.

You can also start the X server with

Xipaq -dpi 75 -nolisten tcp -card pcmcia -screen 800x600x8x75
(in /usr/X11R6/lib/X11/xinit/xserverrc) in which case you'll just get a single screen to the external monitor.

The F1252A VGA-out card is meant to support 1024x768 resolution, but I think the Xipaq server will only go to 800x600 - all modes in what appears to be 16 colors.

If you add the option

-mouse /dev/ttySA0
to the lines above, the X server will find and configure a serial mouse, which can be quite handy. See the section in this HOWTO on using a serial mouse, however. The mouse function for this X server appears to be a little sluggish compared to the XFree86 X server.

This Xipaq X server does not support the "Pointer_EnableKeys" extension for X windows. So if the serial mouse is not used, some other way to control the mouse must be used (FVWM apparently has mouse control through the keyboard), or a mouse free application must be used. However, once this server is running you can use xmodmap and assign the mouse buttons:

keycode 68 = Pointer_Button1
keycode 69 = Pointer_Button2
keycode XX = Pointer_Button3
This assignment does not work with the ordinary X server.

14.2. Window managers

The various window managers behave differently when there are two screens present. IceWM gives only an empty second screen, while WindowMaker gives a separate complete WindowMaker desktop, as does AfterStep. The trick is to start applications on the 2nd screen, while one is in the first screen. Obviously a careful selection of the window manager for your purposes would make working with the screens easier.

Apparently, export DISPLAY=":0.1" (rather than ":0.0") will cause applications to start on the second screen.

14.3. Slide presentations

The trick then is to find an application that will show slides (jpg, gif, png, etc.). I've had a hard time finding a useable application. xview seems to badly distort the colors, perhaps because of the 16 color limitation, and it will show only the first gif image in an animated gif file (for movies). Dillo could be used to show slides, but there is no mouse function to manage Dillo. Touch screen will be of no use here, even if it were working. But certainly with an external serial mouse pugged in there would be no problems controling the slides. Happy to hear ideas - post on the mail list.

However, the package "xzgv" seems to work rather well at displaying images, hence this application will likely work for making presentations of slides. In addition, xzgv is designed to navigate the a set of images using just the keyboard. Debian xzgv doesn't seem to display gif images (let alone animated gif imgages), however. And the 16 color limit is, well, rather limiting.