Breaking the X module ABI in 7.0 ?

Roland Mainz roland.mainz at nrubsig.org
Sat Apr 9 10:08:34 EST 2005


Hi!

----

For X.org 6.9 / 7.0 it may be a nice idea to think about breaking the
existing Xserver module ABI driver interface.  There is lots of crap
hanging around in the tree, both Xserver DIX, the DDX and the Xfree86
module ABI. Given that Xorg is now switching from the elfloader to the
dlloader we might be able to take advantage of that and bring forward
some of those changes which may be neccesary for the future of X.

Some arguments (some stolen from Ian Romanick <idr at us.ibm.com>'s
"Proprosed break in libGL / DRI driver ABI" posting)
- A major release is a logical time to make breaks like this.

- Bit rot.  Sure, we /assume/ Xserver DIX and the Xfree86 drivers still
actually  work with older versions, but how often does it actually get
tested?

- There are a couple of old limits such as |MAXSCREENS| which bite users
from time to time when they hit such a hardcoded limit.

- Other things are limits from the original X core protocol like the
issue that |VisualRec| in xc/programs/Xserver/include/scrnintstr.h
defines |ColormapEntries| as |signed short| (instead of |unsigned long|)
which will prevent further enhanchments in this area (such as a
XC-BIGCOLORMAP extension to get rid of the 15bit limit for Pseudocolor
(which itself limits the usage of such stuff for ICC)).

- A couple of things are broken by design and should be
reworked/replaced (the |monitorResolution| variable comes in mind which
is used in Xvfb and some loadable drivers to set the screen resolution,
however it is _one_ variable to set both X- and Y-DPI at the same time,
ignoring the issue that on some displays the X- and Y- resolutions may
differ)

So far I have two requests here:
1. Can people list things here which should be fixed/changed when the X
module ABI gets "broken" (actually we're already breaking it with the
switch from the elfloader-->dlloader) ?
2. Would it be possible to break the existing ABI and start from scratch
with a new one ?

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)


More information about the xorg-arch mailing list