Ultrix/X

Jim Gettys jg at quabbin.crl.dec.com
Thu Jan 3 15:25:24 AEST 1991


In article <BGLENDEN.91Jan2183049 at colobus.cv.nrao.edu> bglenden at colobus.cv.nrao.edu (Brian Glendenning) writes:
>
>I recently got a Decstation 3100 put on my desk (Ultrix 4.0).
>I have some questions about using it with X11.
>
>1. I'm told it is an X11R3 server that uses the X11R4 protocol - true?

Emphatically yes.  The X11 referes to PROTOCOL version of X.  The Rx
refers to release from MIT.  There have been NO protocol changes from initial
release of X11, at the wire level.  In some of the earlier releases (R1, R2)
there were often problems running applications between releases, most
often due to instability in font naming (like no
standardization of font naming in R1 days), but R1 based applications
will likely work with an R4 server, unless they happen to depend on
some bug fixed in a later release, if you have fonts of the right names
installed.

There is a minor revision # in the protocol, to potentially allow some upward
compatible changes someday in the wire protocol.  To date, R1-R5 are still
at even the same minor revision of the protocol, and we don't expect any
changes whatsoever while the standards committees do their (incredibly
slow) thing.

>2. I tried compiling twm from X11R3. It apparently compiled fine, but my
>   keystrokes never got to the application (but the border
>   highlighting did follow the pointer). What have I done wrong?

You are better off compiling twm from X11R4, in any case.  In general,
R4 applications should run just fine against R3 servers, unless they really
depend on some extension that did not exist (but this is a general statement,
in anycase.).  A tiny fraction of applications may depend on having some bug
in the server that was fixed in R4; as far as I know, Ultrix applications
all work fine against either an R3 or R4 server at this date (we had some
problems with dxcalendar, which have been fixed by fixing dxcalendar, rather
than adding more "bug compatibility" to the server).

The remaining problems with interoperability of applications come up
with applications (and/or window managers) that are not ICCCM compliant.
This did not get adopted as a standard until R4, and software that
predates the ICCCM may have problems, (I think even some clients in R4
don't conform fully), though most up to date window managers have options
to try to tolerate older, non-ICCCM compliant clients.  This mostly occurs
when running clients with window managers from other environments than
those under which the client was developed.  Hopefully, around the time
R5 comes out (and everyone's products are ICCCM compliant; remember, vendors
have typically 6-15 month lags behind MIT releases, due to their own release
schedules and testing), even these few problems will also be gone.  
I suspect this is what is happening to your R3 twm; I certainly don't see it
with the R4 twm I use every day on my machine.

We certainly aren't going to help you debug an R3 twm :-).


>3. If I want to bring up X11R4 from MIT so I can compile and run nice
>   applications not shipped with the DS.
>   a) Can I use the R4 server, and is it fast?

The R4 server on the DS3100 and DS5000 is fast, though I believe our
server is somewhat faster, particularly on less common graphics operations
(and you get the Display PostScript extension in our servers).  The R4
server does beat us on memory usage, though.  Whether you care, and which
you prefer, depends on details of your precise application mix; 
it will be anywhere from undetectable, to dramatic (in a few cases).
Your milage will definately vary.  Most of us run the DEC server here
at CRL, both for Display PostScript and the additonal performance.
But we are memory rich here; on a minimum memory configuration machine,
you'd probably be best off with an R4 server with save unders and backing
store disabled, for example.  Of course, with third party memory prices
being what they are these days (I wish our prices were at least within
spitting distance... Sigh), such machines are mercifully becoming very rare.

>   b) Can I use the DEC server with R4 clients?

Sure thing.  We do so routinely here at CRL, and tons of other places do as
well.

>   c) Any useful hints for the mechanics of doing this type of mixing.


Not particularly rocket science; the only decision you have to make is
whether you want to replace the DECwindows R3 vintage Xlib, Xt, etc libraries
with R4 ones, or have a seperate build environment.  We maintain a seperate
environment here, and courtesy of Imake, life is pretty trivial.  As to
the mechanics of doing so, build an R4 distribution (patched up to date,
please!), and if you have installed the unsupported MIT clients, you should
delete them entirely, as there is really no point in having (relatively)
buggy R3 MIT clients around at all, when you've installed R4 clients.

When building software, just make sure you build it against appropriate
sets of libraries.  While Xlib should be strictly upward compatible between
R3 and R4, and Xt is mostly upward compatible between R3 and R4, there
are enough terrors lurking in the dark corners to make this rule golden.
Then again, I'd generally recommend just using R4 libraries for any
new code you develop, but if you have some old source around, you may need
to link against old libraries if the source hasn't been updated.

But your applications will generally work just fine no
matter if they are run against an R3, R4, VMS server, or (generally) an
OpenWindows X11/NeWS server.  If they don't (and it is not something
like and ICCCM problem or the right font being installed, or lack
of an alias for a font you don't have; sure will be glad when we have 
font servers!), it is almost always the server vendor's fault, and 
you should complain bitterly.  After all, the name of the X game is 
interoperability.

>
>Thanks!
>       Brian Glendenning - National Radio Astronomy Observatory
>bglenden at nrao.edu          bglenden at nrao.bitnet          (804) 296-0286

You are welcome.  Thankfully, this whole hassle will go away in the
next release which is R4 based.  Sorry it has taken so long to get R4 out,
but the timing was exactly pessimal given the DS5000 schedules
(which required support of 4 graphics devices, all at once).
And since we had already done much of the performance work in our
server that appeared in R4 (the device independent work done by
Joel McCormack of DECWRL in our servers was given to MIT for inclusion in R4), 
the need for us to update to R4 has been much less than other vendors.
Other performance work done at MIT by Keith Packard and Bob Scheifler,
particularly in the area of memory savings, still make it more than worth
updateing our servers, however.

Thankfully, given the stability at the X protocol level, life has not
been really all that bad at all, and I've certainly been running R4 clients
on my DECwindows server from before the day R4 was announced...
				Jim Gettys
				Digital Equipment Corporation
				Cambridge Research Laboratory.

--
Digital Equipment Corporation
Cambridge Research Laboratory



More information about the Comp.unix.ultrix mailing list