Copyright (c) 2001 Sun Microsystems, Inc. All Rights Reserved.


README for Solaris XFree86 Video Drivers and Porting Kit (Binary Edition)

October 10, 2001

1. What is the Binary Edition of SolarisTM XFree86TM Video Drivers and
Porting Kit?

The Binary Edition of the Porting Kit is the collected binary output that is
derived from compiling the Source Edition of the Solaris XFree86 Video
Drivers and Porting Kit. The Binary Edition of the Porting Kit includes all
the available binary versions of the XFree86 video drivers, as well as the
binary interface ddx module (the wrapper module), required library modules,
and configuration files.

The Source Edition of the Solaris XFree86 Video Drivers and Porting Kit is
based on the freely redistributable open-source implementation of the X
Window System published by The XFree86 Project, Inc. See
http://www.xfree86.org for details.

After you install the Binary Edition of the Porting Kit, you can use
kdmconfig to select and use XFree86 video drivers just as you select and use
the video drivers that Sun Microsystems provides with the Solaris operating
environment. XFree86 video drivers appear at the end of the list of video
drivers on the Video Device Selection screen in kdmconfig. XFree86 video
drivers are prefixed with XF86- to distinguish them from the video drivers
that Sun Microsystems provides.

Note: Most XFree86 video drivers allow you to specify a 16-bit color depth
(65,536 colors). Because this feature is not fully supported by the Solaris
X Window System server, some applications might not display correctly.

The Binary Edition of the Porting Kit includes a VESA mode video driver. If
you use a system, such as a notebook computer, that includes an unsupported
video chip, you can specify the VESA driver with the mode the video chip
supports.

The XFree86 vesa(4) man page contains information about the VESA video
driver.

2. What is included with the Binary Edition of the Porting Kit?

   * Two packages: SUNWxf86u and SUNWxf86r. SUNWxf86u delivers binaries for
     the wrapper module, XFree86 video drivers, XFree86 library modules, as
     well as configuration files. All binaries are compiled from the
     MODIFIED and AUGMENTED XFree86 source code tree, version 4.0.3.
     SUNWxf86r creates the necessary links for referencing and configuring.

     Note: The XFree86 source code for the video drivers is not modified.

   * Two patches: Solaris 109401-08 and 108653-27. They modify a system on
     which Solaris 8 Intel Platform Edition is installed by:

        o Updating the Solaris X Window System server (Xsun) with a rebuilt
          version that uses XFree86 data structures, thus making the Solaris
          X Window System server compatible with XFree86 video driver
          modules. The rebuilt version of Xsun is "backwards compatible"
          with all other X Window System video drivers, libraries, and
          applications. The Solaris print server (Xprt) is likewise updated.

        o Updating kdmconfig so that you can select and configure the
          XFree86 video drivers.

     Note: If you are using Solaris 8 Intel Platform Edition or Update 1
     through Update 4 of Solaris 8 Intel Platform Edition, you must install
     patches 109401-08 and 108653-27. Otherwise, you do not need to install
     these patches.

3. How do I install and run the Binary Edition of the Porting Kit?

  1. Ensure that you are running Solaris 8 Intel Platform Edition, an Update
     of the Solaris 8 Intel Platform Edition, or Solaris 9 Intel Platform
     Edition Beta. Ensure you have an additional space of 7 MB in the /usr
     partition.

  2. Become superuser.

  3. Copy the tar file that you downloaded into an empty directory that you
     choose.

     Examples: /tmp/xf86 or /home/molly/xf86

  4. Change to the directory into which you copied the tar file:

     # cd directory_path

  5. Ensure that gunzip is available on your system.

     You can install gunzip from the Solaris 8 Companion CD, or you can
     download it from one of the mirror sites that are listed at
     http://www.gnu.org/prep/ftp.html.

  6. Uncompress and untar the file:

     # gunzip tarfile.tar.gz
     # tar xvf tarfile.tar

  7. Have you already installed the Solaris version of the XFree86 X server
     on your system?

        o If no, go to the next step.
        o If yes, remove or rename directory /usr/X11R6, and remove or
          rename any XFree86 configuration file /etc/X11/XF86Config*.

  8. Add these two packages in this exact order (order is important!):

     # pkgadd -d`pwd` SUNWxf86u
     # pkgadd -d`pwd` SUNWxf86r

     Note: If you intend to use the Binary Edition of the Porting Kit on a
     system through a remotely mounted user file system, apply SUNWxf86u to
     that remotely mounted system, and then apply SUNWxf86r to your local
     system.

  9. Are you using Solaris 8, or Solaris 8 Update 1 through Solaris 8 Update
     4?

        o If no, go to the next step. You do not need these patches. The
          changes they provide are already integrated on your system.
        o If yes, add the following patches:

          # patchadd 109401-10
          # patchadd 108653-30

          Note: You can download the latest versions of these patches from
          SunSolve.

 10. Run kdmconfig:

     # kdmconfig

 11. On the View and Edit Window System Configuration screen, select Change
     Video Device/Monitor.

 12. Press F2.

     The Video Device Selection screen is displayed.

 13. Type x.

     XFree86 video drivers are displayed. The prefix "XF86-" identifies each
     XFree86 video driver.

 14. Select the XFree86 video driver that you want.

     If you cannot find the specific XFree86 video driver that you want,
     determine the name of the vendor of your video card, select the XFree86
     video driver whose name matches the name of the vendor, and try that
     video driver to see if it works.

     If you cannot find a name that matches a vendor, or if you can but the
     XFree86 video driver that you selected does not work correctly, or if
     your video card is not supported by XFree86, version 4.0.3, select the
     XF86-VESA entry. The VESA video driver works with most graphics cards,
     although at a lower performance level.

 15. Continue to set up and configure your system with kdmconfig as you
     would with any video driver that Sun Microsystems provides with the
     Solaris operating environment.

