The X servers derived from the X.Org Foundation code base have been updated
in Nevada build 107 from X.Org community version 1.3.0 to version 1.5.3.
This includes the Xorg, Xephyr, Xvnc, and Xvfb X servers delivered
in /usr/X11/bin.  There have also been updates to most of the associated
Xorg input & graphics driver modules for compatibility with the new release,
and in some cases, to add support for new hardware/features.

For most people, this should not affect day-to-day usage or configuration
much, however some people, especially those with custom configurations,
may notice some effects.

While we had planned on coordinated cross-consolidation putbacks to X, ON,
& SPARC graphics for this release, events conspired against us after the X
integration, and not all of the integrations were completed on schedule.   The
biggest effect of this is that Intel graphics users will not be able to use
compiz or other applications requiring 3-D acceleration until the ON putback
for CR 6773943 is complete (now targeting nv_109, since the engineers working
on it are out of the office this week for the Chinese New Year holiday week).


Graphics Driver interoperability issues:
----------------------------------------

The driver interfaces in this X.Org community release changed incompatibly
at both the API & ABI levels.   Xorg loadable modules, including drivers,
identify which ABI versions they are compatible with, so attempting to use
incompatible versions should result in simply logging an error message that
the module could not be loaded due to ABI incompatibility.   (The -ignoreABI
flag can allow modules to be loaded anyway, at the risk of actual crashes at
runtime, if a module trips over one of the incompatible changes.)

All loadable modules delivered from the X consolidation have been delivered
as Xorg 1.5 compatible modules,  including all of the X.Org community
developed drivers and extensions, and the Sun created/maintained IA
(Interactive Priority Class) and xtsol (Trusted Extensions) loadable modules.

The nvidia closed-source/accelerated driver has already been updated to a
Xorg 1.5 compatible version in both the bundled version and web downloads
of the current driver and the latest versions of the legacy drivers, but
users who try to revert to older driver versions may find they no longer work.

Users who install web-downloaded versions of the nvidia driver package may
also find they try to install /usr/X11/lib/modules/libwfb.so &
/usr/X11/lib/modules/amd64/libwfb.so as symlinks to nvidia-provided files.
Those libraries are now provided with the Xorg 1.5 server, so the attempt
to install the symlinks may fail, and may be ignored.

On SPARC systems, the kfb driver for the XVR-2500 graphics card and the
Sun OpenGL extension module have been ported to the Xorg 1.5 server, but
their build was not integrated for nv_107, so Nevada/SXCE users with
XVR-2500 graphics will need to use Xsun for this build.

The efb driver for the XVR-100 & XVR-300 graphics cards has also been
ported, and should be available in an update in the OpenSolaris IPS repo
once the OpenSolaris SPARC EA IPS repo is available.   (It will only be
delivered in OpenSolaris, and will not be integrated into Nevada/SXCE,
for reasons discussed in PSARC 2008/555.)

Users of other Xorg loadable modules will need to recompile, and
possibly modify source code to be compatible with the API changes, or
obtain new versions from someone who has.  (The only other source of
Solaris Xorg binary modules I'm aware of are VMWare and VirtualBox
guest additions.  We already provide the Xorg 1.5 compatible versions
of the VMWare video & mouse drivers in this build, since VMWare
maintains those drivers as open source modules in cooperation with the
X.Org community.  I don't know VirtualBox's schedule for providing
compatible drivers.   If anyone else knows of unbundled driver/module
providers for Solaris Xorg, please let me know.)


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 I am aware of
is in the One Laptop Per Child XO laptops, which Solaris/OpenSolaris have
not been ported to.)


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").

Unfortunately, the updates to the Solaris HAL daemon slipped from their
planned nv_107 delivery, so while the X server will be listening for HAL
hotplug events, it will not receive any until the work for CR 6778270
is integrated to a future build of the ON consolidation.   To allow the
X server to work normally until then, the AllowEmptyInput option default
has been changed back to False, and the Xorg server will continue to open
/dev/kbd & /dev/mouse using the Xorg kbd & mouse drivers automatically at
startup.


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 its default builtin list *unless* an xorg.conf lists them with the
"Disable" keyword in the module section.      The default builtin list in
this build includes:
        - extmod (most extensions)
        - dbe (Double Buffer Extension)
        - glx (OpenGL extension)
        - freetype (TrueType & PostScript font engine)
        - dri (Direct Rendering Interface)
        - ia (Interactive Process Priority control extension)
        - xtsol (Solaris Trusted Extensions extension, only activates
                if is_labeled_system() returns true)

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.   The default font path in this release is
simply "catalogue:/etc/X11/fontpath.d" which causes the font path entries
to be loaded from the links in /etc/X11/fontpath.d.

New xorg.conf options in this release:

     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.   Disabled  by  default for now.

     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.

        [The X server no longer reads/parses the color name database
         at runtime.]

     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.

        -Alan Coopersmith-           alan.coopersmith at sun.com
         Sun Microsystems, Inc. - X Window System Engineering







Reply via email to