[Xorg] Xinerama backward compatibility issues

Egbert Eich eich at pdx.freedesktop.org
Wed Feb 18 10:52:13 PST 2004

I've revied 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.
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.
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.


More information about the xorg mailing list