+1. -- Garrett
Alan Coopersmith wrote: > I am sponsoring this case for the X11 Engineering Group. > It times out Wednesday, January 21 (allowing an extra day for the long > holiday weekend in the US). > > ------------------------------------------------------------------------------- > > Template Version: @(#)sac_nextcase %I% %G% SMI > This information is Copyright 2009 Sun Microsystems > 1. Introduction > 1.1. Project/Component Working Name: > Xorg server 1.5 > 1.2. Name of Document Author/Supplier: > Author: Alan Coopersmith > 1.3 Date of This Document: > 13 January, 2009 > 4. Technical Description > > This case updates the Xorg server (and the associated X servers based on > its source base - Xephyr, Xvnc and /usr/X11/bin/Xvfb) from > version 1.3 (which was a standalone release, between X11R7.2 and X11R7.3, > covered in PSARC 2007/434), to version 1.5.3 (a bugfix update to the > version 1.5 included in X11R7.4). > > This case requests a Minor Release Binding, since it depends on interfaces > from PSARC 2005/399, which has a Minor Release binding. This case also > introduces incompatible API & ABI for Xorg loadable modules, which would have > to be carefully considered for a Micro/Patch release. > > Input Device configuration and hotplugging: > ------------------------------------------- > > This version of Xorg converts from a static input device configuration > either loaded from an xorg.conf file or from probing devices at startup, > to dynamic configuration. At startup Xorg registers with HAL, and > configures input devices based on HAL configurations, including adding > new devices as they are hotplugged. > > Each device is tracked as a separate device via the X Input Extension, > including keeping per-device XKB keyboard layout information. Keyboards > and mice default to also being coalesced into the virtual core keyboard > and pointer devices. Configuration options may be set in the HAL fdi > files in /etc/hal/fdi/. The default configuration will be delivered in > the file /etc/hal/fdi/preprobe/10osvendor/10-x11-input.fdi . > > More information on this new system can be found at: > https://wiki.ubuntu.com/X/Config/Input#Input%20Configuration%20with%20HAL > http://who-t.blogspot.com/2008/07/input-configuration-in-nutshell.html > though those resources are Linux-centric, and refer to different drivers > than used on Solaris ("evdev" instead of "kbd" & "mouse"). > > Other xorg.conf configuration changes: > -------------------------------------- > > Previously, if an xorg.conf was present, it had to list all modules to be > loaded at runtime in the "Module" section. Xorg will now load all modules > in it's default builtin list *unless* an xorg.conf lists them with the > "Disable" keyword in the module section. > > Previously, if an xorg.conf was present, it had to list all entries to be > included in the default font path in the "Paths" section. Xorg will now > include the entries from its default font path in the font path *unless* > an xorg.conf sets the "UseDefaultFontPath" option to true and specifies > its own font path. > > New xorg.conf options in this release: > ported in this release, these interfaces/features have been > removed in the next release of the Xorg server, so are declared Obsolete at > this time. (The Xorg 1.6 release from the community is currently in beta, > with release expected within a month, so there may not be much time before > a removal case comes forward for these, depending on how the community release > date aligns with the OpenSolaris.Next release schedule.) > > Option "GlxVisuals" "string" > This option controls how many GLX visuals the GLX > modules sets up. The default value is typical, which > will setup up a typical subset of the GLXFBConfigs > provided by the driver as GLX visuals. Other options > are minimal, which will set up the minimal set > allowed by the GLX specification and all which will > setup GLX visuals for all GLXFBConfigs. > > Option "UseDefaultFontPath" "boolean" > Include the default font path even if other paths are > specified in xorg.conf. If enabled, other font paths > are included as well. Enabled by default. > > Option "AllowEmptyInput" "boolean" > If enabled, don't add the standard keyboard and mouse > drivers, if there are no input devices in the config > file. Enabled by default if AutoAddDevices and > AutoEnableDevices is enabled, otherwise disabled. If > AllowEmptyInput is on, devices using the kbd or mouse > driver are ignored. > > Option "AutoAddDevices" "boolean" > If this option is disabled, then no devices will be > added from HAL events. Enabled by default. > > Option "AutoEnableDevices" "boolean" > If this option is disabled, then the devices will be > added (and the DevicePresenceNotify event sent), but > not enabled, thus leaving policy up to the client. > Enabled by default. > > These xorg.conf options are no longer supported in this release: > > RGBPath "path" > sets the path name for the RGB color database. When > this entry is not specified in the config file, the > server falls back to the compiled-in default RGB > path, which is: > /usr/X11/share/X11/rgb > > Option "VTInit" "command" > Runs command after the VT used by the server has been > opened. The command string is passed to "/bin/sh > -c", and is run with the real user's id with stdin > and stdout set to the VT. The purpose of this option > is to allow system dependent VT initialisation com- > mands to be run. This option should rarely be > needed. Default: not set. > > [Has never been supported on Solaris, since VT support has not > yet been integrated to Solaris Xorg server.] > > If specified in an xorg.conf, a warning is logged, but the X server > will continue to run. > > 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.3: > ABI Name: 1.3: 1.5: > ABI_ANSIC_VERSION 0.3 0.4 > ABI_VIDEODRV_VERSION 1.2 4.1 > ABI_XINPUT_VERSION 0.7 2.1 > ABI_EXTENSION_VERSION 0.3 1.1 > ABI_FONT_VERSION 0.5 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: > - Replacing the X server's internal access permission checking with > a much more fine-grained permission checking system, contributed by > the NSA as part of their SELinux project. > - A 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. > - Replacement of the X server's own PCI bus access code with use of the > libpciaccess code for probing devices, and reading/writing to device > registers and memory. > > 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 X team has worked with the SPARC graphics team to help them produce > updates to their drivers, which are planned for delivery in coordination > with the Xorg 1.5 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 already supports the Xorg 1.5 release ABI's. > > We are not aware of any other consumers of these Volatile ABI's which would > need to be updated in coordination. > > Driver changes: > --------------- > > The "via" driver has been replaced by the "openchrome" driver, as X.Org > has abandoned maintenance of the original via driver and recommends use > of the openchrome fork of the driver. > > The "vga" driver has been removed. "vesa" should still cover fallback for > all devices which can still reasonably be used which do not have their own > driver. > > The "nsc" and "cyrix" drivers for previous generations of the NSC/Cyrix/AMD > Geode embeded chipset have been removed as they were not ported by > the community to the new interfaces. The replacement "geode" driver is not > provided as it has not yet been ported to Solaris. (The most common use of > this chipset in a semi-traditional computer enviroment that we are aware of > is in the One Laptop Per Child XO laptops, which Solaris/OpenSolaris have > not been ported to.) > > Other Added Interfaces: > ----------------------- > > The Xorg server now supports these new command line options: > > -modalias output a list of devices supported by each driver > module > in the format of the Linux modalias command > > Removed Interfaces: > ------------------- > These command-line options are no longer supported in this release: > > -scanpci scan the PCI bus and print information about each device > [Use /usr/bin/scanpci instead.] > > -sp filename provide a policy file for use by the XC-SECURITY extension > > These extensions are no longer supported by the X server in this release: > > LG3D support for the Project Looking Glass 3-D research project > > Obsolete Interfaces: > -------------------- > > While still supported in this release, these interfaces/features have been > removed in the next release of the Xorg server, so are declared Obsolete at > this time. (The Xorg 1.6 release from the community is currently in beta, > with release expected within a month, so there may not be much time before > a removal case comes forward for these, depending on how the community release > date aligns with the OpenSolaris.Next release schedule.) > > 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) > > > ------------------------------------------------------------------------------- > > Imported Interfaces: > -------------------- > libmd (SHA1 routines) Stable PSARC 2005/426 > libhal Volatile PSARC 2005/399 > /etc/hal/fdi Volatile PSARC 2005/399 > libdbus Volatile LSARC 2006/368 > libpciaccess Volatile PSARC 2008/638 > libpixman-1 Volatile LSARC 2008/637 > > Exported Interfaces: > -------------------- > Xorg -modalias command line option Volatile > New xorg.conf options listed above Volatile [1] > New Xorg module ABI's listed above Volatile > Interfaces listed under "Obsolete Interfaces" Obsolete Volatile > > References in case materials directory: > > [1] xorg.conf.man.txt: xorg.conf(4) man page from Xorg 1.5.3 > > > 6. Resources and Schedule > 6.4. Steering Committee requested information > 6.4.1. Consolidation C-team Name: > X > 6.5. ARC review type: FastTrack > 6.6. ARC Exposure: open > >