[BACK]Return to RELNOTES CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / xsrc / xfree / xc

Annotation of xsrc/xfree/xc/RELNOTES, Revision

1.1       veego       1:                      Release Notes for XFree86[tm] 4.0.2
                      3:                           The XFree86 Project, Inc
                      5:                               17 December 2000
                      7:                                   Abstract
                      9:      This document contains some information about the features present
                     10:      in XFree86 4.0.2 and their status.
                     12: 1.  Introduction to the 4.x Release Series
                     14: XFree86 4.0 was the first official release of the new XFree86 4 series.  The
                     15: current release (4.0.2) is the latest in that series.  XFree86 4 represents a
                     16: significant redesign of the XFree86 X server.  Not all of the hardware
                     17: drivers from 3.3.x have been ported to 4.x yet, but conversely, 4.x has some
                     18: hardware support not present in 3.3.x.  Our Driver Status document summarizes
                     19: how the hardware driver support compares between 3.3.6 and 4.0.2.  Please
                     20: check there first before downloading  4.0.2.
                     22: The 4.0.1 release introduced a new graphical configuration tool, "xf86cfg",
                     23: and a text mode interface was added to it for the 4.0.2 release.  It is work
                     24: in progress, but definitely worth trying out.  The trusty old text-based tool
                     25: "xf86config" can also be used for generating X server config files.  In addi-
                     26: tion to these tools, we've been working on a configuration tool that is
                     27: built-in to the X server.  It is included in the release, and it works well
                     28: for some hardware.  To try it out, just run (as root) "XFree86 -configure".
                     29: Each of these configuration options will give you a reasonable starting point
                     30: for a suitable configuration file.  We've put some effort into documenting
                     31: the 4.0.2 config file format, and you can find that information in the
                     32: XF86Config manual page. Check that, the driver manual pages and the related
                     33: documentation for further information.
                     35: Before you go to download and install the binary distributions for this
                     36: release, please have a quick read through the Installation Document.  It may
                     37: save you some time and help you figure out which of the binary releases you
                     38: need.
                     40: The next section describes what is new in the latest version (4.0.2).  The
                     41: other sections below describe some of the new features and changes between
                     42: 3.3.x and 4.0.  There are lot's of new features, and we definitely don't have
                     43: enough space to cover them all here.
                     45: 2.  Summary of new features in 4.0.2.
                     47: 2.1  X server
                     49:    o Darwin/Mac OS X is now supported and the X server runs on PowerPC.  The
                     50:      X server for this platform is called "Xdarwin", and its installation and
                     51:      configuration is different from the "XFree86" server used on other plat-
                     52:      forms.  Please read the XFree86 on Darwin and Mac OS X document for fur-
                     53:      ther information.
                     55:    o Mesa has been updated to the 3.4 stable release.
                     57:    o A driver for ATI Radeon adapters has been added.
                     59:    o ATI driver support for multi-head configurations and non-Intel platforms
                     60:      has been improved.
                     62:    o The ATI driver has been changed to invoke the appropriate driver for any
                     63:      Rage 128 and Radeon adapters that it finds in the system.
                     65:    o A driver (i128) for Number Nine chipsets has been added.
                     67:    o A driver (savage) for S3 Savage chipsets has been added.
                     69:    o A driver (siliconmotion) for some Silicon Motion chipsets has been
                     70:      added.
                     72:    o The driver (ark) for Ark Logic chips has been ported to 4.x.
                     74:    o A VESA driver has been added.
                     76:    o A driver for SGI newport cards has been added (Linux/mips).
                     78:    o The trident driver has lots of fixes to the CyberBlade/Blade support,
                     79:      XVideo support for the Image/Blade series (although scaling doesn't work
                     80:      yet on the Image series).
                     82:    o The s3virge driver has stabilized ViRGE GX2 support, includes ViRGE DX
                     83:      and ViRGE support for XVideo YUV images, and various fixes.
                     85:    o The 3Dlabs (glint) driver now has Permedia3 support.
                     87:    o The SiS driver has had many updates, and XVideo support for the 630 is
                     88:      included.
                     90:    o The NVIDIA (nv) driver has been updated to include support for the
                     91:      GeForce2, and line acceleration has been added.  Also, DDC support has
                     92:      been improved, and support added for Alpha platforms (dense only).
                     94:    o The neomagic driver has had various bug fixes and extended acceleration
                     95:      support.  DGA support has also been added.
                     97:    o The Chips and Technologies driver (chips) has initial support for the
                     98:      69030.
                    100:    o The tseng driver has multi-head fixes and DGA support has been added.
                    102:    o Most video drivers have been converted to use the integrated "fb" frame-
                    103:      buffer code instead of the old "cfb" code.
                    105:    o DRI support has been updated for the Rage 128, 3Dfx Voodoo3 and Voodoo5,
                    106:      Intel i810/i815 and Matrox G400.  DRI support for SiS and Sun Creator3D
                    107:      is available.  The DRI is now also available on Alpha platforms.
                    109:    o An input driver (citron) for Citron Infrared Touch devices has been
                    110:      added.
                    112:    o An input driver (penmount) for PenMount devices has been added.
                    114:    o An input driver (digitaledge) for DigitalEdge devices has been added.
                    116:    o Big endian problems in Xinerama have been fixed.
                    118:    o The new "render" extension has been added (see below (section 4.11, page
                    119:      1)).  The design has been extended in the following ways:
                    121:         o A new FillRectangles request was added.
                    123:         o The 'mask' operand was changed to allow per-channel alphas.
                    125:      Server implementation:
                    127:         o Implemented remaining code for client clip lists.
                    129:         o Fixed plenty of bugs related to text rendering.
                    131:         o Complete compositing code, except for separate alpha.
                    133:      Todo:
                    135:         o Polygons
                    137:         o Image scaling
                    139:         o Separate alpha channels
                    141:         o Support for visuals other than TrueColor.
                    143:      Drivers with render extension support include: i128, glint, ati (r128
                    144:      and radeon), chips, cirrus, mga, neomagic, nv, tdfx, trident, tseng,
                    145:      vesa, s3virge.
                    147:      Acceleration for the render extension:
                    149:         o XAA infrastructure for acceleration.
                    151:         o Experimental MGA acceleration using XAA
                    153:         o kdrive (TinyX) infrastructure
                    155:         o Experimental TinyX Trident 9525DVD acceleration
                    157:      Xft library:
                    159:         o New font naming/access library.
                    161:         o Abstraction for core/Render text.
                    163:         o Uses FreeType2 rasterizer.
                    165:         o Allows anti-aliased/subpixel sampled text.
                    167:         o Gracefully falls back to core rendering.
                    169:         o Complicated font matching mechanism.
                    171:         o Uses server DPI to convert point sizes to pixel sizes, even for
                    172:           core fonts.
                    174:      xterm:
                    176:         o Can use Xft, by default uses core fonts.
                    178:         o Uses new options '-fa' for family name and '-fs' for font size (in
                    179:           points).
                    181:      x11perf:
                    183:         o Add tests for anti-aliased, subpixel sampled and aliased fonts
                    184:           using the Xft library.
                    186:      xditview:
                    188:         o When the Xft library is build, uses Xft for all font access.
                    190:      Qt, Gtk, twm:
                    192:         o Qt changes available here <URL:http://XFree86.org/~keithp/down-
                    193:           load/qtkernel.tar.bz2>.
                    195:         o Gtk changes in process.
                    197:         o twm hacks should never see the light of day.
                    199:    o xf86cfg, a new graphical configuration tool for XFree86 4.x, and can be
                    200:      used to either write the initial configuration or make customisations to
                    201:      the current configuration.  xf86cfg is a work in progress, and allows
                    202:      configuration of:
                    204:         o Specific setup of monitors, cards, keyboards and mice, as well as
                    205:           adding or removing them.
                    207:         o Server layout setup, allowing complex configuration of physical
                    208:           monitor positions, default color depth and/or rotated monitors.
                    210:         o Mode line editor that can be used to configure multiple monitors,
                    211:           and allows adding a modeline specific to a monitor directly to the
                    212:           configuration file.
                    214:         o AccessX configuration interface, that provides an interface to easy
                    215:           setup of most AccessX options, including:
                    217:              o Timeout to reset controls.
                    219:              o StickyKeys, for people with disabilities that cannot press two
                    220:                keys at the same time.
                    222:              o MouseKeys, mouse control only with the keyboard.
                    224:              o RepeatKeys, repeat rate and repeat delay.
                    226:              o SlowKeys, to avoid pressing keys accidentally, they're only
                    227:                accepted if pressed for some specific amount of time.
                    229:              o BounceKeys, helps avoiding multiple key presses by only
                    230:                accepting a key if it is pressed only once and not pressed
                    231:                again in a specific amount of time.
                    233:      New configuration options are being worked on, as well as correcting
                    234:      some of the bugs in the current options.  A protocol for plugging in
                    235:      external modules is also planned.
                    237: 2.2  X libraries and clients.
                    239:    o Significant updates to the internationalisation support in Xlib (see
                    240:      below (section 2.3, page 1)).
                    242:    o Some xfs updates, including font path verification, and new options.
                    244:    o XTerm updates.
                    246:    o New "xvinfo" client for querying the XVideo extension.
                    248: 2.3  Fonts and Internationalisation
                    250:    o Many of the "misc" bdf fonts have been updated and extended, and a wider
                    251:      range of ISO-8859 subsets have been added.  These are now auto-generated
                    252:      from ISO-10646 encoded master fonts.
                    254:    o The ClearlyU ISO-10646 encoded fonts have been updated.
                    256:    o Functions to read keyboard input in locale independent UTF-8 encoding
                    257:      have been added to libX11: Xutf8LookupString, Xutf8ResetIC.
                    259:    o Functions to output strings in locale independent UTF-8 encoding have
                    260:      been added to libX11: Xutf8DrawString, Xutf8DrawImageString, Xutf8Tex-
                    261:      tEscapement, Xutf8TextExtents, Xutf8TextPerCharExtents, Xutf8DrawText.
                    263:    o Functions to convert between Compound Text or locale dependent encoding
                    264:      and UTF-8 have been added to libX11: Xutf8TextListToTextProperty,
                    265:      Xutf8TextPropertyToTextList. The converter between Compound Text and
                    266:      UTF-8 in Xlib has been improved; a round-trip conversion now correctly
                    267:      converts all graphic Unicode characters back and forth.
                    269:    o libXaw now offers selected text using both selection targets,
                    270:      UTF8_STRING and COMPOUND_TEXT.
                    272:    o Locales with UTF-8 encodings are now supported; but the UTF-8 displaying
                    273:      facilities are not adequate yet.
                    275:    o XKB keyboard definitions have been added and updated for some countries.
                    277: 2.4  Platforms
                    279:    o Darwin/Mac OS X.
                    281:    o Greatly improved IA-64 support.
                    283:    o Improved Linux/mips support.
                    285:    o Support has been added for more Alpha platforms under Linux.  This now
                    286:      includes all platforms that require sparse memory mapping.
                    288: 3.  Drivers
                    290: 3.1  Video Drivers
                    292: XFree86 4.0.2 includes the following video drivers:
                    294: +--------------+--------------------------+----------------------------------+
                    295: |Driver Name   | Description              | Further Information              |
                    296: +--------------+--------------------------+----------------------------------+
                    297: |apm           | Alliance Pro Motion      | README.apm                       |
                    298: |ark           | Ark Logic                |                                  |
                    299: |ati           | ATI                      | README.ati, README.r128, r128(4) |
                    300: |chips         | Chips & Technologies     | README.chips, chips(4)           |
                    301: |cirrus        | Cirrus Logic             |                                  |
                    302: |cyrix (*)     | Cyrix MediaGX            | README.cyrix                     |
                    303: |fbdev         | Linux fbdev              | fbdev(4)                         |
                    304: |glide         | Glide2x (3Dfx)           | glide(4)                         |
                    305: |glint         | 3Dlabs, TI               | glint(4)                         |
                    306: |i128          | Number Nine              | README.I128, i128(4)             |
                    307: |i740          | Intel i740               | README.i740                      |
                    308: |i810          | Intel i810               | README.i810, i810(4)             |
                    309: |imstt         | Integrated Micro Solns   |                                  |
                    310: |mga           | Matrox                   | mga(4)                           |
                    311: |neomagic      | NeoMagic                 | neomagic(4)                      |
                    312: |newport (-)   | SGI Newport              | README.newport, newport(4)       |
                    313: |nv            | NVIDIA                   | nv(4)                            |
                    314: |rendition     | Rendition                | README.rendition, rendition(4)   |
                    315: |s3virge       | S3 ViRGE                 | README.s3virge, s3virge(4)       |
                    316: |savage        | S3 Savage                | savage(4)                        |
                    317: |siliconmotion | Silicon Motion           | siliconmotion(4)                 |
                    318: |sis           | SiS                      | README.SiS                       |
                    319: |sunbw2 (+)    | Sun bw2                  |                                  |
                    320: |suncg14 (+)   | Sun cg14                 |                                  |
                    321: |suncg3 (+)    | Sun cg3                  |                                  |
                    322: |suncg6 (+)    | Sun GX and Turbo GX      |                                  |
                    323: |sunffb (+)    | Sun Creator/3D, Elite 3D |                                  |
                    324: |sunleo (+)    | Sun Leo (ZX)             |                                  |
                    325: |suntcx (+)    | Sun TCX                  |                                  |
                    326: |tdfx          | 3Dfx                     |                                  |
                    327: |tga           | DEC TGA                  | README.DECtga                    |
                    328: |trident       | Trident                  | trident(4)                       |
                    329: |tseng         | Tseng Labs               |                                  |
                    330: |vesa          | VESA                     | vesa(4)                          |
                    331: |vga           | Generic VGA              | vga(4)                           |
                    332: +--------------+--------------------------+----------------------------------+
                    334: Drivers marked with (*) are present in a preliminary form in this release,
                    335: but are not complete and/or stable yet.
                    337: Drivers marked with (+) are for Linux/Sparc only.
                    339: Drivers marked with (-) are for Linux/mips only.
                    341: Darwin/Mac OS X uses IOKit drivers and does not use the module loader drivers
                    342: listed above. Further information can be found in README.Darwin.
                    344: XFree86 4.0.2 includes the following input drivers:
                    346: 3.2  Input Drivers
                    348:           +------------+--------------------+---------------------+
                    349:           |Driver Name | Description        | Further Information |
                    350:           +------------+--------------------+---------------------+
                    351:           |acecad      | AceCad             |                     |
                    352:           |citron      | Citron             | citron(4)           |
                    353:           |digitaledge | DigitalEdge        |                     |
                    354:           |dynapro     | Dynapro            |                     |
                    355:           |elographics | EloGraphics        |                     |
                    356:           |keyboard    | generic keyboards  | keyboard(4)         |
                    357:           |microtouch  | MicroTouch         |                     |
                    358:           |mouse       | most mouse devices | mouse(4)            |
                    359:           |mutouch     | MicroTouch         |                     |
                    360:           |penmount    | PenMount           |                     |
                    361:           |spaceorb    | SpaceOrb           |                     |
                    362:           |summa       | SummaGraphics      |                     |
                    363:           |void        | dummy device       | void(4)             |
                    364:           |wacom       | Wacom tablets      | wacom(4)            |
                    365:           +------------+--------------------+---------------------+
                    367: 4.  Summary of XFree86 4.
                    369: Unlike XFree86 3.3.x where there are multiple X server binaries, each of
                    370: which drive different hardware, XFree86 4.0.2 has a single X server binary
                    371: called XFree86.  This binary can either have one or more video drivers linked
                    372: in statically, or, more usually, dynamically load the video drivers and other
                    373: modules that are needed.
                    375: XFree86 4.0.2 has X server support for most UNIX(R) and UNIX-like operating
                    376: systems on Intel/x86 platforms, plus support for Linux on Alpha, PowerPC,
                    377: IA-64, Sparc, and Mips platforms, and for Darwin on PowerPC.  Work on support
                    378: for additional architectures and operating systems is in progress, and is
                    379: planned for future releases.
                    381: 4.1  Loader and Modules
                    383: The XFree86 X server has a built-in run-time loader, donated by Metro Link
                    384: <URL:http://www.metrolink.com>.  This loader can load normal object files and
                    385: libraries in most of the commonly used formats.  Since the loader doesn't
                    386: rely on an operating system's native dynamic loader support, it works on
                    387: platforms that don't provide this feature, and makes it possible for the mod-
                    388: ules to be operating system independent (although not, of course, independent
                    389: of CPU architecture).  This means that a module compiled on Linux/x86 can be
                    390: loaded by an X server running on Solaris/x86, or FreeBSD, or even OS/2.
                    392: One of the main benefits of this loader is that when modules are updated,
                    393: they do not need to be recompiled for every different operating system.  In
                    394: the future we plan to take advantage of this to provide more frequent driver
                    395: module updates in between major releases.
                    397: The loader in version 4.0.2 has support for Intel (x86), Alpha and PowerPC
                    398: platforms.  It also has preliminary support for Sparc platforms.
                    400: The X server makes use of modules for video drivers, X server extensions,
                    401: font rasterisers, input device drivers, framebuffer layers (like mfb, cfb,
                    402: etc), and internal components used by some drivers (like XAA),
                    404: The module interfaces (API and ABI) used in this release is still subject to
                    405: change without notice.  While we will attempt to provide backward compatibil-
                    406: ity for the module interfaces as of the 4.0 release (meaning that 4.0 modules
                    407: will work with future core X server binaries), we cannot guarantee this.
                    409: Note about module security
                    411:      The XFree86 X server runs with root privileges, i.e.  the X server
                    412:      loadable modules also run with these privileges.  For this reason
                    413:      we recommend that all users be careful to only use loadable modules
                    414:      from reliable sources,  otherwise the introduction of viruses and
                    415:      contaminated code can occur and wreak havoc on your system.  We
                    416:      hope to have a mechanism for signing/verifying the modules that we
                    417:      provide available in a future release.
                    419: 4.2  Configuration File
                    421: The X server configuration file format has been extended to handle some of
                    422: the new functionality.  The xf86config utility can be used to generate a
                    423: basic config file, that may require some manual editing.  The X server also
                    424: has preliminary support for generating a basic config file.  This is done by
                    425: running (as root) "XFree86 -configure".  Alternatively, the sample config
                    426: file XF86Config.eg that is installed in /usr/X11R6/lib/X11 may be used as a
                    427: starting point.  The XF86Setup utility is currently not usable, but work is
                    428: continuing in this area.
                    430: The main changes are covered here, but please refer to the XF86Config manual
                    431: page for more comprehensive information:
                    433:    o The Module section is used to load server extension modules and font
                    434:      modules, but not XInput drivers.  The .so suffix should no longer be
                    435:      specified with module names.  Options may be supplied for modules by
                    436:      loading the module via a SubSection instead of the usual Load keyword.
                    437:      The bitmap module is the only font module that is loaded by default.  No
                    438:      server extensions are loaded by default, but some are built-in to the
                    439:      server.  It is strongly recommended that the extension module containing
                    440:      a range of small miscellaneous extensions (extmod) be loaded because
                    441:      some commonly used things won't work correctly without it.  The follow-
                    442:      ing example shows how to load all the server extensions plus the Type1
                    443:      and TrueType fonts support, and a commented example that shows how to
                    444:      pass options to an extension (this one is for loading the misc exten-
                    445:      sions (extmod) with the XFree86-VidModeExtension disabled):
                    447:                Section "Module"
                    449:                    Load "dbe"
                    450:                    Load "record"
                    451:                    Load "glx"
                    452:                    Load "pex5"
                    453:                    Load "xie"
                    454:                    Load "extmod"
                    456:                    Load "type1"
                    457:                    Load "freetype"
                    459:                  # SubSection "extmod"
                    460:                  #     Option "Omit XFree86-VidModeExtension"
                    461:                  # EndSubSection
                    463:                EndSection
                    465:    o Option flags have been extended and are now used more widely in the con-
                    466:      fig file.  Options flags come in two main types.  The first type is
                    467:      exactly like the old form:
                    469:                    Option "name"
                    471:      where the option just has a name specified.  The name is case insensi-
                    472:      tive, and white space and underscore characters are ignored.  The second
                    473:      type consists of a name and a value:
                    475:                    Option "name" "value"
                    477:      The value is passed transparently as a string to the code that uses the
                    478:      option.  Common value formats are integer, boolean, real, string and
                    479:      frequency.  The following boolean option values are recognised as mean-
                    480:      ing TRUE: "true", "yes", "on", "1", and no value.  The values recognised
                    481:      as FALSE are "false", "no", "off", "0".  In addition to this, "no" may
                    482:      be prepended to the name of a boolean option to indicate that it is
                    483:      false.  Frequency options can have the strings Hz, kHz, or MHz appended
                    484:      to the numerical value specified.
                    486:      Note: the value must always be enclosed in double quotes ("), even when
                    487:      it is numerical.
                    489:    o The ServerFlags section now accepts its parameters as Options instead of
                    490:      as special keywords.  The older keyword format is still recognised for
                    491:      compatibility purposes, but is deprecated and support for it will likely
                    492:      be dropped in a future release.  The DPMS and screen save timeout values
                    493:      are now specified in the ServerFlags section rather than elsewhere
                    494:      (because they are global parameters, not screen-specific).  This example
                    495:      shows the defaults for these:
                    497:                    Option "blank time"    "10"
                    498:                    Option "standby time"  "20"
                    499:                    Option "suspend time"  "30"
                    500:                    Option "off time"      "40"
                    502:    o The Keyboard, Pointer and XInput sections have been replaced by a more
                    503:      general InputDevice section.  The old Keyboard and Pointer sections are
                    504:      still recognised for compatibility purposes, but they are discommended
                    505:      and support for them may be dropped in future releases.  The old XInput
                    506:      sections are no longer recognised.  The keywords from the old sections
                    507:      are expressed as Options in the InputDevice sections.  The following
                    508:      example shows typical InputDevice sections for the core mouse and key-
                    509:      board.
                    511:                Section "InputDevice"
                    512:                    Identifier  "Keyboard 1"
                    513:                    Driver      "keyboard"
                    514:                    Option      "AutoRepeat" "500 5"
                    515:                    Option      "XkbModel"   "pc104"
                    516:                    Option      "XkbLayout"  "us"
                    517:                EndSection
                    519:                Section "InputDevice"
                    520:                    Identifier  "Mouse 1"
                    521:                    Driver      "mouse"
                    522:                    Option      "Protocol"   "PS/2"
                    523:                    Option      "Device"     "/dev/mouse"
                    524:                    Option     "SampleRate" "80"
                    525:                EndSection
                    527:    o The Monitor section is mostly unchanged.  The main difference is that a
                    528:      set of VESA modes is defined internally in the server, and so for most
                    529:      monitors, it isn't necessary to specify any modes explicitly in the Mon-
                    530:      itor section.  There is also a new Modes section that can be used to
                    531:      define a set of modes separately from the Monitor section, and the Moni-
                    532:      tor section may "include" them with the "UseModes" keyword.  The Monitor
                    533:      section may also include Options.  Options that are monitor-specific,
                    534:      like the "DPMS" and "Sync on Green" options are best specified in the
                    535:      Monitor sections.
                    537:    o The Device sections are mostly unchanged.  The main difference is the
                    538:      new (and mandatory) Driver keyword that specifies which video driver
                    539:      should be loaded to drive the video card.  Another difference is the
                    540:      BusID keyword that is used to specify which of possibly multiple video
                    541:      cards the Device section is for.  The following is an example for a
                    542:      Matrox card:
                    544:                Section "Device"
                    545:                    Identifier "MGA 1"
                    546:                    Driver     "mga"
                    547:                    BusID      "PCI:1:0:0"
                    548:                EndSection
                    550:    o The Screen sections are mostly unchanged.  The old Driver keyword is no
                    551:      longer used, and a mandatory Identifier keyword has been added.  The
                    552:      DefaultColorDepth keyword has been renamed to DefaultDepth.
                    554:    o A new section called ServerLayout has been added to allow the layout of
                    555:      the screens and the selection of input devices to be specified.  The
                    556:      ServerLayout sections may also include options that are normally found
                    557:      in the ServerFlags section.  Multiple ServerLayout sections may be pre-
                    558:      sent, and selected from the command line.  The following example shows a
                    559:      ServerLayout section for a dual-headed configuration with two Matrox
                    560:      cards, and two mice:
                    562:                Section "ServerLayout"
                    563:                    Identifier  "Layout 1"
                    564:                    Screen      "MGA 1"
                    565:                    Screen      "MGA 2" RightOf "MGA 1"
                    566:                    InputDevice "Keyboard 1" "CoreKeyboard"
                    567:                    InputDevice "Mouse 1"    "CorePointer"
                    568:                    InputDevice "Mouse 2"    "SendCoreEvents"
                    569:                    Option      "BlankTime"  "5"
                    570:                EndSection
                    572:      See the XF86Config man page for a more detailed explanation of the for-
                    573:      mat of the new ServerLayout section.
                    575: The config file search patch has been extended, with the directories /etc/X11
                    576: and /usr/X11R6/etc/X11 being added.  The full search path details are docu-
                    577: mented in the XF86Config manual page.
                    579: 4.3  Command Line Options
                    581: The following new X server command line options have been added:
                    583:      -depth n
                    585:           This specifies the colour depth that the server is run-
                    586:           ning at.  The default is 8 for most drivers.  Most
                    587:           drivers support the values 8, 15, 16 and 24.  Some
                    588:           drivers also support the values 1 and 4.  Some drivers
                    589:           may also support other depths.  Note that the depth is
                    590:           different from the ``bpp'' that was specified with previ-
                    591:           ous versions.  The depth is the number of bits in each
                    592:           pixel that are significant in determining the pixel's
                    593:           value.  The bpp is the total size occupied by each pixel,
                    594:           including bits that are not used.  The old -bpp option is
                    595:           no longer recognised because it isn't a good way of spec-
                    596:           ifying the server behaviour.
                    598:      -fbbpp n
                    600:           This specifies the bpp format to use for the framebuffer.
                    601:           This may be used in 24-bit mode to force a framebuffer
                    602:           format that is different from what the driver chooses by
                    603:           default.  In most cases there should be no need to use
                    604:           this option.
                    606:      -pixmap24
                    608:           This specifies that the client-side pixmap format should
                    609:           be the packed 24-bit format that was often used by the
                    610:           3.3.x servers.  The default is the more common 32-bit
                    611:           format.  There should normally be no need to use this
                    612:           option.
                    614:      -pixmap32
                    616:           This specifies that the client-side pixmap format should
                    617:           be the sparse 32-bit format.  This is the default, so
                    618:           there should normally be no need to use this option.
                    620:      -layout name
                    622:           This specifies which ServerLayout section in the config
                    623:           file to use.  When this option is not specified, the
                    624:           first ServerLayout section is used.  When there is no
                    625:           ServerLayout section, the first Screen section is used.
                    627:      -screen name
                    629:           This specifies which Screen section in the config file to
                    630:           use.  When this option is not specified, the first
                    631:           ServerLayout section is used.  When there is no Server-
                    632:           Layout section, the first Screen section is used.
                    634:      -keyboard name
                    636:           This specifies which InputDevice section in the config
                    637:           file to use for the core keyboard.  This option may be
                    638:           used in conjunction with the -screen option.
                    640:      -pointer name
                    642:           This specifies which InputDevice section in the config
                    643:           file to use for the core pointer.  This option may be
                    644:           used in conjunction with the -screen option.
                    646:      -modulepath path
                    648:           This specifies the module search path.  The path should
                    649:           be a comma-separated list of absolute directory paths to
                    650:           search for server modules.  When specified here, it over-
                    651:           rides the value specified in the config file.  This
                    652:           option is only available when the server is started by
                    653:           the root user.
                    655:      -logfile file
                    657:           This specifies the log file name.  When specified here,
                    658:           it overrides the default value.  This option is only
                    659:           available when the server is started by the root user.
                    661:      -scanpci
                    663:           This specifies that the scanpci module should be loaded
                    664:           and executed.  This does a scan of the PCI bus.
                    666:      -logverbose [n]
                    668:           This options specifies the verbosity level to use for the
                    669:           log file.  The default is 3.
                    671: The following X server command line options have been changed since 3.3.x:
                    673:      -verbose [n]
                    675:           This option specifies the verbosity level to use for the
                    676:           server messages that get written to stderr.  It may be
                    677:           specified multiple times to increase the verbosity level
                    678:           (as with 3.3.x), or the verbosity level may be specified
                    679:           explicitly as a number.  The default verbosity level is
                    680:           1.
                    682:      -xf86config filename
                    684:           This option has been extended to allow non-root users to
                    685:           specify a relative config file name.  The config file
                    686:           search path will be used to locate the file in this case.
                    687:           This makes it possible for users to choose from multiple
                    688:           config files that the the sysadmin has provided.
                    690: 4.4  XAA
                    692: The XFree86 Acceleration Architecture (XAA) has been completely rewritten
                    693: from scratch for XFree86 4.x.  Most drivers implement acceleration by making
                    694: use of the XAA module.
                    696: 4.5  Multi-head
                    698: Some multi-head configurations are supported in XFree86 4.x, primarily with
                    699: multiple PCI/AGP cards.  However, this is an area that is still being worked
                    700: on, and we expect that the range of configurations for which it works well
                    701: will increase in future releases.  A configuration that is known to work well
                    702: in most cases is multiple (supported) Matrox cards.
                    704: One of the main problems is with drivers not sufficiently initialising cards
                    705: that were not initialised at boot time.  This has been improved somewhat with
                    706: the INT10 support that is used by most drivers (which allows secondary card
                    707: to be "soft-booted", but in some cases there are other issues that still need
                    708: to be resolved.  Some combinations can be made to work better by changing
                    709: which card is the primary card (either by using a different PCI slot, or by
                    710: changing the system BIOS's preference for the primary card).
                    712: 4.6  Xinerama
                    714: Xinerama is an X server extension that allows multiple physical screens to
                    715: behave as a single screen.  With traditional multi-head in X11, windows can-
                    716: not span or cross physical screens.  Xinerama removes this limitation.  Xin-
                    717: erama does, however, require that the physical screens all have the same root
                    718: depth, so it isn't possible, for example, to use an 8-bit screen together
                    719: with a 16-bit screen in Xinerama mode.
                    721: Xinerama is not enabled by default, and can be enabled with the +xinerama
                    722: command line option for the X server.
                    724: Xinerama was included with X11R6.4.  The version included in XFree86 4.x was
                    725: completely rewritten for improved performance and correctness.
                    727: Known problems:
                    729:    o Most window managers are not Xinerama-aware, and so some operations like
                    730:      window placement and resizing might not behave in an ideal way.  This is
                    731:      an issue that needs to be dealt with in the individual window managers,
                    732:      and isn't specifically an XFree86 problem.
                    734: 4.7  DGA version 2
                    736: DGA 2.0 is included in 4.0.2, but is not implemented by all drivers.  Prelim-
                    737: inary documentation for the client libraries can be found in the README.DGA
                    738: document.  A good degree of backwards compatibility with version 1.0 is pro-
                    739: vided.
                    741: 4.8  DDC
                    743: The VESA(R) Display Data Channel (DDC[tm]) standard allows the monitor to
                    744: tell the video card (or on some cases the computer directly) about itself;
                    745: particularly the supported screen resolutions and refresh rates.
                    747: Partial or complete DDC support is available in most of the video drivers.
                    748: DDC is enabled by default, but can be disabled with a "Device" section entry:
                    749: Option "NoDDC".  We have support for DDC versions 1 and 2; these can be dis-
                    750: abled independently with Option "NoDDC1" and Option "NoDDC2".
                    752: At startup the server prints out DDC information from the display, but it
                    753: does not yet use it the determine modelines.  For some drivers, the X
                    754: server's new -configure option uses the DDC information when generating the
                    755: config file.
                    757: Changed behavior caused by DDC. Several drivers uses DDC information to set
                    758: the screen size and pitch.  This can be overridden by explicitly resetting it
                    759: to the and non-DDC default value 75 with the -dpi 75 command line option for
                    760: the X server, or by specifying appropriate screen dimensions with the "Dis-
                    761: playSize" keyword in the "Monitor" section of the config file.
                    763: 4.9  GLX and the Direct Rendering Infrastructure (DRI)
                    765: Precision Insight <URL:http://www.precisioninsight.com> (now part of the Pro-
                    766: fessional Services group at VA Linux Systems <URL:http://www.valinux.com>)
                    767: was provided with funding and support from Red Hat <URL:http://www.red-
                    768: hat.com>, SGI <URL:http://www.sgi.com>, 3Dfx <URL:http://www.3dfx.com>, Intel
                    769: <URL:http://www.intel.com>, ATI <URL:http://www.ati.com>, and Matrox
                    770: <URL:http://www.matrox.com> to integrate the GLX extension for 3D rendering
                    771: in an X11 window.  The 3D core rendering component is the Mesa
                    772: <URL:http://www.mesa3d.org> library.  SGI has released the sources to the GLX
                    773: extension framework under an open license, which essentially provides the
                    774: glue between the 3D library and this windowing system.  Precision Insight has
                    775: integrated these components into the XFree86 X Server and added a Direct Ren-
                    776: dering Infrastructure (DRI).  Direct Rendering provides a highly optimized
                    777: path for sending 3D data directly to the graphics hardware.  This release
                    778: provides a complete implementation of direct rendering support for the 3Dfx
                    779: Banshee, Voodoo3 and Voodoo5 graphics cards, as well as the Intel i810/i815
                    780: cards, ATI Rage 128, and Matrox G400.  Updated information on DRI compatible
                    781: drivers can be found at the DRI Project <URL:http://dri.sourceforge.net> on
                    782: SourceForge <URL:http://www.sourceforge.net>.
                    784: 4.10  XVideo Extension (Xv)
                    786: The XVideo extension is supported in XFree86 4.x.  An XvQueryPortAttributes
                    787: function has been added as well as support for XvImages.  XvImages are XIm-
                    788: ages in alternate color spaces such as YUV and can be passed to the server
                    789: through shared memory segments.  This allows clients to display YUV data with
                    790: high quality hardware scaling and filtering.
                    792: 4.11  X Rendering Extension (Render)
                    794: The X Rendering extension provides a 2D rendering model that more closely
                    795: matches application demands and hardware capabilities.  It provides a render-
                    796: ing model derived from Plan 9 based on Porter/Duff image composition rather
                    797: than binary raster operations.
                    799: Using simple compositing operators provided by most hardware, Render can draw
                    800: anti-aliased text and geometric objects as well as perform translucent image
                    801: overlays and other image operations not possible with the core X rendering
                    802: system.
                    804: XFree86 4.0.2 provides a partial implementation of Render sufficient for
                    805: drawing anti-aliased text and image composition.  Still to be implemented are
                    806: geometric primitives and affine transformation of images.
                    808: Unlike the core protocol, Render provides no font support for applications,
                    809: rather it allows applications to upload glyphs for display on the screen.
                    810: This allows the client greater control over text rendering and complete
                    811: access to the available font information while still providing hardware
                    812: acceleration.  The Xft library provides font access for Render applications.
                    814: 4.11.1  The Xft Library
                    816: On the client side, the Xft library provides access to fonts for applications
                    817: using the FreeType library, version 2.  FreeType currently supports Type1 and
                    818: TrueType font files, a future release is expected to support BDF and PCF
                    819: files as well, so Render applications will have access to the complete range
                    820: of fonts available to core applications.  One important thing to note is that
                    821: Xft uses the vertical size of the monitor to compute accurate pixel sizes for
                    822: provided point sizes; if your monitor doesn't provide accurate information
                    823: via DDC, you may want to add that information to XF86Config.
                    825: To allow a graceful transition for applications moving from core text render-
                    826: ing to the Render extension, Xft can use either core fonts or FreeType and
                    827: the Render extension for text.  By default, Xft is configured to support only
                    828: core fonts, see the section on building FreeType support for the changes
                    829: needed to add FreeType/Render fonts.
                    831: The Xft library uses a configuration file, XftConfig, which contains informa-
                    832: tion about which directories contain font files and also provides a sophisti-
                    833: cated font aliasing mechanism.  Documentation for that file is included in
                    834: the Xft man page.
                    836: 4.11.2  Building FreeType support for Xft
                    838: XFree86 4.0.2 includes sources for FreeType version 2.0.1, but they are not
                    839: built and installed automatically.  As a result, Xft is configured to provide
                    840: only core fonts by default.
                    842: To build FreeType support for Xft, first FreeType must be built and
                    843: installed, either from the sources included in XFree86 in extras/freetype2 or
                    844: from another FreeType (version 2.0.1 or later) release.  Early FreeType ver-
                    845: sion 2 releases used a different header file installation and aren't compati-
                    846: ble with XFree86. Instructions for building and installing FreeType can be
                    847: found in the INSTALL file included with the FreeType release.
                    849: Second, XFree86 needs to know the installed location for FreeType, usually
                    850: /usr/local.  Edit (or create) config/cf/host.def to include:
                    852:      #define Freetype2Dir     /usr/local
                    854: Finally, build XFree86 with "make World" from the top.
                    856: 4.11.3  Application Support For Anti-Aliased Text
                    858: Only three applications have been modified in XFree86 4.0.2 to work with the
                    859: Render extension and the Xft and FreeType libraries to provide anti-aliased
                    860: text.  Xterm, xditview and x11perf.  Migration of other applications may
                    861: occur in future releases.
                    863: By default, xterm uses core fonts through the standard core API.  It has two
                    864: command line options and associated resources to direct it to use Xft
                    865: instead:
                    867:    o -fa family / .VT100.faceName: family.  Selects the font family to use.
                    869:    o -fs pointsize / .VT100.faceSize: pointsize.  Selects the pointsize.
                    871: Xditview will use Xft instead of the core API by default.  X11perf includes
                    872: tests to measure the performance of text rendered in three ways, anti-
                    873: aliased, anti-aliased with sub-pixel sampling and regular chunky text, but
                    874: through the Render extension, a path which has not been optimized within the
                    875: X server yet.
                    877: 4.12  Other extensions
                    879: The XFree86-Misc extension has not been fully ported to the new server archi-
                    880: tecture yet.  This should be completed in a future release.
                    882: The XFree86-VidModeExtension extension has been updated, and mostly ported to
                    883: the new server architecture.  The area of mode validation needs further work,
                    884: and the extension should be used with care.  This extension has support for
                    885: changing the gamma setting at run-time, for modes where this is possible.
                    886: The new xgamma utility makes use of this feature.  Compatibility with the
                    887: 3.3.x version of the extension is provided.  The missing parts of this exten-
                    888: sion and some new features should be completed in a future release.
                    890: 4.13  Xaw
                    892: Two versions of the Xaw library are provided with XFree86 4.x. A version with
                    893: bug fixes and a few binary compatible improvements and a new version with
                    894: several new features.
                    896: New features:
                    898:    o A displayList resource is available to all Xaw widgets. It basically
                    899:      consists of a list of drawing commands, fully described in the Xaw(3)
                    900:      manual page, that enables a integration of Xaw programs with the new
                    901:      window/desktop managers that allows for configurable themes.
                    903:    o Some new actions were added to all Xaw widgets, to allow more config-
                    904:      urable control of the widgets, and to allow setting resources at run
                    905:      time.
                    907:    o Since Xpm was integrated into XFree86, programs linked with the new Xaw
                    908:      library     will also link with Xpm. This allows for color background
                    909:      pixmaps, and also for shaped widgets.
                    911:    o The text widget is the widget that will present more changes. These
                    912:      include:
                    914:         o Block cursor.
                    916:         o Compile time limit of 16384 undo/redo levels (that will automati-
                    917:           cally grow if the text is not saved when this mark is reached).
                    919:         o Overwrite mode.
                    921:         o Text killed is inserted in a kill ring list, this text is not for-
                    922:           gotten, pressing M-y allows traversing the kill ring list.
                    924:         o International support for latin languages is available even if the
                    925:           international resource is not set. Users will need to properly set
                    926:           the locale environment to make complete use of this feature.
                    928:         o A better multiply interface is provided. Pressing C-u,<number>
                    929:           (where number can be negative) allows passing parameters for text
                    930:           actions.
                    932:         o Text can be formatted to have left, right, center or full justifi-
                    933:           cation.
                    935:         o Text indentation support is also available.
                    937: Bug fixes:
                    939:    o The simple menu widget geometry management code was improved to solve
                    940:      problems with menu entries not visible in the screen.
                    942:    o The form widget geometry code was changed to solve problems with integer
                    943:      round problems in the child widgets geometry when resizing the parent
                    944:      form widget.
                    946:    o Several bugs were fixed in the text code, while some code was rewritten
                    947:      from scratch.
                    949: 4.14  Xpm
                    951: Version 3.4k of the Xpm (X pixmap) library is now integrated into XFree86.
                    953: 4.15  xedit
                    955: Xedit have been changed to use most of the new features added to the new ver-
                    956: sion of the Xaw library, and some xedit only features were added. Emacs users
                    957: will find that several of the emacs key bindings work with the new version of
                    958: xedit. These include:
                    960:    o File name tab completion. Including a Emacs dired like window, that will
                    961:      be shown when there are more than one match, when C-x,d is pressed, or
                    962:      when a directory name is specified.
                    964:    o An unlimited number of files can be edited at the same time. Including
                    965:      multiple views of the same or different files.
                    967:    o The line number of the cursor position is always visible. It can also be
                    968:      customized to show the column number, the position offset and the cur-
                    969:      rent size of the file.
                    971:    o There is an autoReplace resource, that enables automatic text replace-
                    972:      ment at the time text is typed. This feature is useful to create simple
                    973:      macros, or to correct common spelling errors.
                    975:    o A fully featured ispell interface is also available. This interface is
                    976:      expected to provide most of the features of the terminal interface of
                    977:      the ispell program, with some extra features that include:
                    979:         o A compile time limit of 16 undo levels.
                    981:         o Terse mode switch.
                    983:         o Dictionary change.
                    985:         o The interface also checks for repeated words.
                    987:    o A first tentative to add programming modes was done. Currently, there is
                    988:      one mode:
                    990:         o C-mode: this mode is expected to be stable, and fully usable.
                    992: 4.16  Font support
                    994: Details about the font support in XFree86 4.x can be found in the
                    995: README.fonts document.
                    997: 4.17  TrueType support
                    999: XFree86 4.x comes with two TrueType backends, known as `xfsft' (the
                   1000: "freetype" module) and `X-TrueType' (the "xtt" module).  Both of these back-
                   1001: ends are based on the FreeType library.
                   1003: 4.18  CID font support
                   1005: Support for CID-keyed fonts is included in XFree86 4.x.  The CID-keyed font
                   1006: format was designed by Adobe Systems <URL:http://www.adobe.com> for fonts
                   1007: with large character sets.  The CID-keyed font support in XFree86 was donated
                   1008: by SGI <URL:http://www.sgi.com>.  See the LICENSE document for a copy of the
                   1009: CID Font Code Public License.
                   1011: 4.19  Internationalisation of the scalable font backends
                   1013: XFree86 4.x has a ``fontenc'' layer to allow the scalable font backends to
                   1014: use a common method of font re-encoding.  This re-encoding makes it possible
                   1015: to uses fonts in encodings other than their their native encoding.  This
                   1016: layer is used by the Type1 and Speedo backends and the `xfsft' version of the
                   1017: TrueType backend.  The `X-TrueType' version of the TrueType backend uses a
                   1018: different re-encoding method based on loadable encoding modules.
                   1020: 4.20  Large font optimisation
                   1022: The glyph metrics array, which all the X clients using a particular font have
                   1023: access to, is now placed in shared memory, so as to reduce redundant memory
                   1024: consumption.  For non-local clients, the glyph metrics array is transmitted
                   1025: in a compressed format.
                   1027: 4.21  Unicode/ISO 10646 support
                   1029: What is included in 4.x:
                   1031:    o All ``-misc-fixed-*'' BDF fonts are now available in the ISO10646-1
                   1032:      encoding and cover at least the 614 characters found in ISO
                   1033:      8859-{1-5,7-10,14,15}, CP1252, and MES-1. The non-bold fonts also cover
                   1034:      all Windows Glyph List 4 (WGL4) characters, including those found in all
                   1035:      8-bit MS-DOS/Windows code pages. The 8-bit variants of the ``-misc-
                   1036:      fixed-*'' BDF fonts (ISO8859-1, ISO8859-2, KOI8-R, etc.) have all been
                   1037:      automatically generated from the new ISO10646-1 master fonts.
                   1039:    o Some ``-misc-fixed-*'' BDF ISO10646-1 fonts now cover a comprehensive
                   1040:      Unicode repertoire of over 3000 characters including all Latin, Greek,
                   1041:      Cyrillic, Armenian, Gregorian, Hebrew, IPA, and APL characters, plus
                   1042:      numerous scientific, typographic, technical, and backwards-compatibility
                   1043:      symbols. Some of these fonts also cover Arabic, Ethiopian, Thai,
                   1044:      Han/Kanji, Hangul, full ISO 8859, and more. For the 6x13 font there is
                   1045:      now a 12x13ja Kanji extension and for the 9x18 font there is a 18x18ja
                   1046:      Kanji/Han/Hangul extension, which covers all ISO-2022-JP-2 (RFC 1554)
                   1047:      characters. The 9x18 font can also be used to implement simple combining
                   1048:      characters by accent overstriking. For more information, read Markus
                   1049:      Kuhn's UTF-8 and Unicode FAQ <URL:http://www.cl.cam.ac.uk/~mgk25/uni-
                   1050:      code.html>.
                   1052:    o Mark Leisher's ClearlyU proportional font (similar to Computer Modern).
                   1054:    o ISO 10646/Unicode UTF-8 Level 1 support added to xterm (enabled with the
                   1055:      -u8 option).
                   1057:    o Both the xfsft (the "freetype" module) and the X-TrueType (the "xtt"
                   1058:      module) TrueType font backends support Unicode-encoded fonts.
                   1060: 4.22  Lucidux fonts from Bigelow and Holmes
                   1062: XFree86 now includes the ``Lucidux'' family of professionally hinted Type 1
                   1063: fonts.  This family consists of the fonts ``Lucidux Serif'', ``Lucidux Sans''
                   1064: and ``Lucidux Mono'' in Roman and oblique variants, and includes over 370
                   1065: glyphs in each font covering among others the glyphs needed for ISO 8859-1,
                   1066: 2, 3, 4, 9 and 15.  Bold variants will be included in a future release.  The
                   1067: design and font outlines were donated by Charles Bigelow and Kris Holmes from
                   1068: Bigelow and Holmes Inc., and the hinting was donated by Berthold Horn and
                   1069: Blenda Horn from Y&Y, Inc.  For more information, please contact
                   1070: <design@bigelowandholmes.com> or <sales@yandy.com>, or consult Y&Y's web site
                   1071: <URL:http://www.yandy.com>.
                   1073: 4.23  Directory rearrangements
                   1075: Some changes to the installed XFree86 directory structure have been imple-
                   1076: mented for 4.x.  One important change is a modified search path for the X
                   1077: server's XF86Config file.  The details of this can be found in the XF86Config
                   1078: manual page.  The other main change is moving most of the run-time configura-
                   1079: tion files to /etc/X11, with symbolic links in the old /usr/X11R6/lib/X11
                   1080: location pointing to the new location.  Some run-time generated files are now
                   1081: located under the appropriate subdirectories of /var, again with the relevant
                   1082: symbolic links in the old location.
                   1084:      Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml,v 1.58 2000/12/17 23:01:10 dawes Exp $
                   1087: $XFree86: xc/RELNOTES,v 1.1 2000/12/18 02:45:46 dawes Exp $

CVSweb <webmaster@jp.NetBSD.org>