Multi-headed X11R5 Server for NetBSD on hp300

This is how I got the X11R5 stuff to work with more than one graphics card hooked up to my HP 9000/370, running NetBSD 1.2. I can't promise it'll work with anything else.

I also haven't tried using the X11R6 clients that come with NetBSD 1.3. You may have problems since the X11R5 multi-headed server will be looking for the X11R5 libraries. I'd appreciate it if someone could let me know if this works and how to do it.

  1. Install the base X11R5 client set from ftp.netbsd.org (or a mirror). You'll need the obsolete stuff from here

  2. (This is the hard step) Acquire a second graphics card and monitor. One of your graphics cards must have enough DIP switches to set the select code above 132 (decimal) (i.e. this won't work with a mono topcat card which doesn't have enough settings).

    Initially the graphics card may be set to select code 1. Dave Carrel suggests using scode 193 (i.e. switches 1, 7, and 8 are on) for the second card and leaving the first card at scode 1. I got this to work with two color catseye cards (98550A).

  3. In /dev run ./MAKEDEV grf1. If you're running an ancient version of NetBSD (before 1.2), you'll need to configure your kernal to use more than one grf device. This would involve adding a new line to the config file saying:
    grf1 at scode?
    Then recompiling your kernal. This is not necessary on more recent kernals.

  4. Shutdown and install the second graphics card and plug in the monitor. You should get some additional lines at boot-time saying something like:
    Feb 17 21:44:44 fatmac /netbsd: topcat1 at dio0 scode 193: 1280 x 1024 256 color hi-res catseye display
    Feb 17 21:44:44 fatmac /netbsd: grf1 at topcat1
    Feb 17 21:44:45 fatmac /netbsd: ite1 at grf1
    

  5. Create a file called /usr/X11R5/lib/X11/X0screens with the following two lines which tell the server which devices to use:
    /dev/grf0
    /dev/grf1
    

  6. Install a working multi-headed X11R5 server. Alas, there is only one X server that I got to work under NetBSD. The HPUX 9.10 X11R5 server is capable of running multi-headed, but only under HPUX (I couldn't get it to work under NetBSD, I'd appreciate it if someone could let me know how I could get it to work). Here is a description of the problems I had trying to get it to work.

    That being said, you can download (536 KB) the working X11R5 server that Dave Carrel was so kind to send me a copy of. He had posted a patch to the NetBSD X11R5 server to the port-hp300 mailing list a while ago. If you so desire, you can download the source, apply the patch, and recompile the server. This patch was one of the last messages of port-hp300.0014.

  7. Copy this binary to /usr/X11R5/bin. Link X to the new binary, e.g.
    rm -f /usr/X11R5/bin/X
    ln -s XhpBSD-multi-headed X
    

  8. Enjoy (and possibly mail Dave a thank-you note for doing the hard work of figuring out how to patch the X server). Your new display will be called hostname:0.1
The only caveat (other than the fact that I have only tried this under NetBSD 1.2 using the X11R5 libraries) is that you'll get little "mouse turds" when you move the cursor from one display to the other. They disappear when the mouse is returned to that screen (but will leave on on the other screen). This will, of course, fill up your xdm-errors log file with useless messages.

Enjoy!


Last updated on 2/18/98 by Mike