home *** CD-ROM | disk | FTP | other *** search
/ PCMania 8 / PCM8.iso / XFREE86 / Linux-ix86-glibc20 / RELNOTES < prev    next >
Encoding:
Text File  |  2000-05-08  |  46.1 KB  |  1,046 lines

  1.                       Release Notes for XFree86[tm] 4.0
  2.  
  3.                           The XFree86 Project, Inc
  4.  
  5.                                 7 March 2000
  6.  
  7.                                   Abstract
  8.  
  9.      This document contains some information about the features present
  10.      in XFree86 4.0 and their status.
  11.  
  12. 1.  Introduction
  13.  
  14. XFree86 4.0 is the first official release of the new XFree86 4.  XFree86 4
  15. represents a significant redesign of the XFree86 X server.  It is very impor-
  16. tant to keep in mind that XFree86 4 is still very much in development, and it
  17. contains a lot of new work.  That means two things: there is a lot of new
  18. exciting stuff to try, but being new code, it hasn't had nearly as much of a
  19. workout as the stable 3.3.x releases.  If you're looking for a well-tested,
  20. stable release, and can't afford the inconveniences that new software can
  21. sometimes cause, then you are probably better off sticking with the 3.3.x
  22. releases for now.  If you have the resources to try out the new version and
  23. investigate its features, or if you just like being on the bleeding edge,
  24. then please try 4.0!
  25.  
  26. This release isn't quite as complete as we would have liked.  The main miss-
  27. ing pieces are a nice configuration tool and support for some of the hardware
  28. that 3.3.x supports.  The first point means that configuring the server might
  29. be more painful than usual.  The second means that your hardware might not be
  30. supported by 4.0, or it might be supported at a lesser level (conversely,
  31. some hardware is better supported in 4.0).  We've attempted to provide some
  32. information about the second point in our Driver Status document.  Please
  33. check there first before trying 4.0.  Unfortunately that document is still
  34. fairly basic, but it should at least give you an idea of whether you're
  35. likely to be able to use 4.0 at all or not.
  36.  
  37. On the subject of configuration, we have updated the basic text-based tool
  38. "xf86config" to generate config files in the format required by 4.0 (3.3.x
  39. config files won't really work with 4.0).  We're also working on some other
  40. configuration tools, including one that is built-in to the X server.  An
  41. early version of this is included in the release, and it works well for some
  42. hardware.  To try it out, just run (as root) "XFree86 -configure".  Both of
  43. these configuration options will at worst give you a reasonable starting
  44. point for a suitable configuration file.  We've put some effort into docu-
  45. menting the 4.0 config file format, and you can find that information in the
  46. XF86Config manual page.  Please check that and the driver manual pages and
  47. related documentation for further information about that.
  48.  
  49. Oh, another thing you might notice is that our documentation is rather
  50. patchy.  Most of what is present should be in reasonable shape, but there are
  51. gaps.  We thought it better to leave out docs that were very out of date
  52. rather than providing inaccurate and misleading information.
  53.  
  54. Finally, before you download and install the binary distributions for this
  55. release, please have a quick read through the Installation Document.  It may
  56. save you some time.
  57.  
  58. If those cautionary notes haven't turned you away (and we certainly hope
  59. not), please read on...  The sections below describe some of the new features
  60. and changes between 3.3.x and 4.0.  There is a lot of new stuff, and we defi-
  61. nitely don't have enough space to cover it all here.
  62.  
  63. 2.  X server
  64.  
  65. Unlike XFree86 3.3.x where there are multiple X server binaries, each of
  66. which drive different hardware, XFree86 4.0 has a single X server binary
  67. called XFree86.  This binary can either have one or more video drivers linked
  68. in statically, or, more usually, dynamically load the video drivers and other
  69. modules that are needed.
  70.  
  71. XFree86 4.0 has X server support for most UNIX(R) and UNIX-like operating
  72. systems on Intel/x86 platforms, plus support for Linux on Alpha and PowerPC
  73. platforms.  Work on support for additional architectures and operating sys-
  74. tems is in progress, and is planned for future releases.
  75.  
  76. 2.1  Loader and Modules
  77.  
  78. The XFree86 X server has a built-in run-time loader, donated by Metro Link
  79. <URL:http://www.metrolink.com>.  This loader can load normal object files and
  80. libraries in most of the commonly used formats.  Since the loader doesn't
  81. rely on an operating system's native dynamic loader support, it works on
  82. platforms that don't provide this feature, and makes it possible for the mod-
  83. ules to be operating system independent (although not, of course, independent
  84. of CPU architecture).  This means that, for example, a module compiled on
  85. Linux/x86 can be loaded by an X server running on Solaris/x86, or FreeBSD, or
  86. even OS/2.  One of the main benefits of this is that when modules are
  87. updated, they don't need to be recompiled for each different operating sys-
  88. tem.  We're planning to take advantage of this to provide more frequent
  89. driver module updates in between major releases.
  90.  
  91. The loader in version 4.0 has support for Intel (x86), Alpha and PowerPC
  92. platforms.  It also has preliminary support for Sparc platforms but this
  93. isn't used yet.
  94.  
  95. The X server makes use of modules for video drivers, X server extensions,
  96. font rasterisers, input device drivers, framebuffer layers (like mfb, cfb,
  97. etc), and internal components used by some drivers (like XAA),
  98.  
  99. The module interfaces (API and ABI) used in this release is still subject to
  100. change without notice.  While we'll attempt to provide backward compatibility
  101. for the module interfaces as of the 4.0 release (meaning that 4.0 modules
  102. will work with future core X server binaries), we can't guarantee that this
  103. will be the case.  We are planning to fully document and stabilise the module
  104. interfaces in a future release, and at that point backward compatibility will
  105. be easier to achieve.
  106.  
  107. Note about module security
  108.  
  109.      The XFree86 X server runs with root privileges, which means that
  110.      the X server loadable modules also run with these privileges.  For
  111.      this reason we recommend that all users be careful to only use
  112.      loadable modules from reliable sources.  We hope to have a mecha-
  113.      nism for signing/verifying the modules that we provide available in
  114.      a future release.
  115.  
  116. 2.2  Configuration File
  117.  
  118. The X server configuration file format has been extended to handle some of
  119. the new functionality.  The xf86config utility can be used to generate a
  120. basic config file, that may require some manual editing.  The X server also
  121. has preliminary support for generating a basic config file.  This is done by
  122. running (as root) "XFree86 -configure".  Alternatively, the sample config
  123. file XF86Config.eg that is installed in /usr/X11R6/lib/X11 may be used as a
  124. starting point.  The XF86Setup utility is currently not usable, but work is
  125. continuing in this area.
  126.  
  127. The main changes are covered here, but please refer to the XF86Config manual
  128. page for more comprehensive information:
  129.  
  130.    o The Module section is used to load server extension modules and font
  131.      modules, but not XInput drivers.  The .so suffix should no longer be
  132.      specified with module names.  Options may be supplied for modules by
  133.      loading the module via a SubSection instead of the usual Load keyword.
  134.      The bitmap module is the only font module that is loaded by default.  No
  135.      server extensions are loaded by default, but some are built-in to the
  136.      server.  It is strongly recommended that the extension module containing
  137.      a range of small miscellaneous extensions (extmod) be loaded because
  138.      some commonly used things won't work correctly without it.  The follow-
  139.      ing example shows how to load all the server extensions plus the Type1
  140.      and TrueType fonts support, and a commented example that shows how to
  141.      pass options to an extension (this one is for loading the misc exten-
  142.      sions (extmod) with the XFree86-VidModeExtension disabled):
  143.  
  144.                Section "Module"
  145.  
  146.                    Load "dbe"
  147.                    Load "record"
  148.                    Load "glx"
  149.                    Load "pex5"
  150.                    Load "xie"
  151.                    Load "extmod"
  152.  
  153.                    Load "type1"
  154.                    Load "freetype"
  155.  
  156.                  # SubSection "extmod"
  157.                  #     Option "Omit XFree86-VidModeExtension"
  158.                  # EndSubSection
  159.  
  160.                EndSection
  161.  
  162.    o Option flags have been extended and are now used more widely in the con-
  163.      fig file.  Options flags come in two main types.  The first type is
  164.      exactly like the old form:
  165.  
  166.                    Option "name"
  167.  
  168.      where the option just has a name specified.  The name is case insensi-
  169.      tive, and white space and underscore characters are ignored.  The second
  170.      type consists of a name and a value:
  171.  
  172.                    Option "name" "value"
  173.  
  174.      The value is passed transparently as a string to the code that uses the
  175.      option.  Common value formats are integer, boolean, real, string and
  176.      frequency.  The following boolean option values are recognised as mean-
  177.      ing TRUE: "true", "yes", "on", "1", and no value.  The values recognised
  178.      as FALSE are "false", "no", "off", "0".  In addition to this, "no" may
  179.      be prepended to the name of a boolean option to indicate that it is
  180.      false.  Frequency options can have the strings Hz, kHz, or MHz appended
  181.      to the numerical value specified.
  182.  
  183.      Note: the value must always be enclosed in double quotes ("), even when
  184.      it is numerical.
  185.  
  186.    o The ServerFlags section now accepts its parameters as Options instead of
  187.      as special keywords.  The older keyword format is still recognised for
  188.      compatibility purposes, but is deprecated and support for it will likely
  189.      be dropped in a future release.  The DPMS and screen save timeout values
  190.      are now specified in the ServerFlags section rather than elsewhere
  191.      (because they are global parameters, not screen-specific).  This example
  192.      shows the defaults for these:
  193.  
  194.                    Option "blank time"    "10"
  195.                    Option "standby time"  "20"
  196.                    Option "suspend time"  "30"
  197.                    Option "off time"      "40"
  198.  
  199.    o The Keyboard, Pointer and XInput sections have been replaced by a more
  200.      general InputDevice section.  The old Keyboard and Pointer sections are
  201.      still recognised for compatibility purposes, but they are deprecated and
  202.      support for them may be dropped in future releases.  The old XInput sec-
  203.      tions are no longer recognised.  The keywords from the old sections are
  204.      expressed as Options in the InputDevice sections.  The following example
  205.      shows typical InputDevice sections for the core mouse and keyboard.
  206.  
  207.                Section "InputDevice"
  208.                    Identifier  "Keyboard 1"
  209.                    Driver      "keyboard"
  210.                    Option      "AutoRepeat" "500 5"
  211.                    Option      "XkbModel"   "pc104"
  212.                    Option      "XkbLayout"  "us"
  213.                EndSection
  214.  
  215.                Section "InputDevice"
  216.                    Identifier  "Mouse 1"
  217.                    Driver      "mouse"
  218.                    Option      "Protocol"   "PS/2"
  219.                    Option      "Device"     "/dev/mouse"
  220.                    Option     "SampleRate" "80"
  221.                EndSection
  222.  
  223.    o The Monitor section is mostly unchanged.  The main difference is that a
  224.      set of VESA modes is defined internally in the server, and so for most
  225.      monitors, it isn't necessary to specify any modes explicitly in the Mon-
  226.      itor section.  There is also a new Modes section that can be used to
  227.      define a set of modes separately from the Monitor section, and the Moni-
  228.      tor section may "include" them with the "UseModes" keyword.  The Monitor
  229.      section may also include Options.  Options that are monitor-specific,
  230.      like the "DPMS" and "Sync on Green" options are best specified in the
  231.      Monitor sections.
  232.  
  233.    o The Device sections are mostly unchanged.  The main difference is the
  234.      new (and mandatory) Driver keyword that specifies which video driver
  235.      should be loaded to drive the video card.  Another difference is the
  236.      BusID keyword that is used to specify which of possibly multiple video
  237.      cards the Device section is for.  The following is an example for a
  238.      Matrox card:
  239.  
  240.                Section "Device"
  241.                    Identifier "MGA 1"
  242.                    Driver     "mga"
  243.                    BusID      "PCI:1:0:0"
  244.                    Option     "PCI Retry"
  245.                EndSection
  246.  
  247.    o The Screen sections are mostly unchanged.  The old Driver keyword is no
  248.      longer used, and a mandatory Identifier keyword has been added.  The
  249.      DefaultColorDepth keyword has been renamed to DefaultDepth.
  250.  
  251.    o A new section called ServerLayout has been added to allow the layout of
  252.      the screens and the selection of input devices to be specified.  The
  253.      ServerLayout sections may also include options that are normally found
  254.      in the ServerFlags section.  Multiple ServerLayout sections may be pre-
  255.      sent, and selected from the command line.  The following example shows a
  256.      ServerLayout section for a dual-headed configuration with two Matrox
  257.      cards, and two mice:
  258.  
  259.                Section "ServerLayout"
  260.                    Identifier  "Layout 1"
  261.                    Screen      "MGA 1"
  262.                    Screen      "MGA 2" RightOf "MGA 1"
  263.                    InputDevice "Keyboard 1" "CoreKeyboard"
  264.                    InputDevice "Mouse 1"    "CorePointer"
  265.                    InputDevice "Mouse 2"    "SendCoreEvents"
  266.                    Option      "BlankTime"  "5"
  267.                EndSection
  268.  
  269.      See the XF86Config man page for a more detailed explanation of the for-
  270.      mat of the new ServerLayout section.
  271.  
  272. The config file search patch has been extended, with the directories /etc/X11
  273. and /usr/X11R6/etc/X11 being added.  The full search path details are docu-
  274. mented in the XF86Config manual page.
  275.  
  276. 2.3  Command Line Options
  277.  
  278. The following new X server command line options have been added:
  279.  
  280.      -depth n
  281.  
  282.           This specifies the colour depth that the server is run-
  283.           ning at.  The default is 8 for most drivers.  Most
  284.           drivers support the values 8, 15, 16 and 24.  Some
  285.           drivers also support the values 1 and 4.  Some drivers
  286.           may also support other depths.  Note that the depth is
  287.           different from the ``bpp'' that was specified with previ-
  288.           ous versions.  The depth is the number of bits in each
  289.           pixel that are significant in determining the pixel's
  290.           value.  The bpp is the total size occupied by each pixel,
  291.           including bits that are not used.  The old -bpp option is
  292.           no longer recognised because it isn't a good way of spec-
  293.           ifying the server behaviour.
  294.  
  295.      -fbbpp n
  296.  
  297.           This specifies the bpp format to use for the framebuffer.
  298.           This may be used in 24-bit mode to force a framebuffer
  299.           format that is different from what the driver chooses by
  300.           default.  In most cases there should be no need to use
  301.           this option.
  302.  
  303.      -pixmap24
  304.  
  305.           This specifies that the client-side pixmap format should
  306.           be the packed 24-bit format that was often used by the
  307.           3.3.x servers.  The default is the more common 32-bit
  308.           format.  There should normally be no need to use this
  309.           option.
  310.  
  311.      -pixmap32
  312.  
  313.           This specifies that the client-side pixmap format should
  314.           be the sparse 32-bit format.  This is the default, so
  315.           there should normally be no need to use this option.
  316.  
  317.      -layout name
  318.  
  319.           This specifies which ServerLayout section in the config
  320.           file to use.  When this option is not specified, the
  321.           first ServerLayout section is used.  When there is no
  322.           ServerLayout section, the first Screen section is used.
  323.  
  324.      -screen name
  325.  
  326.           This specifies which Screen section in the config file to
  327.           use.  When this option is not specified, the first
  328.           ServerLayout section is used.  When there is no Server-
  329.           Layout section, the first Screen section is used.
  330.  
  331.      -keyboard name
  332.  
  333.           This specifies which InputDevice section in the config
  334.           file to use for the core keyboard.  This option may be
  335.           used in conjunction with the -screen option.
  336.  
  337.      -pointer name
  338.  
  339.           This specifies which InputDevice section in the config
  340.           file to use for the core pointer.  This option may be
  341.           used in conjunction with the -screen option.
  342.  
  343.      -modulepath path
  344.  
  345.           This specifies the module search path.  The path should
  346.           be a comma-separated list of absolute directory paths to
  347.           search for server modules.  When specified here, it over-
  348.           rides the value specified in the config file.  This
  349.           option is only available when the server is started by
  350.           the root user.
  351.  
  352.      -logfile file
  353.  
  354.           This specifies the log file name.  When specified here,
  355.           it overrides the default value.  This option is only
  356.           available when the server is started by the root user.
  357.  
  358.      -scanpci
  359.  
  360.           This specifies that the scanpci module should be loaded
  361.           and executed.  This does a scan of the PCI bus.
  362.  
  363.      -logverbose [n]
  364.  
  365.           This options specifies the verbosity level to use for the
  366.           log file.  The default is 3.
  367.  
  368. The following X server command line options have been changed since 3.3.x:
  369.  
  370.      -verbose [n]
  371.  
  372.           This option specifies the verbosity level to use for the
  373.           server messages that get written to stderr.  It may be
  374.           specified multiple times to increase the verbosity level
  375.           (as with 3.3.x), or the verbosity level may be specified
  376.           explicitly as a number.  The default verbosity level is
  377.           1.
  378.  
  379.      -xf86config filename
  380.  
  381.           This option has been extended to allow non-root users to
  382.           specify a relative config file name.  The config file
  383.           search path will be used to locate the file in this case.
  384.           This makes it possible for users to choose from multiple
  385.           config files that the the sysadmin has provided.
  386.  
  387. 2.4  XAA
  388.  
  389. The XFree86 Acceleration Architecture (XAA) has been completely rewritten
  390. from scratch.  Most drivers implement acceleration by making use of the XAA
  391. module.
  392.  
  393. 2.5  Multi-head
  394.  
  395. Some multi-head configurations are supported in this release, primarily with
  396. multiple PCI/AGP cards.  However, this is an area that is still being worked
  397. on, and we expect that the range of configurations for which it works well
  398. will increase in future releases.  A configuration that is known to work well
  399. in most cases is multiple (supported) Matrox cards.
  400.  
  401. One of the main problems is with drivers not sufficiently initialising cards
  402. that were not initialised at boot time.  This has been improved somewhat with
  403. the INT10 support that is used by most drivers (which allows secondary card
  404. to be "soft-booted", but in some cases there are other issues that still need
  405. to be resolved.  Some combinations can be made to work better by changing
  406. which card is the primary card (either by using a different PCI slot, or by
  407. changing the system BIOS's preference for the primary card).
  408.  
  409. 2.6  Xinerama
  410.  
  411. Xinerama is an X server extension that allows multiple physical screens to
  412. behave as a single screen.  With traditional multi-head in X11, windows can-
  413. not span or cross physical screens.  Xinerama removes this limitation.  Xin-
  414. erama does, however, require that the physical screens all have the same root
  415. depth, so it isn't possible, for example, to use an 8-bit screen together
  416. with a 16-bit screen in Xinerama mode.
  417.  
  418. Xinerama is not enabled by default, and can be enabled with the +xinerama
  419. command line option for the X server.
  420.  
  421. Xinerama was included with X11R6.4.  The version included in this release was
  422. completely rewritten for improved performance and correctness.
  423.  
  424. Known problems:
  425.  
  426.    o Most (all?) window managers are not Xinerama-aware, and so some opera-
  427.      tions like window placement and resizing might not behave in an ideal
  428.      way.  This is an issue that needs to be dealt with in the individual
  429.      window managers, and isn't specifically an XFree86 problem.
  430.  
  431. 2.7  XVideo extension
  432.  
  433. The XVideo extension is included in this release, but nobody seems interested
  434. in writing up some information about it.
  435.  
  436. 2.8  DGA version 2
  437.  
  438. DGA 2.0 is nearly completed but still not implemented by all drivers.  Pre-
  439. liminary documentation for the client libraries can be found in the xc/pro-
  440. grams/Xserver/hw/xfree86/DGA document.  Some degree of backwards compatibil-
  441. ity with version 1.0 is provided.  This information is out of date.
  442.  
  443. 2.9  DDC
  444.  
  445. The VESA(R) Display Data Channel (DDC[tm]) standard allows the monitor to
  446. tell the video card (or on some cases the computer directly) about itself;
  447. particularly the supported screen resolutions and refresh rates.
  448.  
  449. Partial or complete DDC support is available in most of the video drivers.
  450. DDC is enabled by default, but can be disabled with a "Device" section entry:
  451. Option "NoDDC".  We have support for DDC versions 1 and 2; these can be dis-
  452. abled independently with Option "NoDDC1" and Option "NoDDC2".
  453.  
  454. At startup the server prints out DDC information from the display, but it
  455. does not yet use it the determine modelines.  For some drivers, the X
  456. server's new -configure option uses the DDC information when generating the
  457. config file.
  458.  
  459. Changed behavior caused by DDC. Several drivers uses DDC information to set
  460. the screen size and pitch.  This can be overridden by explicitly resetting it
  461. to the and non-DDC default value 75 with the -dpi 75 command line option for
  462. the X server, or by specifying appropriate screen dimensions with the "Dis-
  463. playSize" keyword in the "Monitor" section of the config file.
  464.  
  465. 2.10  GLX and the Direct Rendering Infrastructure (DRI)
  466.  
  467. Precision Insight <URL:http://www.precisioninsight.com> has been provided
  468. with funding and support from Red Hat <URL:http://www.redhat.com>, SGI
  469. <URL:http://www.sgi.com>, 3Dfx <URL:http://www.3dfx.com>, Intel
  470. <URL:http://www.intel.com>, ATI <URL:http://www.ati.com>, and Matrox
  471. <URL:http://www.matrox.com> to integrate the GLX extension for 3D rendering
  472. in an X11 window.  The 3D core rendering component is the Mesa
  473. <URL:http://www.mesa3d.org> library.  SGI has released the sources to the GLX
  474. extension framework under an open license, which essentially provides the
  475. glue between the 3D library and this windowing system.  Precision Insight has
  476. integrated these components into the XFree86 X Server and added a Direct Ren-
  477. dering Infrastructure (DRI).  Direct Rendering provides a highly optimized
  478. path for sending 3D data directly to the graphics hardware.  This release
  479. provides a complete implementation of direct rendering support for the 3Dfx
  480. Banshee and Voodoo3 graphics cards.  Additional direct rendering drivers will
  481. be available for 3Dfx, Intel, ATI and Matrox boards during the second quarter
  482. of 2000.  Updated information on DRI compatible drivers can be found at the
  483. DRI Project <URL:http://dri.sourceforge.net> on SourceForge
  484. <URL:http://www.sourceforge.net>.
  485.  
  486. 2.11  X-Video Extension (Xv)
  487.  
  488. An XvQueryPortAttributes function has been added as well as support for XvIm-
  489. ages.  XvImages are XImages in alternate color spaces such as YUV and can be
  490. passed to the server through shared memory segments.  This allows clients to
  491. display YUV data with high quality hardware scaling and filtering.   XvImages
  492. are only supported by the Matrox G200/G400 cards at the moment.
  493.  
  494. 2.12  Other extensions
  495.  
  496. The XFree86-Misc extension has not been fully ported to the new server archi-
  497. tecture yet.  This should be completed in a future release.
  498.  
  499. The XFree86-VidModeExtension extension has been updated, and mostly ported to
  500. the new server architecture.  The area of mode validation needs further work,
  501. and the extension should be used with care.  This extension has support for
  502. changing the gamma setting at run-time, for modes where this is possible.
  503. The new xgamma utility makes use of this feature.  Compatibility with the
  504. 3.3.x version of the extension is provided.  The missing parts of this exten-
  505. sion and some new features should be completed in a future release.
  506.  
  507. 2.13  Drivers
  508.  
  509. XFree86 4.0 includes the following drivers:
  510.  
  511.                     +------------+----------------------+
  512.                     |Driver Name | Description          |
  513.                     +------------+----------------------+
  514.                     |apm         | Alliance Pro Motion  |
  515.                     |ati         | ATI                  |
  516.                     |chips       | Chips & Technologies |
  517.                     |cirrus      | Cirrus Logic         |
  518.                     |cyrix (*)   | Cyrix MediaGX        |
  519.                     |fbdev       | Linux fbdev          |
  520.                     |glide       | Glide2x (3Dfx)       |
  521.                     |glint       | 3Dlabs, TI           |
  522.                     |i740        | Intel i740           |
  523.                     |i810        | Intel i810           |
  524.                     |mga         | Matrox               |
  525.                     |neomagic    | NeoMagic             |
  526.                     |nv          | NVIDIA               |
  527.                     |r128        | ATI Rage 128         |
  528.                     |rendition   | Rendition            |
  529.                     |s3virge     | S3 ViRGE             |
  530.                     |sis         | SiS                  |
  531.                     |tdfx        | 3Dfx                 |
  532.                     |tga         | DEC TGA              |
  533.                     |trident     | Trident              |
  534.                     |tseng       | Tseng Labs           |
  535.                     |vga         | Generic VGA          |
  536.                     +------------+----------------------+
  537.  
  538. Drivers marked with (*) are present in a preliminary form in this release,
  539. but are not complete and/or stable yet.
  540.  
  541. 2.13.1  APM
  542.  
  543. This is the driver for Alliance AT3D/AT25 and AT24 chips. There is a rather
  544. complete support for the functions with acceleration at 8,15,16,24 and 32
  545. bits (limited by the chip at 24bpp). There is preliminary, still buggy, sup-
  546. port for the AP6422 chip, which is still supported in 3.3.x servers. The Xv
  547. driver is almost ok. The Rush extension for glide2x works, with some addi-
  548. tions, including overlay of the result. DGA and DGA2 have been tested ok.
  549. Further information can be found in README.apm.
  550.  
  551. 2.13.2  Chips & Technologies
  552.  
  553. Information about the C&T driver can be found in README.chips.
  554.  
  555. 2.13.3  s3virge
  556.  
  557. The s3virge driver is a port of the 3.3.x SVGA S3 ViRGE driver.  As such it
  558. should be as stable and functional as previous XFree86 releases.  There are a
  559. couple additional benefits included primarily due to common enhancements:
  560.  
  561.    o Depth 24 problems resolved with clients using 24/32 bpp pixmaps.
  562.  
  563.    o Our common acceleration architecture (XAA) has been re-written, as has
  564.      the ViRGE acceleration code.  You should find this version has better
  565.      performance than prior releases.
  566.  
  567.    o Multi-head is reported to work.
  568.  
  569.    o The s3virge man page lists options and has configuration notes for this
  570.      release of the driver.
  571.  
  572.    o Trio 3D and Trio 3D/2X support has been added, matching the 3.3.6
  573.      driver.
  574.  
  575.    o Supports screen rotation and shadow framebuffer.
  576.  
  577. Outstanding items not implemented or fully tested:
  578.  
  579.    o DGA support is implemented, but preliminary and untested.
  580.  
  581. Further information can be found in README.s3virge.
  582.  
  583. 2.13.4  TGA
  584.  
  585. The TGA driver is now accelerated and supports both 8 and 32 plane frame-
  586. buffers.  It is known to work under Linux/Alpha.  Please see the
  587. README.DECtga file for further information.
  588.  
  589. 2.13.5  Matrox
  590.  
  591. The MGA driver supports the same range or hardware as XFree86 3.3.4, but has
  592. a number of enhancements including multi-head support and support for (non-
  593. destructive) overlays (8-bit + 24-bit).
  594.  
  595. Option "overlay" when the server is started in 32bpp (-fbbpp 32) will enable
  596. the 8+24 mode.  The current implementation doesn't optimize away unnecessary
  597. exposures yet so the performance of this option will be better in future
  598. release.  By default, the color key for the overlays is 255, but this can be
  599. changed with the "ColorKey" option to work around problems in specific pro-
  600. grams.  Valid values for the key are 2-255.
  601.  
  602. This release contains performance enhancements for the G400 and particularly
  603. for the G400 MAX.  It also includes XvImage support for G200/G400 chips and
  604. improved memory autodetection support.
  605.  
  606. Further information can be found in the mga man page.
  607.  
  608. 2.13.6  ATI
  609.  
  610. Information about the ATI driver can be found in README.ati <URL:ati.html>.
  611. The current version is not accelerated.  Acceleration support is planned for
  612. a future release.
  613.  
  614. 2.13.7  NVIDIA
  615.  
  616. The "nv" driver supports all Riva TNT accelerators as well as the new GeForce
  617. and Quadro accelerators.  DGA 2.0 support is included.
  618.  
  619. Further information can be found in the nv man page.
  620.  
  621. 2.13.8  Glide
  622.  
  623. This driver is for Voodoo 1 and Voodoo 2 boards. It runs X on top of the 3DFX
  624. Glide API (where this is available, like for Linux). You need to have Glide
  625. 2.x installed before you can run this driver. This driver uses no hardware
  626. acceleration (since there is no 2D acceleration in these boards) but is
  627. rather quick anyway since the CPU renders to local RAM which is then copied
  628. block-wise to the board. Unfortunately the Voodoo 1/2 boards are rather lim-
  629. ited in resolution. The Voodoo 1 can do 800x600 and the Voodoo 2 can do
  630. 1024x768 at best, but still it has some use as a second head in Xinerama or
  631. multihead mode.
  632.  
  633. 16 and 24 bpp modes are supported (24 bit in 32-bit sparse-packed mode).
  634.  
  635. Further information about this driver can be found in the 'glide' driver man
  636. page for XFree86. You will not get this driver running before reading this
  637. man page.
  638.  
  639. For Voodoo Banshee and Voodoo 3 boards or later: Please use the tdfx driver
  640. which talks directly to the hardware and is much faster.
  641.  
  642. 2.13.9  GLINT
  643.  
  644. The "glint" driver supports most 3Dlabs/Texas Instruments GLINT/Permedia
  645. chips. There is a rather complete support (better than in 3.3.x) for acceler-
  646. ation at 8, 15, 16, and 24 bit depths (limited by some chips at some depths).
  647. 8+24 overlay is supported. The Xv extension is supported for some boards.
  648.  
  649. Further information about this driver can be found in the 'glint' driver man
  650. page.
  651.  
  652. 3.  X libraries and clients
  653.  
  654. 3.1  Xaw
  655.  
  656. Two versions of the Xaw library are provided in this release. A version with
  657. bug fixes and a few binary compatible improvements and a new version with
  658. several new features.
  659.  
  660. New features:
  661.  
  662.    o A displayList resource is available to all Xaw widgets. It basically
  663.      consists of a list of drawing commands, fully described in the Xaw(3)
  664.      manual page, that enables a integration of Xaw programs with the new
  665.      window/desktop managers that allows for configurable themes.
  666.  
  667.    o Some new actions were added to all Xaw widgets, to allow more config-
  668.      urable control of the widgets, and to allow setting resources at run
  669.      time.
  670.  
  671.    o Since Xpm was integrated into XFree86, programs linked with the new Xaw
  672.      library     will also link with Xpm. This allows for color background
  673.      pixmaps, and also for shaped widgets.
  674.  
  675.    o The text widget is the widget that will present more changes. These
  676.      include:
  677.  
  678.         o Block cursor.
  679.  
  680.         o Compile time limit of 16384 undo/redo levels (that will automati-
  681.           cally grow if the text is not saved when this mark is reached).
  682.  
  683.         o Overwrite mode.
  684.  
  685.         o Text killed is inserted in a kill ring list, this text is not for-
  686.           gotten, pressing M-y allows traversing the kill ring list.
  687.  
  688.         o International support for latin languages is available even if the
  689.           international resource is not set. Users will need to properly set
  690.           the locale environment to make complete use of this feature.
  691.  
  692.         o A better multiply interface is provided. Pressing C-u,<number>
  693.           (where number can be negative) allows passing parameters for text
  694.           actions.
  695.  
  696.         o Text can be formatted to have left, right, center or full justifi-
  697.           cation.
  698.  
  699.         o Text indentation support is also available.
  700.  
  701. Bug fixes:
  702.  
  703.    o The simple menu widget geometry management code was improved to solve
  704.      problems with menu entries not visible in the screen.
  705.  
  706.    o The form widget geometry code was changed to solve problems with integer
  707.      round problems in the child widgets geometry when resizing the parent
  708.      form widget.
  709.  
  710.    o Several bugs were fixed in the text code, while some code was rewritten
  711.      from scratch.
  712.  
  713. 3.2  Xpm
  714.  
  715. Version 3.4k of the Xpm (X pixmap) library is now integrated into XFree86.
  716.  
  717. 3.3  xterm
  718.  
  719. New Features:
  720.  
  721.    o Support Unix98 PTY's.
  722.  
  723.    o Support Unicode using UTF-8 input and output.  There are a few limita-
  724.      tions, this work is still in progress:
  725.  
  726.         o You must use the -u8 command line option to use this feature, as
  727.           well as compile with the OPT_WIDE_CHARS definition.  (The feature
  728.           is compiled when using imake).
  729.  
  730.         o Input (from keyboard) and output (select/paste) are in UTF-8 form.
  731.           There is no support in Xlib for UTF-8; xterm uses a lookup table to
  732.           map keysym codes.  Select/paste is done either via STRING or using
  733.           the new atom UTF8_STRING.
  734.  
  735.    o Add optional feature (resource and command-line options) to make xterm
  736.      use the PTY's sense of erase character on startup, rather than requiring
  737.      it to be \177, or set the PTY's erase character to match xterm's config-
  738.      uration.  Note that while $TERMCAP is modified to reflect the actual
  739.      configuration, the terminfo kdch1 string is not.  (This feature is also
  740.      in XFree86 3.3.4).
  741.  
  742.    o Revised keyboard handling, making two modes (VT220 and Sun/PC) which are
  743.      switched by popup menu.  This makes the numeric keypad work as expected.
  744.      Codes sent by the backarrow and delete keys also are affected.
  745.  
  746.    o Add parameters to function key escape sequences to indicate if shift,
  747.      control or alt are set.  This works for Sun/PC keyboard mode.
  748.  
  749.    o Separated command-line and menu settings for reverse video from that
  750.      done under program control.  This is a problem which was introduced by
  751.      X11R6.  Though correct, most users are confused by allowing the reset
  752.      command to undo the effect of the command-line -rv option.
  753.  
  754.    o Blinking cursor can be specified by resource or popup menu.
  755.  
  756.    o New control sequences for switching between normal and alternate screens
  757.      maintain separate cursor-save locations for the two screens, avoiding
  758.      incorrect cursor placement on exit from vi.
  759.  
  760.    o Support line-drawing characters when the font does not include them by
  761.      drawing them.
  762.  
  763.    o Add support for switching font sizes, by stepping through the font menu
  764.      using shifted keypad plus and minus.
  765.  
  766.    o New resource trimSelection allows xterm to trim trailing blanks from
  767.      selected lines.
  768.  
  769.    o Provide user applications a means of determining the version of xterm
  770.      for feature comparison by returning the patch number (e.g., 111) in the
  771.      secondary DA response.
  772.  
  773.    o Modify treatment of XK_Delete keysym so it transmits parameterized
  774.      VT220-style "<esc>[3~" if modifiers (shift, control alt) are given.
  775.  
  776.    o Add ``cacheDoublesize'' resource to limit the caching of font informa-
  777.      tion for double-sized characters, to accommodate X terminals with lim-
  778.      ited font memory.
  779.  
  780.    o Add ``metaSendsEscape'' resource, with corresponding control sequence
  781.      and menu entry.  Like ``eightBitInput'', this causes xterm to send ESC
  782.      prefixing the given key, but applies to all keys and is independent of
  783.      the 8-bit/7-bit terminal setting.
  784.  
  785.    o Implement an 88-color model for systems where 256-colors cannot be allo-
  786.      cated.
  787.  
  788.    o Add support for DEC Locator control sequences for xterm.  This allows
  789.      the xterm mouse to be used with applications that use the DEC Locator
  790.      sequences, such as VAX Tpu, or SMG$ based applications.
  791.  
  792.    o Implement -hold option, allowing users to retain the window after a
  793.      shell has exited.
  794.  
  795.    o Add an application resource, ``messages'' (and a corresponding -/+mesg
  796.      option) which controls the initial permission on the terminal.
  797.  
  798.    o Implement UTF-8 translation for Media Copy (print) operations.
  799.  
  800.    o Implement vt320 control sequences for Print Composed Main Display and
  801.      for Print All Pages.  The latter directs xterm to print the current
  802.      screen as well as the scrollback buffer.
  803.  
  804. Bug fixes/improvements:
  805.  
  806.    o If colorMode is enabled by default, compile-in default resources to
  807.      match the colors listed in XTerm-col.ad.
  808.  
  809.    o Deprecate DA answerback string, making it settable via a resource value
  810.      for applications which may need this.
  811.  
  812.    o Input characters which are mapped when in vt220 National Replacement
  813.      Character mode.
  814.  
  815.    o Completed support for double size characters.
  816.  
  817.    o Remove kfnd/kll/kslt strings from terminfo, because curses applications
  818.      do not necessarily return khome/kend pairs.
  819.  
  820.    o Corrected ifdef's for menus, which did not allow tek4014 to be sup-
  821.      pressed properly.
  822.  
  823.    o Improved tests for determining if xterm should use overstriking to simu-
  824.      late bold fonts.
  825.  
  826.    o Add test/demo scripts for double size characters, font switching, screen
  827.      resizing and colors.
  828.  
  829.    o Amend treatment of ALT key so that if ALT is used as a modifier in key
  830.      translations, then no parameter will be sent in escape sequences for
  831.      Sun/PC function keys.
  832.  
  833.    o Improved the ptyInitialErase logic to make it work better with a ter-
  834.      minfo library.
  835.  
  836.    o Modify treatment of line-drawing characters in UTF-8 mode so that Uni-
  837.      code values are used rather than characters 1-31 for storing the trans-
  838.      lated characters.
  839.  
  840.    o Modify translation of UTF-8 sequences to reject ``overly long'' varia-
  841.      tions.
  842.  
  843.    o Correct a case where colors were not rendered properly.  This happened
  844.      when an application inserted several lines, then changed colors.  If
  845.      this was done all in one write, then there would be no intervening
  846.      refresh, and the new color was applied to the pending scrolling opera-
  847.      tion which was awaiting the next refresh.
  848.  
  849.    o Corrected misspelled resource name in command-line option for HP func-
  850.      tion keys.
  851.  
  852.    o Change label on ``Sun/PC Keyboard'' popup menu entry to ``VT220 Key-
  853.      board'', since the checked state corresponds to VT220 rather than
  854.      Sun/PC.
  855.  
  856.    o Two corrections to simulation of bold font via overstriking:
  857.  
  858.         o use clipping to avoid leaving trash at end of the text, and
  859.  
  860.         o add brackets so wide-character logic does not fall-through into the
  861.           overstriking logic.
  862.  
  863.    o Modify checks for repeat-character control sequence to test the charac-
  864.      ter class against xterm's state table, rather than the isprint() macro.
  865.  
  866.    o Modify terminfo entry for ``xterm-xfree86'' to reflect modifiers for
  867.      shift and control.
  868.  
  869.    o Add several entries to termcap file to make it have the same set of
  870.      aliases as the terminfo file.
  871.  
  872.    o Scale the color values used for xterm-256color terminfo entry to
  873.      0..1000, as expected by ncurses.
  874.  
  875.    o Change xterm-r6 terminfo definitions for F1-F4 to match program.
  876.  
  877.    o Remove obsolete documentation about modifiers which can be returned in
  878.      mouse tracking mode, and modify logic to ignore modifiers other than the
  879.      existing ones, e.g., NumLock.
  880.  
  881.    o Use free bit from obsolete shift-modifier coding of mouse tracking but-
  882.      ton events to encode buttons 4 and 5, e.g., for a wheel mouse.  Move the
  883.      suggested wheel-mouse button translations into charproc.c to simplify
  884.      customization.
  885.  
  886.    o Modify warning if change-ownership of PTY fails; some configurations may
  887.      not happen to have old-style PTY's.
  888.  
  889.    o Add more information, i.e., with strerror for some system calls in the
  890.      main program which may fail due to insufficient permissions.
  891.  
  892.    o Various improvements to configure script, e.g., tests for utmp.
  893.  
  894. 3.4  xedit
  895.  
  896. Xedit have been changed to use most of the new features added to the new ver-
  897. sion of the Xaw library, and some xedit only features were added. Emacs users
  898. will find that several of the emacs key bindings work with the new version of
  899. xedit. These include:
  900.  
  901.    o File name tab completion. Including a Emacs dired like window, that will
  902.      be shown when there are more than one match, when C-x,d is pressed, or
  903.      when a directory name is specified.
  904.  
  905.    o An unlimited number of files can be edited at the same time. Including
  906.      multiple views of the same or different files.
  907.  
  908.    o The line number of the cursor position is always visible. It can also be
  909.      customized to show the column number, the position offset and the cur-
  910.      rent size of the file.
  911.  
  912.    o There is an autoReplace resource, that enables automatic text replace-
  913.      ment at the time text is typed. This feature is useful to create simple
  914.      macros, or to correct common spelling errors.
  915.  
  916.    o A fully featured ispell interface is also available. This interface is
  917.      expected to provide most of the features of the terminal interface of
  918.      the ispell program, with some extra features that include:
  919.  
  920.         o A compile time limit of 16 undo levels.
  921.  
  922.         o Terse mode switch.
  923.  
  924.         o Dictionary change.
  925.  
  926.         o The interface also checks for repeated words.
  927.  
  928.    o A first tentative to add programming modes was done. Currently, there is
  929.      one mode:
  930.  
  931.         o C-mode: this mode is expected to be stable, and fully usable.
  932.  
  933. 4.  Fonts and Internationalisation
  934.  
  935. Details about the font support in this version of XFree86 can be found in the
  936. README.fonts document.
  937.  
  938. 4.1  TrueType support
  939.  
  940. This version of XFree86 comes with two TrueType backends, known as `xfsft'
  941. (the "freetype" module) and `X-TrueType' (the "xtt" module).  Both of these
  942. backends are based on the FreeType library.
  943.  
  944. 4.2  CID font support
  945.  
  946. Support for CID-keyed fonts is included in this version of XFree86.  The CID-
  947. keyed font format was designed by Adobe Systems <URL:http://www.adobe.com>
  948. for fonts with large character sets.  The CID-keyed font support in XFree86
  949. was donated by SGI <URL:http://www.sgi.com>.  See the LICENSE document for a
  950. copy of the CID Font Code Public License.
  951.  
  952. 4.3  Internationalisation of the scalable font backends
  953.  
  954. A new ``fontenc'' layer has been added to allow the scalable font backends to
  955. use a common method of font re-encoding.  This re-encoding makes it possible
  956. to uses fonts in encodings other than their their native encoding.  This
  957. layer is used by the Type1 and Speedo backends and the `xfsft' version of the
  958. TrueType backend.  The `X-TrueType' version of the TrueType backend uses a
  959. different re-encoding method based on loadable encoding modules.
  960.  
  961. 4.4  Large font optimisation
  962.  
  963. The glyph metrics array, which all the X clients using a particular font have
  964. access to, is now placed in shared memory, so as to reduce redundant memory
  965. consumption.  For non-local clients, the glyph metrics array is transmitted
  966. in a compressed format.
  967.  
  968. 4.5  Unicode/ISO 10646 support
  969.  
  970. What is included:
  971.  
  972.    o All ``-misc-fixed-*'' BDF fonts are now available in the ISO10646-1
  973.      encoding and cover at least the 614 characters found in ISO
  974.      8859-{1-5,7-10,14,15}, CP1252, and MES-1. The non-bold fonts also cover
  975.      all Windows Glyph List 4 (WGL4) characters, including those found in all
  976.      8-bit MS-DOS/Windows code pages. The 8-bit variants of the ``-misc-
  977.      fixed-*'' BDF fonts (ISO8859-1, ISO8859-2, KOI8-R, etc.) have all been
  978.      automatically generated from the new ISO10646-1 master fonts.
  979.  
  980.    o Some ``-misc-fixed-*'' BDF ISO10646-1 fonts now cover a comprehensive
  981.      Unicode repertoire of over 3000 characters including all Latin, Greek,
  982.      Cyrillic, Armenian, Gregorian, Hebrew, IPA, and APL characters, plus
  983.      numerous scientific, typographic, technical, and backwards-compatibility
  984.      symbols. Some of these fonts also cover Arabic, Ethiopian, Thai,
  985.      Han/Kanji, Hangul, full ISO 8859, and more. For the 6x13 font there is
  986.      now a 12x13ja Kanji extension and for the 9x18 font there is a 18x18ja
  987.      Kanji/Han/Hangul extension, which covers all ISO-2022-JP-2 (RFC 1554)
  988.      characters. The 9x18 font can also be used to implement simple combining
  989.      characters by accent overstriking. For more information, read Markus
  990.      Kuhn's UTF-8 and Unicode FAQ <URL:http://www.cl.cam.ac.uk/~mgk25/uni-
  991.      code.html>.
  992.  
  993.    o Mark Leisher's ClearlyU proportional font (similar to Computer Modern).
  994.  
  995.    o ISO 10646/Unicode UTF-8 Level 1 support added to xterm (enabled with the
  996.      -u8 option).
  997.  
  998.    o Both the xfsft (the "freetype" module) and the X-TrueType (the "xtt"
  999.      module) TrueType font backends support Unicode-encoded fonts.
  1000.  
  1001. Known problems:
  1002.  
  1003.    o Xlib does not yet fully support UTF-8 as a locale, which means that
  1004.      xterm UTF-8 keyboard support is at the moment a temporary hack.
  1005.  
  1006.    o Most ISO10646-1 fonts encode no characters above U+31FF. This avoids the
  1007.      inefficient allocation and transmission of a >700 kB large XFontStruct
  1008.      structure, which would happen if the (not very important) ligatures and
  1009.      symbols above U+f000 were present.
  1010.  
  1011.    o ISO 10646 Level 2 combining characters are not yet supported by xterm
  1012.      (will be needed for instance for Thai and IPA).
  1013.  
  1014.    o Switching between a half-width and full-width font pair (such as 9x18
  1015.      and 18x18ja) is not yet supported by xterm (will be needed for CJK
  1016.      scripts).
  1017.  
  1018. 4.6  Lucidux fonts from Bigelow and Holmes
  1019.  
  1020. XFree86 now includes the ``Lucidux'' family of professionally hinted Type 1
  1021. fonts.  This family consists of the fonts ``Lucidux Serif'', ``Lucidux Sans''
  1022. and ``Lucidux Mono'' in Roman and oblique variants, and includes over 370
  1023. glyphs in each font covering among others the glyphs needed for ISO 8859-1,
  1024. 2, 3, 4, 9 and 15.  Bold variants will be included in a future release.  The
  1025. design and font outlines were donated by Charles Bigelow and Kris Holmes from
  1026. Bigelow and Holmes Inc., and the hinting was donated by Berthold Horn and
  1027. Blenda Horn from Y&Y, Inc.  For more information, please contact
  1028. <design@bigelowandholmes.com> or <sales@yandy.com>, or consult Y&Y's web site
  1029. <URL:http://www.yandy.com>.
  1030.  
  1031. 5.  Miscellaneous
  1032.  
  1033. 5.1  Directory rearrangements
  1034.  
  1035. Some changes to the installed XFree86 directory structure have been imple-
  1036. mented for 4.0.  One important change is a modified search path for the X
  1037. server's XF86Config file.  The details of this can be found in the XF86Config
  1038. manual page.  The other main change is moving most of the run-time configura-
  1039. tion files to /etc/X11, with symbolic links in the old /usr/X11R6/lib/X11
  1040. location pointing to the new location.  Some run-time generated files are now
  1041. located under the appropriate subdirectories of /var, again with the relevant
  1042. symbolic links in the old location.
  1043.  
  1044.      Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml,v 1.37 2000/03/08 20:11:55 dawes Exp $
  1045.  
  1046.