[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.1.2

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

CVSweb <webmaster@jp.NetBSD.org>