[Xorg] Xinerama backward compatibility issues
Kaleb S. KEITHLEY
kaleb at shiman.com
Wed Feb 18 10:34:49 PST 2004
Egbert Eich wrote:
> I've reviewed the new Xinerama code on Xorg for backward
> compatibility issues with existing (and shipped) versions
> of Xinerama.
> Here are my findings:
>
> 1. The old PanoramiX C Bindings form libXinerama are gone.
> 2. The Xinerama 1.1 functions that were replaced by new ones
> are now deprecated (#ifndef XNOXINERAMABC) but still available
> and declared in the header.
> 3. XineramaSetCenterHint(), XineramaGetCenterHint(): new functions
> declared in the header but I couldn't find an implementation.
These are not in the SourceForge spec. They should be removed from the
header.
> 4. No backward compatibility on the wire protocol level. It least
> I didn't find any.
>
> To me 1. looks like a minor issue. libXinerama has not been built
> dynamically so no client should require these symbols as they
> haven't been advertised in any header (except for XPanoramiXAllocInfo()
> which is declared in panoramiXext.h).
> On the API/ABI level all required functions from Xinerama 1.1 seem
> to exist except for the ones mentioned in 1.
> Unfortunately this will not help us as libXinerama has always been
> as static library so far.
It helps in that, in the worst case scenario, all that's required is to
merely relink, rather than modify source and recompile.
> More dramatically backward compatibility on the wire protocol level
> exists neither on the client nor on the server side. This means an
> older client won't work on the Xorg server and a client built with
> the new version of libXinerama will fail on older servers.
> This may create a compatibility problem.
That's correct, no attempt has been made -- so far -- to preserve BC at
the wire protocol level. (Nobody has made the case that it needs to be,
either. Not yet anyway.)
And, FWIW, in XFree86 4.4RCx, libXinerama is now a shared library.
--
Kaleb
More information about the xorg
mailing list