Subject: X11 servers
To: None <port-hp300@NetBSD.ORG>
From: Michael Wolfson <mbw@xarph.ee.cornell.edu>
List: port-hp300
Date: 08/04/1997 17:38:49
Hi folks,

I just spent some time this weekend playing with various X servers for
NetBSD, and I've got a few questions and several observations.

I've been looking for an X server that will support multi-headed operation
and not crash (I'm trying to run a CAD program from a 9000/730 that
repeatably crashes the XhpBSD server). Therefore, I dug out my HPUX tapes
[shudder] to get the X11R5 server from HPUX 9.0. 

So, here are the servers I played with:
XhpBSD		from the standerd X11R5 distribution on ftp.netbsd.org
XhpBSD030	from elba.math.uni-potsdam.de (doesn't crash as much)
XhpBSD-multi-headed	patched XhpBSD by Dave Carrel
X		from HPUX 9.0 distribution

Running x11perf on all of these I found the following:

XhpBSD, XhpBSD-multi-headed, and XhpBSD030 are all the same speed.
No major differences (aside from the XhpBSD version crashing during the
stippled rectangle test, but we knew that already).

Not only does the A1416A graphics board have the same resolution and sync
rate as the 98550A, but they are also the same performance (even under the
HPUX X server).  I'm pretty convinced they're the same thing (especially
since all the chips are in the same place and look pretty much the same).

Now for the interesting results:  The HPUX X server is notably faster on
most functions that the XhpBSD derived servers, but there are a few that
are a lot slower.  The HPUX X server is around 1.5x - 2x faster for most,
upwards of 40x faster for things like stippled rectanges.  For others
things, it's as much as 40x slower for copy operations.  

And, here's the best part:  the HPUX X server is 0.99x to 2.5x faster
under NetBSD than under HPUX 9.0!  Definitive proof that NetBSD is way
cooler than HPUX. 

I've also been able to get my 46087A HIL graphics tablet to work happily
with my 46060B HIL mouse under NetBSD with the HPUX X server, despite
failures to do so under the BSD servers.


So, here are my questions:
How do I get the HPUX X server to run multi-headed under NetBSD?  It works
fine under HPUX with both screens, but under NetBSD, it puts the second
screen on the same video card (like a virtual desktop).  It will do this
with either /dev/grf0 or /dev/grf1 showing up on the appropriate monitor
depending on which is first in the X0screens file.  It also knows enough
to crash sensibly if I specify /dev/grf2 when I don't have a third video
card.

Mike Hibler postulated the following:
>[...] maybe some incorrect info is being returned in the GRFINFO
>(or whatever it is called) ioctl for grf1.  Or there is some HP-UX call
>that is not emulated correctly (or at all).

I also have been unable to get xdm (from the X11R5 BSD package) to run
with the HPUX X server -- it starts X, doesn't open the login dialog, then
crashes after about a minute saying:  

error (pid 8531): server open failed for :0, giving up 
error (pid 8529): Display :0 cannot be opened

This is roughly the same error message returned by xinit (also from
the X11R5 BSD package):

waiting for X server to begin accepting connections .
..
..
xinit:  Connection refused (errno 61): unable to connect to X server
xinit:  No such process (errno 3):  Server error.

I am, therefore, using the HPUX xinit.

I'd like to get this server running multi-headed with xdm.
Does anyone have any suggestions?  I'm running the 1.2E snapshot on a 400s
using an A1416A as /dev/grf0 and a 98550A as /dev/grf1. 


As a backup option, does anyone know how I could get a multi-headed
version of the XhpBSD030 server?  And lastly, is there any word from the
X11R6 team?


Speaking of which, I tried to install the X11R6 clients on my system, but
just about all of the programs (I didn't try them all) fail to launch:

/usr/libexec/ld.so: Undefined symbol "_SmcSaveYourselfDone" in
<program>:/usr/X11/lib/libXt.so.6.0

This is after I have run ldconfig -m /usr/X11R6/lib/

Presumably, I've missed something here.  Does anyone have any ideas?


Thanks a lot,
  -- MW