From: pd@x.co.uk (Paul Davey)
Newsgroups: fj.mail-lists.x-window
Subject: Re: can an R5 client connect to R4 server?
Date: 11 Sep 92 04:10:01 GMT
Distribution: fj
Organization: IXI Ltd.

Date: 10 Sep 92 18:23:39 GMT
Message-Id: <PD.92Sep10182339@herts.x.co.uk>
Newsgroups: comp.windows.x

>>>>> On 7 Sep 92 23:56:22 GMT, tony@nexus.yorku.ca (Anthony Wallis) said:

Tony> Brian J. Murrell (brian@ilinx.wimsey.bc.ca) asks :
> Subject: Re: can an R5 client connect to R4 server?
> Well the subject says (asks) it all.  ..

Tony> Now I'm confused.  What's a "R4 server", and how would it differ
Tony> from, say, a "R3 server" or "R5 server" ?  I've recently spent
Tony> many decahours with manuals and dirty experiments achieving the
Tony> enlightened understanding that my server speaks only the X Protocol,
Tony> Major version = 11, Minor version = 0 (plus the shape extension and
Tony> XDMCP) and that all this R# icing is layered above that on the client
Tony> side library only.

Let me try to explain this:

The key X Window System standard is the X protocol - ignoring
extensions such as SHAPE (R4+) and PEX (R5+) all X programs can talk X
protocol.

X10 is now I think totally defunct - (is anybody still using it?) so
the only protocol we have is X11.

On To Releases:

MIT release client side code, eg Xlib, Xt, Xaw , xterm, xclock, xlogo
etc. and also server code Xsun, Xapollo etc. Each release implements
clients and servers of X11 protocol.

At each release internal improvements are made, Xt may get some new
functions, xterm some new options and the efficiency of both client
and server programs is typically improved.

Here's some differences between releases 4 and 5:

R4
	xterm vt100 font menu added (on control right button)

	X server implemented backing store
	X server much improved over R3 server
	X server and Xlib have *NEW* shape extension

	Xt gained a new convenience function XtAppInitialize

R5
	xterm vt100 font menu gains more options(Huge and Unreadable)

	X server improved slightly over R3 server

	X server has *NEW* PEX extension
	PEX library shipped


Excepting the *NEW* (ie extended) features all clients still speak
plain X11 protocol -

so you can display 

a R4 client on an R5 server 
a R5 client on an R3 server 

and any other combinations. We run R5 on most machines, but many
servers are R4 or even R3. (We may even have an old X terminal still
with an R2 server).

Some restrictions/caveats

Shape extension programs (eg R4+ versions of oclock/xeyes) will not
have shaped windows on pre R4 servers - they will display within a
regular rectanglular window.

PEX programs will not talk to standard R4 servers at all.

When R4 was release it was found that erors in the earlier Xlib and X
server implementations allowed *illegal* protocol requests (which had
worked quite happily at R3 on both clients and servers). To make some
R3 programs work with an R4 servers it was/is necessary to run the
server in bug compatibility mode - ie ignore those old style illegal
requests.

That is about the most incompatible item between pre R3 clients and
post R4 servers. 

None of this causes much of a problem in practice, X releases are very
backwards and forwards compatible.

(Note: there are no problems (AFAIK) between post R4
clients and pre R3 servers, although since R3 servers are much slower
than R4 or R5 everyone tries not to use them.

Tony> (Not only that, /* name drop */ Oliver Jones told me that the
Tony>  lower levels of X were very stable and not to worry about R4->R5.)

That's right, the protocol has been extended (not changed - not even
the bugs), Xlib has had some more functions added - but the core
features are now very stable. The same thing goes for Xt. (Last major
changes at R4)

--
 Regards,			  pd@x.co.uk           IXI Ltd.
	Paul Davey		  pd@ixi.uucp          62-74 Burleigh St.
				  ...!uunet!ixi!pd     Cambridge,  U.K.
 "These _are_ interesting times"  +44 223 462 131      CB1  1OJ