Notes:

kdmconfig does not automatically select XFree86 drivers at this time. If you
want to use an XFree86 video driver for a graphic card that the Solaris
operating environment also supports, kdmconfig may detect it and prompt you
with the Solaris version of the video driver. In this case you have to
manually select the XFree86 video driver with the procedure given above.

Regarding monitor selection: some Plug and Play monitor files may not be
created correctly in some systems. If a problem arises with a Plug and Play
monitor that you select, try a MultiFrequency monitor entry. In using a
MultiFrequency monitor entry, the refresh rates that are obtained by XFree86
drivers are an approximation of what is offered in the associated VDA file.
Generally speaking, the higher the frequency rate that you select, the
higher the realized refresh rate will be.

XFree86 video drivers produce substantially more output than the video
drivers that Sun Microsystems provides with the Solaris operating
environment. Output from the XFree86 video drivers is directed to stderr, as
well as to file /var/log/XFree86.0.log. If you are using Common Desktop
Environment (CDE), you can also view the output in /var/dt/Xerrors.

XFree86 video drivers might offer more resolutions and color depths than are
actually supported on a particular device, most often due to a lack of video
memory. If you select a resolution that is not supported by your video
device, the XFree86 video driver automatically selects the next lower
resolution that is supported.

A virtual screen feature is supported with most of the drivers. You can
enable it in kdmconfig by selecting a Virtual Screen Resolution Selection
entry that is larger than the Resolution/Colors Selection entry.

4. What if I want to specify XFree86-specific video driver configuration
information?

In most cases, XFree86 video drivers do not require the XFree86
configuration file XF86Config. kdmconfig records all Solaris X Window System
server display configuration information in
/etc/openwin/server/etc/OWconfig. However, if you want to specify
configuration information specifically for an XFree86 driver, you can create
a supplementary XF86Config file and add the XFree86-specific configuration
information to that file.

Neither XF86Config nor the Section in which you want to specify
configuration information must be complete. You do not need to include the
Identifier field in any Section.

The example of XF86Config shown below contains only one Section that
instructs the ATI video driver not to use XFree86 acceleration code:

Section "Device"
            Driver      "ati"
            Option      "NoAccel"       "TRUE"
EndSection

In this example "NoAccel" is a Boolean option accepted by the ati driver for
supported video cards.

XF86Config takes precedence over OWconfig. If you specify configuration
information for a feature in both files on a system, the configuration
information you specify in XF86Config overrides the configuration
information in OWconfig. In this example from XF86Config:

    Section "Monitor"
                HorizSync   31.5 - 82.0
                VertRefresh 40-150
    EndSection

the horizontal and vertical frequencies override the frequencies that are
obtained from the VDA file that is specified in the monitor field in
OWconfig. (VDA files specify these frequencies.)

The location for the supplementary XF86Config is the same as in regular
XFree86 systems, i.e., /etc/X11, or other alternative paths described in
XFree86 documentation.

5. Where can I find XFree86 documentation?

The status of each XFree86 version 4.0.3 video driver is described at
http://www.xfree86.org/4.0.3/Status.html.

All XFree86 drivers, including XFree86 video drivers, are described at
http://www.xfree86.org/4.0.3/manindex4.html.

Release notes for XFree86, version 4.0.3, are located at
http://www.xfree86.org/4.0.3/RELNOTES4.html#9.

XF86Config is described at http://www.xfree86.org/4.0.3/XF86Config.5.html.
