I am sponsoring this case for the X11 Engineering Group.
It times out Friday, May 22.
This case requests a Minor Release Binding since it once again makes
incompatible changes to API & ABI for Xorg loadable modules, and removes
support for several extensions and features, which even though declared
with Volatile stability, would have to be carefully considered for a
Micro/Patch release.
-------------------------------------------------------------------------------
This case updates the Xorg server (and the associated X servers based on
its source base - Xephyr, Xvnc and /usr/X11/bin/Xvfb) in Solaris/OpenSolaris
from version 1.5 (which was included in X11R7.4, reviewed in PSARC 2009/021)
to version 1.6 (a standalone release, between X11R7.4 and X11R7.5).
Updated extension support:
--------------------------
The server implementation of these extensions has been added or updated
in this release:
- X Resize, Rotate and Reflect (RandR) 1.3
- X Input Extension 1.5
- X Generic Event Extension 1.0
Removed Interfaces
------------------
As noted in PSARC 2009/021, this release from the community drops support
for a number of interfaces that had been deprecated by the community,
including:
Xservers built on the Xorg 1.6 code base will not support these extensions:
- AppGroup
- EVI (Extended Visual Information)
- MIT-SUNDRY-NONSTANDARD
- TOG-CUP (Colormap Utilization Policy)
- XTrap
- XFree86-Misc
- XEvIE (X Event Interception Extension)
Xservers built on the Xorg 1.6 code base will not support these command-line
flags:
-bestRefresh choose modes with the best refresh rate
-co filename Use rgb color database in filename
-showunresolved (undocumented/unused)
The Xorg 1.6 code base no longer includes the sources for these programs
which we had previously shipped:
- xorgcfg [Covered by EOF of xorgcfg & xorgconfig: PSARC/2009/148]
- xorgconfig [Covered by EOF of xorgcfg & xorgconfig: PSARC/2009/148]
- Xprint [Covered by EOF of Xprint: PSARC/2009/294]
(While Xorg upstream no longer includes the kbd_mode program, we continue
to ship that, though are considering the community's position that it's
really a kernel utility, not part of the window system, and may move to
integrate it to ON in the future.)
The removal of the XFree86-MISC extension also removes these interfaces
that only affected the use of that extension:
xorg.conf options:
- AllowNonLocalModInDev
This allows a client to connect from another host and change keyboard
and mouse settings in the running server.
- DisableModInDev
This disables the parts of the XFree86-Misc extension that can be used to
modify the input device settings dynamically.
- AllowDeactivateGrabs
This option enables the use of the Ctrl+Alt+Keypad-Divide
key sequence to deactivate any active keyboard and mouse grabs.
- AllowClosedownGrabs
This option enables the use of the Ctrl+Alt+Keypad-Multiply
key sequence to kill clients with an active keyboard or mouse grab as well
as killing any application that may have locked the server, normally using
the XGrabServer(3) Xlib function.
Xorg server command line options:
-allowNonLocalModInDev same as xorg.conf option above
-disableModInDev same as xorg.conf option above
Loadable Module Interfaces:
---------------------------
This release includes incompatible changes in several of the Xorg loadable
module API/ABI's. The version numbers of the ABI's have had their major
number incremented to reflect this, and modules reporting they require a
different version number will not be loaded unless the -ignoreABI option is
used. (Modules can also check ABI versions themselves, and choose which
function variant to call or structure variant to access, based on the reported
versions - this is the option used by nvidia's closed source driver for
instance.)
ABI versions in this release, compared to the previously shipped Xorg 1.5:
ABI Name: 1.3: 1.5:
ABI_ANSIC_VERSION 0.4 0.4
ABI_VIDEODRV_VERSION 4.1 5.0
ABI_XINPUT_VERSION 2.1 4.0
ABI_EXTENSION_VERSION 1.1 2.0
ABI_FONT_VERSION 0.6 0.6
(Major number increments represent incompatible change, minor number
increments represent compatible additions. ABI numbers may increment
multiple times during Xorg server minor version development cycles, to
track changes for those following the head of the development stream.)
The changes that resulted in these version number bumps include:
- Updates to the new version of the "devPrivates" mechanism used by device
drivers, extensions, and other modules to allocate a private field in
common data structures such as pixmaps, graphics contexts, windows, and
other X server resources.
- Removal of deprecated software rendering libraries such as libcfb
(Color Frame Buffer).
- Addition of device arguments to input device & event API's in preparation
for Multi-Pointer X changes in a future Xorg release, and better support
of X Input extension devices in the current release.
All modules built & delivered in the X consolidation have been updated to
adjust to these changes, including all of the community-developed drivers
and extensions, and the Sun created/maintained IA (Interactive Priority
Class) and xtsol (Trusted Extensions) loadable modules.
The recently merged X and SPARC graphics teams are working on updates to
the drivers delivered through the SPARC graphics consolidation, which are
planned for delivery in coordination with the Xorg 1.6 delivery.
Nvidia tracks the open source community ABI changes for their Xorg driver
for all supported platforms (Solaris, Linux & BSD), and the version integrated
into Nevada and OpenSolaris already supports the Xorg 1.6 release ABI's.
VirtualBox's guest addition drivers will need updates for this, as they
do for the BSD & Linux distros which have already or are also working on
adopting Xorg 1.6. VirtualBox typically delivers these drivers via updates
to their application - until those updates are delivered, VirtualBox users
may use the default mouse and Vesa drivers, though with reduced performance
and functionality compared to VirtualBox guest drivers.
We are not aware of any other consumers of these Volatile ABI's which would
need to be updated in coordination.
Input drivers removed:
----------------------
The incompatible changes to input driver API & ABI required updates to most
input drivers. Since a number of drivers for old input devices were
unmaintained, and had not had any reports of usage in several years, the
community chose to discontinue those drivers instead of porting to the
new API. (The driver sources remain available upstream should anyone
with sufficient interest in such hardware wish to complete the port and
revive it.)
These input drivers are thus no longer provided with Xorg and are removed
from this release:
xf86-input-calcomp
xf86-input-digitaledge
xf86-input-dmc
xf86-input-dynapro
xf86-input-jamstudio
xf86-input-magellan
xf86-input-microtouch
xf86-input-palmax
xf86-input-spaceorb
xf86-input-summa
xf86-input-tek4957
Other Added Interfaces:
-----------------------
The Xorg server now supports these new command line options:
-showopts
For each driver module installed, print out the list of options
and their argument types.
-------------------------------------------------------------------------------
Imported Interfaces:
--------------------
Xorg server 1.5 <various> PSARC 2009/021
Interfaces listed under
"Removed Interfaces" Obsolete Volatile PSARC 2009/021
RandR extension 1.3 Volatile PSARC 2009/269
Xinput extension 1.5 Committed PSARC 2009/303
X Generic Event Extension (XGE) 1.0 Committed PSARC 2009/293
Exported Interfaces:
--------------------
Interfaces listed under "Removed Interfaces" Removed
Removed input drivers Removed
New Xorg module ABI's listed above Volatile
New Xorg command line options listed above Volatile
--
-Alan Coopersmith- alan.coopersmith at sun.com
Sun Microsystems, Inc. - X Window System Engineering