XFree86(1) XFree86(1) NAME XFree86 - X11R6 X server SYNOPSIS XFree86 [:display] [option ...] DESCRIPTION XFree86 is a full featured X server that was originally designed for UNIX and UNIX-like operating systems running on Intel x86 hardware. It now runs on a wider range of hardware and OS platforms. This work was originally derived from X386 1.2 by Thomas Roell which was contributed to X11R5 by Snitily Graphics Consulting Service. The XFree86 server architecture was redesigned for the 4.0 release, and it includes among many other things a loadable module system derived from code donated by Metro Link, Inc. The current XFree86 release is com- patible with X11R6.6. PLATFORMS XFree86 operates under a wide range of operating systems and hardware platforms. The Intel x86 (IA32) architecture is the most widely sup- ported hardware platform. Other hardware platforms include Compaq Alpha, Intel IA64, SPARC and PowerPC. The most widely supported oper- ating systems are the free/OpenSource UNIX-like systems such as Linux, FreeBSD, NetBSD and OpenBSD. Commercial UNIX operating systems such as Solaris (x86) and UnixWare are also supported. Other supported operat- ing systems include LynxOS, and GNU Hurd. Darwin and Mac OS X are sup- ported with the XDarwin(1) X server. Win32/Cygwin is supported with the XWin X server. NETWORK CONNECTIONS XFree86 supports connections made using the following reliable byte- streams: Local On most platforms, the "Local" connection type is a UNIX-domain socket. On some System V platforms, the "local" connection types also include STREAMS pipes, named pipes, and some other mechanisms. TCPIP XFree86 listens on port 6000+n, where n is the display number. This connection type can be disabled with the -nolisten option (see the Xserver(1) man page for details). ENVIRONMENT VARIABLES For operating systems that support local connections other than Unix Domain sockets (SVR3 and SVR4), there is a compiled-in list specifying the order in which local connections should be attempted. This list can be overridden by the XLOCAL environment variable described below. If the display name indicates a best-choice connection should be made (e.g. :0.0), each connection mechanism is tried until a connection succeeds or no more mechanisms are available. Note: for these OSs, the Unix Domain socket connection is treated differently from the other local connection types. To use it the connection must be made to unix:0.0. The XLOCAL environment variable should contain a list of one more more of the following: NAMED PTS SCO ISC which represent SVR4 Named Streams pipe, Old-style USL Streams pipe, SCO XSight Streams pipe, and ISC Streams pipe, respectively. You can select a single mechanism (e.g. XLOCAL=NAMED), or an ordered list (e.g. XLOCAL="NAMED:PTS:SCO"). his variable overrides the compiled-in defaults. For SVR4 it is recommended that NAMED be the first prefer- ence connection. The default setting is PTS:NAMED:ISC:SCO. To globally override the compiled-in defaults, you should define (and export if using sh or ksh) XLOCAL globally. If you use startx(1) or xinit(1), the definition should be at the top of your .xinitrc file. If you use xdm(1), the definitions should be early on in the /usr/X11R6/lib/X11/xdm/Xsession script. OPTIONS XFree86 supports several mechanisms for supplying/obtaining configura- tion and run-time parameters: command line options, environment vari- ables, the XF86Config(5) configuration file, auto-detection, and fall- back defaults. When the same information is supplied in more than one way, the highest precedence mechanism is used. The list of mechanisms is ordered from highest precedence to lowest. Note that not all param- eters can be supplied via all methods. The available command line options and environment variables (and some defaults) are described here and in the Xserver(1) manual page. Most configuration file param- eters, with their defaults, are described in the XF86Config(5) manual page. Driver and module specific configuration parameters are described in the relevant driver or module manual page. Starting with version 4.4, XFree86 has support for generating a usable configuration at run-time when no XF86Config(5) configuration file is provided. The initial version of this automatic configuration support is targeted at the most popular hardware and software platforms sup- ported by XFree86. Some details about how this works can be found in the CONFIGURATION section below and in the getconfig(1) manual page. In addition to the normal server options described in the Xserver(1) manual page, XFree86 accepts the following command line switches: vtXX XX specifies the Virtual Terminal device number which XFree86 will use. Without this option, XFree86 will pick the first available Virtual Terminal that it can locate. This option applies only to platforms such as Linux, BSD, SVR3 and SVR4, that have virtual terminal support. -allowMouseOpenFail Allow the server to start up even if the mouse device can't be opened or initialised. This is equivalent to the Allow- MouseOpenFail XF86Config(5) file option. -allowNonLocalModInDev Allow changes to keyboard and mouse settings from non-local clients. By default, connections from non-local clients are not allowed to do this. This is equivalent to the AllowNonLo- calModInDev XF86Config(5) file option. -allowNonLocalXvidtune Make the VidMode extension available to remote clients. This allows the xvidtune client to connect from another host. This is equivalent to the AllowNonLocalXvidtune XF86Config(5) file option. By default non-local connections are not allowed. -appendauto Append the automatic XFree86 server configuration data to an existing configuration file. By default this is only done when an existing configuration file does not contain any ServerLay- out sections or any Screen sections. This can be useful for providing configuration details for things not currently han- dled by the automatic configuration mechanism, such as input devices, font paths, etc. -autoconfig Use automatic XFree86 server configuration, even if a configu- ration file is available. By default automatic configuration is only used when a configuration file cannot be found. -bgamma value Set the blue gamma correction. value must be between 0.1 and 10. The default is 1.0. Not all drivers support this. See also the -gamma, -rgamma, and -ggamma options. -bpp n No longer supported. Use -depth to set the color depth, and use -fbbpp if you really need to force a non-default frame- buffer (hardware) pixel format. -configure When this option is specified, the XFree86 server loads all video driver modules, probes for available hardware, and writes out an initial XF86Config(5) file based on what was detected. This option currently has some problems on some platforms, but in most cases it is a good way to bootstrap the configuration process. This option is only available when the server is run as root (i.e, with real-uid 0). -crt /dev/ttyXX SCO only. This is the same as the vt option, and is provided for compatibility with the native SCO X server. -depth n Sets the default color depth. Legal values are 1, 4, 8, 15, 16, and 24. Not all drivers support all values. -disableModInDev Disable dynamic modification of input device settings. This is equivalent to the DisableModInDev XF86Config(5) file option. -disableVidMode Disable the the parts of the VidMode extension (used by the xvidtune client) that can be used to change the video modes. This is equivalent to the DisableVidModeExtension XF86Config(5) file option. -fbbpp n Sets the number of framebuffer bits per pixel. You should only set this if you're sure it's necessary; normally the server can deduce the correct value from -depth above. Useful if you want to run a depth 24 configuration with a 24 bpp framebuffer rather than the (possibly default) 32 bpp framebuffer (or vice versa). Legal values are 1, 8, 16, 24, 32. Not all drivers support all values. -flipPixels Swap the default values for the black and white pixels. -gamma value Set the gamma correction. value must be between 0.1 and 10. The default is 1.0. This value is applied equally to the R, G and B values. Those values can be set independently with the -rgamma, -bgamma, and -ggamma options. Not all drivers support this. -ggamma value Set the green gamma correction. value must be between 0.1 and 10. The default is 1.0. Not all drivers support this. See also the -gamma, -rgamma, and -bgamma options. -ignoreABI The XFree86 server checks the ABI revision levels of each mod- ule that it loads. It will normally refuse to load modules with ABI revisions that are newer than the server's. This is because such modules might use interfaces that the server does not have. When this option is specified, mismatches like this are downgraded from fatal errors to warnings. This option should be used with care. -keeptty Prevent the server from detaching its initial controlling ter- minal. This option is only useful when debugging the server. Not all platforms support (or can use) this option. -keyboard keyboard-name Use the XF86Config(5) file InputDevice section called keyboard- name as the core keyboard. This option is ignored when the ServerLayout section specifies a core keyboard. In the absence of both a ServerLayout section and this option, the first rele- vant InputDevice section is used for the core keyboard. -layout layout-name Use the XF86Config(5) file ServerLayout section called layout- name. By default the first ServerLayout section is used. -logfile filename Use the file called filename as the XFree86 server log file. The default log file is /var/log/XFree86.n.log on most plat- forms, where n is the display number of the XFree86 server. The default may be in a different directory on some platforms. This option is only available when the server is run as root (i.e, with real-uid 0). -logverbose [n] Sets the verbosity level for information printed to the XFree86 server log file. If the n value isn't supplied, each occur- rence of this option increments the log file verbosity level. When the n value is supplied, the log file verbosity level is set to that value. The default log file verbosity level is 3. -modulepath searchpath Set the module search path to searchpath. searchpath is a comma separated list of directories to search for XFree86 server modules. This option is only available when the server is run as root (i.e, with real-uid 0). -noappendauto Disable appending the automatic XFree86 server configuration to a partial static configuration. -nosilk Disable Silken Mouse support. -pixmap24 Set the internal pixmap format for depth 24 pixmaps to 24 bits per pixel. The default is usually 32 bits per pixel. There is normally little reason to use this option. Some client appli- cations don't like this pixmap format, even though it is a per- fectly legal format. This is equivalent to the Pixmap XF86Con- fig(5) file option. -pixmap32 Set the internal pixmap format for depth 24 pixmaps to 32 bits per pixel. This is usually the default. This is equivalent to the Pixmap XF86Config(5) file option. -pointer pointer-name Use the XF86Config(5) file InputDevice section called pointer- name as the core pointer. This option is ignored when the ServerLayout section specifies a core pointer. In the absence of both a ServerLayout section and this option, the first rele- vant InputDevice section is used for the core pointer. -probeonly Causes the server to exit after the device probing stage. The XF86Config(5) file is still used when this option is given, so information that can be auto-detected should be commented out. -quiet Suppress most informational messages at startup. The verbosity level is set to zero. -rgamma value Set the red gamma correction. value must be between 0.1 and 10. The default is 1.0. Not all drivers support this. See also the -gamma, -bgamma, and -ggamma options. -scanpci When this option is specified, the XFree86 server scans the PCI bus, and prints out some information about each device that was detected. See also scanpci(1) and pcitweak(1). -screen screen-name Use the XF86Config(5) file Screen section called screen-name. By default the screens referenced by the default ServerLayout section are used, or the first Screen section when there are no ServerLayout sections. -showconfig This is the same as the -version option, and is included for compatibility reasons. It may be removed in a future release, so the -version option should be used instead. -weight nnn Set RGB weighting at 16 bpp. The default is 565. This applies only to those drivers which support 16 bpp. -verbose [n] Sets the verbosity level for information printed on stderr. If the n value isn't supplied, each occurrence of this option increments the verbosity level. When the n value is supplied, the verbosity level is set to that value. The default ver- bosity level is 0. -version Print out the server version, patchlevel, release date, the operating system/platform it was built on, and whether it includes module loader support. -xf86config file Read the server configuration from file. This option will work for any file when the server is run as root (i.e, with real-uid 0), or for files relative to a directory in the config search path for all other users. KEYBOARD The XFree86 server is normally configured to recognize various special combinations of key presses that instruct the server to perform some action, rather than just sending the key press event to a client appli- cation. The default XKEYBOARD keymap defines the key combinations listed below. The server also has these key combinations builtin to its event handler for cases where the XKEYBOARD extension is not being used. When using the XKEYBOARD extension, which key combinations per- form which actions is completely configurable. For more information about when the builtin event handler is used to recognize the special key combinations, see the documentation on the HandleSpecialKeys option in the XF86Config(5) man page. The special combinations of key presses recognized directly by XFree86 are: Ctrl+Alt+Backspace Immediately kills the server -- no questions asked. This can be disabled with the DontZap XF86Config(5) file option. Ctrl+Alt+Keypad-Plus Change video mode to next one specified in the configuration file. This can be disabled with the DontZoom XF86Config(5) file option. Ctrl+Alt+Keypad-Minus Change video mode to previous one specified in the configura- tion file. This can be disabled with the DontZoom XF86Con- fig(5) file option. Ctrl+Alt+Keypad-Multiply Not treated specially by default. If the AllowClosedownGrabs XF86Config(5) file option is specified, this key sequence kills clients with an active keyboard or mouse grab as well as killing any application that may have locked the server, nor- mally using the XGrabServer(3) Xlib function. Ctrl+Alt+Keypad-Divide Not treated specially by default. If the AllowDeactivateGrabs XF86Config(5) file option is specified, this key sequence deac- tivates any active keyboard and mouse grabs. Ctrl+Alt+F1...F12 For BSD and Linux systems with virtual terminal support, these keystroke combinations are used to switch to virtual terminals 1 through 12, respectively. This can be disabled with the DontVTSwitch XF86Config(5) file option. CONFIGURATION XFree86 typically uses a configuration file called XF86Config for its initial setup. Refer to the XF86Config(5) manual page for information about the format of this file. Starting with version 4.4, XFree86 has a mechanism for automatically generating a built-in configuration at run-time when no XF86Config file is present. The current version of this automatic configuration mecha- nism works in three ways. The first is via enhancements that have made many components of the XF86Config file optional. This means that information that can be probed or reasonably deduced doesn't need to be specified explicitly, greatly reducing the amount of built-in configuration information that needs to be generated at run-time. The second is to use an external utility called getconfig(1), when available, to use meta-configuration information to generate a suitable configuration for the primary video device. The meta-configuration information can be updated to allow an existing installation to get the best out of new hardware or to work around bugs that are found post- release. The third is to have "safe" fallbacks for most configuration informa- tion. This maximises the likelihood that the XFree86 server will start up in some usable configuration even when information about the spe- cific hardware is not available. The automatic configuration support for XFree86 is work in progress. It is currently aimed at the most popular hardware and software plat- forms supported by XFree86. Enhancements are planned for future releases. FILES The XFree86 server config file can be found in a range of locations. These are documented fully in the XF86Config(5) manual page. The most commonly used locations are shown here. /etc/X11/XF86Config Server configuration file. /etc/X11/XF86Config-4 Server configuration file. /etc/XF86Config Server configuration file. /usr/X11R6/etc/XF86Config Server configuration file. /usr/X11R6/lib/X11/XF86Config Server configuration file. /var/log/XFree86.n.log Server log file for display n. /usr/X11R6/bin/* Client binaries. /usr/X11R6/include/* Header files. /usr/X11R6/lib/* Libraries. /usr/X11R6/lib/X11/fonts/* Fonts. /usr/X11R6/lib/X11/rgb.txt Color names to RGB mapping. /usr/X11R6/lib/X11/XErrorDB Client error message database. /usr/X11R6/lib/X11/app-defaults/* Client resource specifications. /usr/X11R6/man/man?/* Manual pages. /etc/Xn.hosts Initial access control list for display n. SEE ALSO X(7), Xserver(1), xdm(1), xinit(1), XF86Config(5), xf86config(1), xf86cfg(1), xvidtune(1), apm(4), ati(4), chips(4), cirrus(4), cyrix(4), fbdev(4), glide(4), glint(4), i128(4), i740(4), i810(4), imstt(4), mga(4), neomagic(4), nsc(4), nv(4), r128(4), rendition(4), s3virge(4), siliconmotion(4), sis(4), sunbw2(4), suncg14(4), suncg3(4), suncg6(4), sunffb(4), sunleo(4), suntcx(4), tdfx(4), tga(4), trident(4), tseng(4), v4l(4), vesa(4), vga(4), vmware(4), README , RELNOTES , README.mouse , README.DRI , Install . AUTHORS XFree86 has many contributors world wide. The names of most of them can be found in the documentation, CHANGELOG files in the source tree, and in the actual source code. The names of the contributors to the current release can be found in the release notes . XFree86 was originally based on X386 1.2 by Thomas Roell, which was contributed to the then X Consortium's X11R5 distribution by SGCS. The project that became XFree86 was originally founded in 1992 by David Dawes, Glenn Lai, Jim Tsillas and David Wexelblat. XFree86 was later integrated in the then X Consortium's X11R6 release by a group of dedicated XFree86 developers, including the following: Stuart Anderson, Doug Anson, Gertjan Akkerman, Mike Bernson, Robin Cutshaw, David Dawes, Marc Evans, Pascal Haible, Matthieu Herrb, Dirk Hohndel, David Holland, Alan Hourihane, Jeffrey Hsu, Glenn Lai, Ted Lemon, Rich Murphey, Hans Nasten, Mark Snitily, Randy Ter- bush, Jon Tombs, Kees Verstoep, Paul Vixie, Mark Weaver, David Wex- elblat, Philip Wheatley, Thomas Wolfram, Orest Zborowski. Contributors to XFree86 4.4.0 include: Roi a Torkilsheyggi, Dave Airlie, Andrew Aitchison, Marco Antonio Alvarez, Alexandr Andreev, Jack Angel, Eric Anholt, Ani, Juuso berg, Sergey Babkin, Alexey Baj, Bang Jun-Young, Uberto Barbini, Kyle Bateman, Matthew W. S. Bell, Vano Beridze, Hiroyuki Bessho, Andrew Bevitt, Christian Biere, Martin Birgmeier, Jakub Bogusz, Le Hong Boi, Paul Bolle, Charl Botha, Stanislav Brabec, Eric Branlund, Rob Braun, Peter Breitenlohner, Michael Breuer, Kevin Brosius, Frederick Bruckman, Oswald Buddenhagen, Nilgn Belma Bugner, Julian Cable, Yukun Chen, Ping Cheng, Juliusz Chroboczek, Fred Clift, Alan Coopersmith, Martin Costabel, Alan Cox, Michel Dnzer, David Dawes, Leif Delgass, Richard Dengler, John Dennis, Thomas Dickey, Randy Dunlap, Chris Edgington, Paul Eggert, Paul Elliott, Emmanuel, Visanu Euarchukiati, Mike Fabian, Rik Faith, Brian Feldman, Wu Jian Feng, Kevin P. Fleming, Jose Fonseca, Hugues Fournier, Miguel Fre- itas, Quentin Garnier, Brre Gaup, Michael Geddes, Frank Giessler, Hansruedi Glauser, Wolfram Gloger, Alexander Gottwald, Guido Guen- ther, Ralf Habacker, Bruno Haible, Lindsay Haigh, John Harper, James Harris, Mike A. Harris, Bryan W. Headley, John Heasley, Thomas Hellstrm, Matthieu Herrb, Jonathan Hough, Alan Hourihane, Joel Ray Holveck, Harold L Hunt II, Ricardo Y. Igarashi, Mutsumi ISHIKAWA , Tsuyoshi ITO, Kean Johnston, Nicolas JOLY, Phil Jones, Roman Kagan, Theppitak Karoonboonyanan, Etsushi Kato, Koike Kazuhiko, Aidan Kehoe, Juergen Keil, Andreas Kies, Thomas Klausner, Mario Klebsch, Egmont Koblinger, Vlatko Kosturjak, Kusanagi Kouichi, Mel Kravitz, Peter Kunzmann, Nick Kurshev, Mashrab Kuva- tov, Marc La France, Radics Laszlo, Zarick Lau, Nolan Leake, Michel Lespinasse, Noah Levitt, Dave Love, H.J. Lu, Lubos Lunak, Sven Luther, Torrey T. Lyons, Calum Mackay, Paul Mackerras, Roland Mainz, Kevin Martin, Michal Maruska, Kensuke Matsuzaki, maxim, Stephen McCamant, Ferris McCormick, Luke Mewburn, Nicholas Miell, Robert Millan, Hisashi MIYASHITA, Gregory Mokhin, Patrik Mont- gomery, Joe Moss, Josselin Mouette, Frank Murphy, Reiko Nakajima, Paul Nasrat, Dan Nelson, Bastien Nocera, Alexandre Oliva, Hideki ONO, Peter Osterlund, Sergey V. Oudaltsov, Samus Ciardhuin, Bob Paauwe, Paul Pacheco, Tom Pala, Ivan Pascal, T. M. Pederson, Earle F. Philhower III, Nils Philippsen, Manfred Pohler, Alexander Pohoyda, Alain Poirier, Arnaud Quette, Jim Radford, Dale Rahn, Lucas Correia Villa Real, Ren Rebe, Tyler Retzlaff, Sebastian Rit- tau, Tim Roberts, Alastair M. Robinson, Branden Robinson, Daniel Rock, Ian Romanick, Bernhard Rosenkraenzer, Mns Rullgrd, Andriy Rysin, Supphachoke Santiwichaya, Pablo Saratxaga, Matthias Scheler, Jens Schweikhardt, Danilo Segan, Shantonu Sen, Stas Sergeev, Jung- shik Shin, Nikola Smolenski, Andreas Stenglein, Paul Stewart, Alexander Stohr, Alan Strohm, Will Styles, James Su, Mike Sulivan, Ville Syrjala, Slava Sysoltsev, Akira TAGOH, Toshimitsu Tanaka, Akira Taniguchi, Owen Taylor, Neil Terry, Jonathan Thambidurai, John Tillman, Adam Tlalka, Linus Torvalds, Christian Tosta, Warren Turkal, Stephen J. Turnbull, Ted Unangst, Mike Urban, Simon Vallet, Thuraiappah Vaseeharan, Luc Verhaegen, Yann Vernier, Michail Vidi- assov, Sebastiano Vigna, Mark Vojkovich, Stephane Voltz, Boris Weissman, Keith Whitwell, Thomas Winischhofer, Eric Wittry, Kim Woelders, Roy Wood, Jason L. Wright, Joerg Wunsch, Chisato Yamauchi, Hui Yu. Contributors to XFree86 4.5.0 include: Szilveszter Adam, Tim Adye, Taneem Ahmed, Andrew Aitchison, Raoul Arranz, Zaeem Arshad, Dwayne Bailey, Ilyas Bakirov, Denis Barbier, Kyle Bateman, J. Scott Berg, Thomas Biege, Dmitry Bolkhovityanov, H Merijn Brand, Peter Breitenlohner, Benjamin Burke, Dale L Busacker, busmanus, Julian Cable, Mike Castle, David M. Clay, Philip Clayton, Alan Coopersmith, Ricardo Cruz, Michel Dnzer, J. D. Darling, David Dawes, Michael Dawes, Rafael vila de Espndola, Rick De Laet, Josip Deanovic, Angelus Dei, Laurent Deniel, Thomas Dickey, Stefan Dirsch, Charles Dobson, DRI Project, Emmanuel Dreyfus, Boris Dusek, Georgina O. Economou, Egbert Eich, Bernd Ernesti, Chris Evans, Rik Faith, Adrian Fiechter, Matthew Fischer, FreeType Team, Terry R. Frienrichsen, Christopher Fynn, Hubert Gburzynski, Nicolas George, Frank Giessler, Fred Gleason, Dmitry Golubev, Alexander Gottwald, Herbert Graeber, Miroslav Halas, John Harper, Harshula, John Heasley, Matthieu Herrb, David Holl, Alex Holland, Peng Hongbo, Alan Hourihane, Harold L Hunt II, Alan Iwi, Timur Jamakeev, Paul Jarc, Kean Johnston, Nicolas Joly, Mark Kandianis, Kaleb Keithley, Chamath Keppitiyagama, Jung-uk Kim, Satoshi Kimura, Michael Knud- sen, Vlatko Kosturjak, Alexei Kosut, Anton Kovalenko, Joachim Kue- bart, Marc La France, David Laight, Zarick Lau, Pierre Lalet, Michael Lampe, Lanka Linux User Group, Nolan Leake, Werner Lemberg, Dejan Lesjak, Noah Levitt, Greg Lewis, Bernhard R Link, Jonas Lund, S. Lussos, Torrey T. Lyons, Roland Mainz, N Marci, Kevin Martin, Stephen McCamant, Mesa Developers, Luke Mewburn, Petr Mladek, Bram Moolenaar, Steve Murphy, Ishikawa MUTSUMI, Radu Octavian, Lee Olsen, Greg Parker, Ivan Pascal, Alexander E. Patrakov, Mike Pechkin, Sos Pter, Zvezdan Petkovic, Alexander Pohoyda, Xie Qian, Bill Randle, Adam J. Richter, Tim Roberts, Bernhard Rosenkraenzer, Andreas Rden, Steve Rumble, Oleg Safiullin, Ty Sarna, Leo Savernik, Barry Scott, Shantonu Sen, Yu Shao, Andreas Schwab, Matthias Scheler, Dan Shearer, Michael Shell, Paul Shupak, Alexander Stohr, Marius Strobl, Mikko Markus Torni, Jess Thrysoee, Izumi Tsutsui, Tungsten Graphics, Ryan Underwood, Tristan Van Berkom, Michael van Elst, Phillip Vandry, Roman Vasylyev, Luc Verhaegen, Rodion Vshevtsov, Mark Vojkovich, Edi Werner, Keith Whitwell, Scot Wilcoxon, Dave Williss, Thomas Winischhofer, Kuang-che Wu, X-Oz Technologies, Chisato Yamauchi, Michael Yaroslavtsev, David Yerger, Su Yong, Hui Yu, Sagi Zeevi, Christian Zietz. Contributors to XFree86 4.6.0 include: ASPEED Technologies, Andrew Aitchison, James Ascroft-Leigh, tienne Bersac, Peter Breitenlohner, Terry Chang, Y. C. Chen, Jeff Chua, James Cloos, Alan Coopersmith, Miguel Gonzlez Cuadrado, David Dawes, Thomas Dickey, Stefan Dirsch, Bernd Ernesti, Jordan Frank, Will L G, Frank Giessler, Thorsten Glaser, Damian Janusz Gruszka, Lukas Hejtmanek, Evil Mr Henry, Jens Herden, Alan Hourihane, Nico- las Joly, Bang Jun-Young, Alexander Kabaev, Satoshi Kimura, Milos Komarcevic, Marc La France, Dejan Lesjak, Khong Jye Liew, Jong Lin, Michael Lorenz, Michael Macallan, Michal Maruska, Luke Mewburn, Timothy Musson, Newsh, Takaaki Nomura, Ivan Pascal, Bob Peterson, Pierre, Aaron Plattner, Alexander Pohoyda, Jeremy C. Reed, Conrad Schuler, Bruno Schwander, Olaf Seibert, Aaron Solochek, Helmar Spangenberg, Ken Stailey, Tobias Stoeckmann, Tungsten Graphics, James Richard Tyrer, Staffan Ulfberg, Denis Vlasenko, Mark Vojkovich, Tom Williams, Dave Williss, X-Oz Technologies, XGI, Christos Zoulas. XFree86 source is available from the FTP server , and from the XFree86 CVS server . Documentation and other information can be found from the XFree86 web site . LEGAL XFree86 is copyright software, provided under licenses that permit mod- ification and redistribution in source and binary form without fee. Portions of XFree86 are copyright by The XFree86 Project, Inc. and numerous authors and contributors from around the world. Licensing information can be found at . Refer to the source code for specific copyright notices. XFree86(R) is a registered trademark of The XFree86 Project, Inc. XF86Config(5) XF86Config(5) NAME XF86Config - Configuration File for XFree86 INTRODUCTION XFree86 supports several mechanisms for supplying/obtaining configura- tion and run-time parameters: command line options, environment vari- ables, the XF86Config configuration file, auto-detection, and fallback defaults. When the same information is supplied in more than one way, the highest precedence mechanism is used. The list of mechanisms is ordered from highest precedence to lowest. Note that not all parame- ters can be supplied via all methods. The available command line options and environment variables (and some defaults) are described in the Xserver(1) and XFree86(1) manual pages. Most configuration file parameters, with their defaults, are described below. Driver and mod- ule specific configuration parameters are described in the relevant driver or module manual page. Starting with version 4.4, XFree86 has support for generating a usable configuration at run-time when no XF86Config file is provided. The initial version of this automatic configuration support is targeted at the most popular hardware and software platforms supported by XFree86. Some details about how this works can be found in the XFree86(1) and getconfig(1) manual pages. Starting with version 4.5, it is possible for this automatically gener- ated configuration to supplement a partial static configuration. The partial static configuration can be used to provide non-default config- uration details for things that are not currently handled by the auto- matic configuration mechanism. DESCRIPTION XFree86 uses a configuration file called XF86Config for its initial setup. This configuration file is searched for in the following places when the server is started as a normal user: /etc/X11/ /usr/X11R6/etc/X11/ /etc/X11/$XF86CONFIG /usr/X11R6/etc/X11/$XF86CONFIG /etc/X11/XF86Config-4 /etc/X11/XF86Config /etc/XF86Config /usr/X11R6/etc/X11/XF86Config. /usr/X11R6/etc/X11/XF86Config-4 /usr/X11R6/etc/X11/XF86Config /usr/X11R6/lib/X11/XF86Config. /usr/X11R6/lib/X11/XF86Config-4 /usr/X11R6/lib/X11/XF86Config where is a relative path (with no ".." components) specified with the -xf86config command line option, $XF86CONFIG is the relative path (with no ".." components) specified by that environment variable, and is the machine's hostname as reported by gethostname(3). When the XFree86 server is started by the "root" user, the config file search locations are as follows: /etc/X11/ /usr/X11R6/etc/X11/ $XF86CONFIG /etc/X11/$XF86CONFIG /usr/X11R6/etc/X11/$XF86CONFIG $HOME/XF86Config /etc/X11/XF86Config-4 /etc/X11/XF86Config /etc/XF86Config /usr/X11R6/etc/X11/XF86Config. /usr/X11R6/etc/X11/XF86Config-4 /usr/X11R6/etc/X11/XF86Config /usr/X11R6/lib/X11/XF86Config. /usr/X11R6/lib/X11/XF86Config-4 /usr/X11R6/lib/X11/XF86Config where is the path specified with the -xf86config command line option (which may be absolute or relative), $XF86CONFIG is the path specified by that environment variable (absolute or relative), $HOME is the path specified by that environment variable (usually the home directory), and is the machine's hostname as reported by gethostname(3). The XF86Config file is composed of a number of sections which may be present in any order. Each section has the form: Section "SectionName" SectionEntry ... EndSection The section names are: Files File pathnames ServerFlags Server flags Module Dynamic module loading InputDevice Input device description Device Graphics device description VideoAdaptor Xv video adaptor description Monitor Monitor description Modes Video modes descriptions Screen Screen configuration ServerLayout Overall layout DRI DRI-specific configuration Vendor Vendor-specific configuration The following obsolete section names are still recognised for compati- bility purposes. In new config files, the InputDevice section should be used instead. Keyboard Keyboard configuration Pointer Pointer/mouse configuration The old XInput section is no longer recognised. The ServerLayout sections are at the highest level. They bind together the input and output devices that will be used in a session. The input devices are described in the InputDevice sections. Output devices usu- ally consist of multiple independent components (e.g., and graphics board and a monitor). These multiple components are bound together in the Screen sections, and it is these that are referenced by the Server- Layout section. Each Screen section binds together a graphics board and a monitor. The graphics boards are described in the Device sec- tions, and the monitors are described in the Monitor sections. Config file keywords are case-insensitive, and "_" characters are ignored. Most strings (including Option names) are also case-insensi- tive, and insensitive to white space and "_" characters. Each config file entry usually takes up a single line in the file. They consist of a keyword, which is possibly followed by one or more arguments, with the number and types of the arguments depending on the keyword. The argument types are: Integer an integer number in decimal, hex or octal Real a floating point number String a string enclosed in double quote marks (") Note: hex integer values must be prefixed with "0x", and octal values with "0". A special keyword called Option may be used to provide free-form data to various components of the server. The Option keyword takes either one or two string arguments. The first is the option name, and the optional second argument is the option value. Some commonly used option value types include: Integer an integer number in decimal, hex or octal Real a floating point number String a sequence of characters Boolean a boolean value (see below) Frequency a frequency value (see below) Note that all Option values, not just strings, must be enclosed in quotes. Boolean options may optionally have a value specified. When no value is specified, the option's value is TRUE. The following boolean option values are recognised as TRUE: 1, on, true, yes and the following boolean option values are recognised as FALSE: 0, off, false, no If an option name is prefixed with "No", then the option value is negated. Example: the following option entries are equivalent: Option "Accel" "Off" Option "NoAccel" Option "NoAccel" "On" Option "Accel" "false" Option "Accel" "no" Frequency option values consist of a real number that is optionally followed by one of the following frequency units: Hz, k, kHz, M, MHz When the unit name is omitted, the correct units will be determined from the value and the expectations of the appropriate range of the value. It is recommended that the units always be specified when using frequency option values to avoid any errors in determining the value. FILES SECTION The config file may have multiple Files sections. These are used to specify some path names required by the server. Earlier Files sections have priority over later sections. This means that a path name speci- fied in a Files section cannot be overridden by a later Files section (this behaviour may change in the future). Some of these paths can also be set from the command line (see Xserver(1) and XFree86(1)). The command line settings override the values specified in the config file. The Files section is optional, as are all of the entries that may appear in it. The entries that can appear in this section are: Identifier "name" specifies an optional identifying name for the Files section. FontPath "path" sets the search path for fonts. This path is a comma separated list of font path elements which the XFree86 server searches for font databases. Multiple FontPath entries may be specified, and they will be concatenated to build up the fontpath used by the server. Font path elements may be either absolute directory paths, or a font server identifier. Font server identifiers have the form: /: where is the transport type to use to connect to the font server (e.g., unix for UNIX-domain sockets or tcp for a TCP/IP connection), is the hostname of the machine running the font server, and is the port number that the font server is listening on (usually 7100). When this entry is not specified in the config file, the server falls back to the compiled-in default font path, which contains the following font path elements: /usr/X11R6/lib/X11/fonts/misc/ /usr/X11R6/lib/X11/fonts/Speedo/ /usr/X11R6/lib/X11/fonts/Type1/ /usr/X11R6/lib/X11/fonts/CID/ /usr/X11R6/lib/X11/fonts/75dpi/ /usr/X11R6/lib/X11/fonts/100dpi/ The recommended font path contains the following font path ele- ments: /usr/X11R6/lib/X11/fonts/local/ /usr/X11R6/lib/X11/fonts/misc/ /usr/X11R6/lib/X11/fonts/75dpi/:unscaled /usr/X11R6/lib/X11/fonts/100dpi/:unscaled /usr/X11R6/lib/X11/fonts/Type1/ /usr/X11R6/lib/X11/fonts/CID/ /usr/X11R6/lib/X11/fonts/Speedo/ /usr/X11R6/lib/X11/fonts/75dpi/ /usr/X11R6/lib/X11/fonts/100dpi/ Font path elements that are found to be invalid are removed from the font path when the server starts up. RGBPath "path" sets the path name for the RGB color database. When this entry is not specified in the config file, the server falls back to the compiled-in default RGB path, which is: /usr/X11R6/lib/X11/rgb Note that an implicit .txt is added to this path if the server was com- piled to use text rather than binary format RGB color databases. ModulePath "path" sets the search path for loadable XFree86 server modules. This path is a comma separated list of directories which the XFree86 server searches for loadable modules loading in the order speci- fied. Multiple ModulePath entries may be specified, and they will be concatenated to build the module search path used by the server. Options Option flags may be specified in Files sections. SERVERFLAGS SECTION The config file may have multiple ServerFlags sections. These are used to specify some global XFree86 server options. Earlier ServerFlags sections have priority over later sections. This means that an option specified in a ServerFlags section cannot be overridden by a later ServerFlags section. Except for the Identifier entry, all of the entries in this section are Options, although for compatibility pur- poses some of the old style entries are still recognised. Those old style entries are not documented here, and using them is discouraged. The ServerFlags section is optional, as are the entries that may be specified in it. Options specified in this section (with the exception of the "Default- ServerLayout" Option) may be overridden by Options specified in the active ServerLayout section. Options with command line equivalents are overridden when their command line equivalent is used. Entries recog- nised by this section are: Identifier "name" specifies an optional identifying name for the ServerFlags sec- tion. Option "DefaultServerLayout" "layout-id" This specifies the default ServerLayout section to use in the absence of the -layout command line option. Option "NoTrapSignals" "boolean" This prevents the XFree86 server from trapping a range of unex- pected fatal signals and exiting cleanly. Instead, the XFree86 server will die and drop core where the fault occurred. The default behaviour is for the XFree86 server to exit cleanly, but still drop a core file. In general you never want to use this option unless you are debugging an XFree86 server problem and know how to deal with the consequences. Option "DontVTSwitch" "boolean" This disallows the use of the Ctrl+Alt+Fn sequence (where Fn refers to one of the numbered function keys). That sequence is normally used to switch to another "virtual terminal" on operat- ing systems that have this feature. When this option is enabled, that key sequence has no special meaning and is passed to clients. Default: off. Option "DontZap" "boolean" This disallows the use of the Ctrl+Alt+Backspace sequence. That sequence is normally used to terminate the XFree86 server. When this option is enabled, that key sequence has no special meaning and is passed to clients. Default: off. Option "DontZoom" "boolean" This disallows the use of the Ctrl+Alt+Keypad-Plus and Ctrl+Alt+Keypad-Minus sequences. These sequences allows you to switch between video modes. When this option is enabled, those key sequences have no special meaning and are passed to clients. Default: off. Option "DisableVidModeExtension" "boolean" This disables the parts of the VidMode extension used by the xvidtune client that can be used to change the video modes. Default: the VidMode extension is enabled. Option "AllowNonLocalXvidtune" "boolean" This allows the xvidtune client (and other clients that use the VidMode extension) to connect from another host. Default: off. Option "DisableModInDev" "boolean" This disables the parts of the XFree86-Misc extension that can be used to modify the input device settings dynamically. Default: that functionality is enabled. Option "AllowNonLocalModInDev" "boolean" This allows a client to connect from another host and change keyboard and mouse settings in the running server. Default: off. Option "AllowMouseOpenFail" "boolean" This allows the server to start up even if the mouse device can't be opened/initialised. Default: false. Option "VTInit" "command" Runs command after the VT used by the server has been opened. The command string is passed to "/bin/sh -c", and is run with the real user's id with stdin and stdout set to the VT. The purpose of this option is to allow system dependent VT initiali- sation commands to be run. This option should rarely be needed. Default: not set. Option "VTSysReq" "boolean" enables the SYSV-style VT switch sequence for non-SYSV systems which support VT switching. This sequence is Alt-SysRq followed by a function key (Fn). This prevents the XFree86 server trap- ping the keys used for the default VT switch sequence, which means that clients can access them. Default: off. Option "XkbDisable" "boolean" disable/enable the XKEYBOARD extension. The -kb command line option overrides this config file option. Default: XKB is enabled. Option "BlankTime" "time" sets the inactivity timeout for the blanking phase of the screensaver. time is in minutes. This is equivalent to the XFree86 server's `-s' flag, and the value can be changed at run- time with xset(1). Default: 10 minutes. Option "StandbyTime" "time" sets the inactivity timeout for the "standby" phase of DPMS mode. time is in minutes, and the value can be changed at run- time with xset(1). Default: 20 minutes. This is only suitable for VESA DPMS compatible monitors, and may not be supported by all video drivers. It is only enabled for screens that have the "DPMS" option set (see the MONITOR section below). Option "SuspendTime" "time" sets the inactivity timeout for the "suspend" phase of DPMS mode. time is in minutes, and the value can be changed at run- time with xset(1). Default: 30 minutes. This is only suitable for VESA DPMS compatible monitors, and may not be supported by all video drivers. It is only enabled for screens that have the "DPMS" option set (see the MONITOR section below). Option "OffTime" "time" sets the inactivity timeout for the "off" phase of DPMS mode. time is in minutes, and the value can be changed at run-time with xset(1). Default: 40 minutes. This is only suitable for VESA DPMS compatible monitors, and may not be supported by all video drivers. It is only enabled for screens that have the "DPMS" option set (see the MONITOR section below). Option "Pixmap" "bpp" This sets the pixmap format to use for depth 24. Allowed values for bpp are 24 and 32. Default: 32 unless driver constraints don't allow this (which is rare). Note: some clients don't behave well when this value is set to 24. Option "PC98" "boolean" Specify that the machine is a Japanese PC-98 machine. This should not be enabled for anything other than the Japanese-spe- cific PC-98 architecture. Default: auto-detected. Option "Log" "logflag" This option enables special handling for log files that may be useful when debugging certain types of problems. The values for logflag are Flush and Sync. Flush causes the log file buffer to be flushed after each write. Sync causes the log file buffer to be flushed and the file data to be written to the disk after each write. The default is for neither of these flags to be enabled. Enabling these flags during normal operation may degrade performance and/or lengthen startup time. Option "NoPM" "boolean" Disables something to do with power management events. Default: PM enabled on platforms that support it. Option "Xinerama" "boolean" enable or disable XINERAMA extension. Default is disabled. Option "AllowDeactivateGrabs" "boolean" This option enables the use of the Ctrl+Alt+Keypad-Divide key sequence to deactivate any active keyboard and mouse grabs. Default: off. Option "AllowClosedownGrabs" "boolean" This option enables the use of the Ctrl+Alt+Keypad-Multiply key sequence to kill clients with an active keyboard or mouse grab as well as killing any application that may have locked the server, normally using the XGrabServer(3) Xlib function. Default: off. Note that the options AllowDeactivateGrabs and AllowClosedown- Grabs will allow users to remove the grab used by screen saver/locker programs. An API was written to such cases. If you enable this option, make sure your screen saver/locker is updated. Option "HandleSpecialKeys" "when" This option controls when the server uses the builtin handler to process special key combinations (such as Ctrl+Alt+Backspace). Normally the XKEYBOARD extension keymaps will provide mappings for each of the special key combinations, so the builtin handler is not needed unless the XKEYBOARD extension is disabled. The value of when can be Always, Never, or WhenNeeded. Default: Use the builtin handler only if needed. The server will scan the keymap for a mapping to the Terminate action and, if found, use XKEYBOARD for processing actions, otherwise the builtin handler will be used. MODULE SECTION The config file may have multiple Module section. They are used to specify additional XFree86 server modules to be loaded. This section is ignored when the XFree86 server is built in static form. The types of modules normally loaded in this section are XFree86 server extension modules, and font rasteriser modules. Most other module types are loaded automatically when they are needed via other mechanisms. The Module section is optional, as are all of the entries that may be spec- ified in it. Identifier "name" specifies an optional identifying name for the Module section. Options Option flags may be specified in Module sections. Entries that identify which modules to pre-load may be in two forms. The first and most commonly used form is an entry that uses the Load keyword, as described here: Load "modulename" This instructs the server to load the module called modulename. The module name given should be the module's standard name, not the module file name. The standard name is case-sensitive, and does not include the "lib" prefix, or the ".a", ".o", or ".so" suffixes. Example: the Type 1 font rasteriser can be loaded with the fol- lowing entry: Load "type1" The second form of entry is a SubSection, with the subsection name being the module name, and the contents of the SubSection being Options that are passed to the module when it is loaded. Example: the extmod module (which contains a miscellaneous group of server extensions) can be loaded, with the XFree86-DGA extension dis- abled by using the following entry: SubSection "extmod" Option "omit XFree86-DGA" EndSubSection Modules are searched for in each directory specified in the ModulePath search path, and in the drivers, input, extensions, fonts, and internal subdirectories of each of those directories. In addition to this, operating system specific subdirectories of all the above are searched first if they exist. To see what font and extension modules are available, check the con- tents of the following directories: /usr/X11R6/lib/modules/fonts /usr/X11R6/lib/modules/extensions The "bitmap" font modules is loaded automatically. It is recommended that at very least the "extmod" extension module be loaded. If it isn't some commonly used server extensions (like the SHAPE extension) will not be available. INPUTDEVICE SECTION The config file may have multiple InputDevice sections. There will normally be at least two: one for the core (primary) keyboard, and one of the core pointer. If either of these two is missing, a default con- figuration for the missing ones will be used. Currently the default configuration may not work as expected on all platforms. InputDevice sections have the following format: Section "InputDevice" Identifier "name" Driver "inputdriver" options ... EndSection The Identifier and Driver entries are required in all InputDevice sec- tions. All other entries are optional. The Identifier entry specifies the unique name for this input device. The Driver entry specifies the name of the driver to use for this input device. When using the loadable server, the input driver module "inputdriver" will be loaded for each active InputDevice section. An InputDevice section is considered active if it is referenced by an active ServerLayout section, if it is referenced by the -keyboard or -pointer command line options, or if it is selected implicitly as the core pointer or keyboard device in the absence of such explicit refer- ences. The most commonly used input drivers are "keyboard" and "mouse". In the absence of an explicitly specified core input device, the first InputDevice marked as CorePointer (or CoreKeyboard) is used. If there is no match there, the first InputDevice that uses the "mouse" (or "keyboard" or "kbd") driver is used. The final fallback is to use built-in default configurations. InputDevice sections recognise some driver-independent Options, which are described here. See the individual input driver manual pages for a description of the device-specific options. Option "CorePointer" When this is set, the input device is installed as the core (primary) pointer device. There must be exactly one core pointer. If this option is not set here, or in the ServerLayout section, or from the -pointer command line option, then the first input device that is capable of being used as a core pointer will be selected as the core pointer. This option is implicitly set when the obsolete Pointer section is used. Option "CoreKeyboard" When this is set, the input device is to be installed as the core (primary) keyboard device. There must be exactly one core keyboard. If this option is not set here, in the ServerLayout section, or from the -keyboard command line option, then the first input device that is capable of being used as a core key- board will be selected as the core keyboard. This option is implicitly set when the obsolete Keyboard section is used. Option "AlwaysCore" "boolean" Option "SendCoreEvents" "boolean" Both of these options are equivalent, and when enabled cause the input device to always report core events. This can be used, for example, to allow an additional pointer device to generate core pointer events (like moving the cursor, etc). Option "HistorySize" "number" Sets the motion history size. Default: 0. Option "SendDragEvents" "boolean" ??? DEVICE SECTION The config file may have multiple Device sections. There must be at least one, for the video card being used. Device sections have the following format: Section "Device" Identifier "name" Driver "driver" entries ... EndSection The Identifier and Driver entries are required in all Device sections. All other entries are optional. The Identifier entry specifies the unique name for this graphics device. The Driver entry specifies the name of the driver to use for this graphics device. When using the loadable server, the driver mod- ule "driver" will be loaded for each active Device section. A Device section is considered active if it is referenced by an active Screen section. Device sections recognise some driver-independent entries and Options, which are described here. Not all drivers make use of these driver- independent entries, and many of those that do don't require them to be specified because the information is auto-detected. See the individual graphics driver manual pages for further information about this, and for a description of the device-specific options. Note that most of the Options listed here (but not the other entries) may be specified in the Screen section instead of here in the Device section. BusID "bus-id" This specifies the bus location of the graphics card. For PCI/AGP cards, the bus-id string has the form PCI:bus:device:function (e.g., "PCI:1:0:0" might be appropriate for an AGP card). This field is usually optional in single-head configurations when using the primary graphics card. In multi- head configurations, or when using a secondary graphics card in a single-head configuration, this entry is mandatory. Its main purpose is to make an unambiguous connection between the device section and the hardware it is representing. This information can usually be found by running the XFree86 server with the -scanpci command line option. Screen number This option is mandatory for cards where a single PCI entity can drive more than one display (i.e., multiple CRTCs sharing a sin- gle graphics accelerator and video memory). One Device section is required for each head, and this parameter determines which head each of the Device sections applies to. The legal values of number range from 0 to one less than the total number of heads per entity. Most drivers require that the primary screen (0) be present. Chipset "chipset" This usually optional entry specifies the chipset used on the graphics board. In most cases this entry is not required because the drivers will probe the hardware to determine the chipset type. Don't specify it unless the driver-specific docu- mentation recommends that you do. Ramdac "ramdac-type" This optional entry specifies the type of RAMDAC used on the graphics board. This is only used by a few of the drivers, and in most cases it is not required because the drivers will probe the hardware to determine the RAMDAC type where possible. Don't specify it unless the driver-specific documentation recommends that you do. DacSpeed speed DacSpeed speed-8 speed-16 speed-24 speed-32 This optional entry specifies the RAMDAC speed rating (which is usually printed on the RAMDAC chip). The speed is in MHz. When one value is given, it applies to all framebuffer pixel sizes. When multiple values are give, they apply to the framebuffer pixel sizes 8, 16, 24 and 32 respectively. This is not used by many drivers, and only needs to be specified when the speed rat- ing of the RAMDAC is different from the defaults built in to driver, or when the driver can't auto-detect the correct defaults. Don't specify it unless the driver-specific documen- tation recommends that you do. Clocks clock ... specifies the pixel that are on your graphics board. The clocks are in MHz, and may be specified as a floating point number. The value is stored internally to the nearest kHz. The ordering of the clocks is important. It must match the order in which they are selected on the graphics board. Multiple Clocks lines may be specified, and each is concatenated to form the list. Most drivers do not use this entry, and it is only required for some older boards with non-programmable clocks. Don't specify this entry unless the driver-specific documentation explicitly recommends that you do. ClockChip "clockchip-type" This optional entry is used to specify the clock chip type on graphics boards which have a programmable clock generator. Only a few XFree86 drivers support programmable clock chips. For details, see the appropriate driver manual page. VideoRam mem This optional entry specifies the amount of video ram that is installed on the graphics board. This is measured in kBytes. In most cases this is not required because the XFree86 server probes the graphics board to determine this quantity. The driver-specific documentation should indicate when it might be needed. BiosBase baseaddress This optional entry specifies the base address of the video BIOS for the VGA board. This address is normally auto-detected, and should only be specified if the driver-specific documentation recommends it. MemBase baseaddress This optional entry specifies the memory base address of a graphics board's linear frame buffer. This entry is not used by many drivers, and it should only be specified if the driver-spe- cific documentation recommends it. IOBase baseaddress This optional entry specifies the IO base address. This entry is not used by many drivers, and it should only be specified if the driver-specific documentation recommends it. ChipID id This optional entry specifies a numerical ID representing the chip type. For PCI cards, it is usually the device ID. This can be used to override the auto-detection, but that should only be done when the driver-specific documentation recommends it. ChipRev rev This optional entry specifies the chip revision number. This can be used to override the auto-detection, but that should only be done when the driver-specific documentation recommends it. TextClockFreq freq This optional entry specifies the pixel clock frequency that is used for the regular text mode. The frequency is specified in MHz. This is rarely used. IRQ interrupt-number This optional entry allows an interrupt number to be specified. Options Option flags may be specified in the Device sections. These include driver-specific options and driver-independent options. The former are described in the driver-specific documentation. Some of the latter are described below in the section about the Screen section, and they may also be included here. VIDEOADAPTOR SECTION The config file may have multiple VideoAdaptor sections, which may be referenced from Screen sections. VideoAdaptor sections have the following format: Section "VideoAdaptor" Identifier "name" entries ... SubSection "Port" entries ... EndSubSection ... EndSection The only mandatory entry in a VideoAdaptor section is the Identifier. Other entries include: VendorName "vendor" This optional entry specifies the video adaptor's manufacturer. BoardName "model" This optional entry specifies the video adaptor's model name. Options may be specified in the VideoAdaptor section. The Port SubSections provide information about video adaptor ports. Each of these may contain an Identifier entry and Options. MONITOR SECTION The config file may have multiple Monitor sections. There should nor- mally be at least one, for the monitor being used, but a default con- figuration will be created when one isn't specified. Monitor sections have the following format: Section "Monitor" Identifier "name" entries ... EndSection The only mandatory entry in a Monitor section is the Identifier entry. The Identifier entry specifies the unique name for this monitor. The Monitor section provides information about the specifications of the monitor, monitor-specific Options, and information about the video modes to use with the monitor. Specifying video modes is optional because the server now has a built-in list of VESA standard modes. When modes are specified explicitly in the Monitor section (with the Modes, ModeLine, or UseModes keywords), built-in modes with the same names are not included. Built-in modes with different names are, how- ever, still implicitly included. The entries that may be used in Monitor sections are described below. VendorName "vendor" This optional entry specifies the monitor's manufacturer. ModelName "model" This optional entry specifies the monitor's model. HorizSync horizsync-range gives the range(s) of horizontal sync frequencies supported by the monitor. horizsync-range may be a comma separated list of either discrete values or ranges of values. A range of values is two values separated by a dash. By default the values are in units of kHz. They may be specified in MHz or Hz if MHz or Hz is added to the end of the line. The data given here is used by the XFree86 server to determine if video modes are within the specifications of the monitor. This information should be available in the monitor's handbook. If this entry is omitted, a default range of 28-33kHz is used. VertRefresh vertrefresh-range gives the range(s) of vertical refresh frequencies supported by the monitor. vertrefresh-range may be a comma separated list of either discrete values or ranges of values. A range of values is two values separated by a dash. By default the values are in units of Hz. They may be specified in MHz or kHz if MHz or kHz is added to the end of the line. The data given here is used by the XFree86 server to determine if video modes are within the specifications of the monitor. This information should be available in the monitor's handbook. If this entry is omitted, a default range of 43-72Hz is used. DisplaySize width height This optional entry gives the width and height, in millimetres, of the picture area of the monitor. If given this is used to calculate the horizontal and vertical pitch (DPI) of the screen. Gamma gamma-value Gamma red-gamma green-gamma blue-gamma This is an optional entry that can be used to specify the gamma correction for the monitor. It may be specified as either a single value or as three separate RGB values. The values should be in the range 0.1 to 10.0, and the default is 1.0. Not all drivers are capable of using this information. UseModes "modesection-id" Include the set of modes listed in the Modes section called mod- esection-id. This make all of the modes defined in that section available for use by this monitor. Mode "name" This is an optional multi-line entry that can be used to provide definitions for video modes for the monitor. In most cases this isn't necessary because the built-in set of VESA standard modes will be sufficient. The Mode keyword indicates the start of a multi-line video mode description. The mode description is ter- minated with the EndMode keyword. The mode description consists of the following entries: DotClock clock is the dot (pixel) clock rate to be used for the mode. HTimings hdisp hsyncstart hsyncend htotal specifies the horizontal timings for the mode. VTimings vdisp vsyncstart vsyncend vtotal specifies the vertical timings for the mode. Flags "flag" ... specifies an optional set of mode flags, each of which is a separate string in double quotes. "Interlace" indicates that the mode is interlaced. "DoubleScan" indicates a mode where each scanline is doubled. "+HSync" and "-HSync" can be used to select the polarity of the HSync signal. "+VSync" and "-VSync" can be used to select the polarity of the VSync signal. "Composite" can be used to specify com- posite sync on hardware where this is supported. Addition- ally, on some hardware, "+CSync" and "-CSync" may be used to select the composite sync polarity. HSkew hskew specifies the number of pixels (towards the right edge of the screen) by which the display enable signal is to be skewed. Not all drivers use this information. This option might become necessary to override the default value sup- plied by the server (if any). "Roving" horizontal lines indicate this value needs to be increased. If the last few pixels on a scan line appear on the left of the screen, this value should be decreased. VScan vscan specifies the number of times each scanline is painted on the screen. Not all drivers use this information. Values less than 1 are treated as 1, which is the default. Gener- ally, the "DoubleScan" Flag mentioned above doubles this value. ModeLine "name" mode-description This entry is a more compact version of the Mode entry, and it also can be used to specify video modes for the monitor. is a single line format for specifying video modes. In most cases this isn't necessary because the built-in set of VESA standard modes will be sufficient. The mode-description is in four sections, the first three of which are mandatory. The first is the dot (pixel) clock. This is a single number specifying the pixel clock rate for the mode in MHz. The second section is a list of four numbers specifying the horizontal timings. These numbers are the hdisp, hsync- start, hsyncend, and htotal values. The third section is a list of four numbers specifying the vertical timings. These numbers are the vdisp, vsyncstart, vsyncend, and vtotal values. The final section is a list of flags specifying other characteris- tics of the mode. Interlace indicates that the mode is inter- laced. DoubleScan indicates a mode where each scanline is dou- bled. +HSync and -HSync can be used to select the polarity of the HSync signal. +VSync and -VSync can be used to select the polarity of the VSync signal. Composite can be used to specify composite sync on hardware where this is supported. Addition- ally, on some hardware, +CSync and -CSync may be used to select the composite sync polarity. The HSkew and VScan options men- tioned above in the Modes entry description can also be used here. Option "DPMS" "boolean" Set whether DPMS is enabled for the monitor. The default is taken from the monitor's DDC/EDID information if available, or false if not. Option "TargetRefresh" "refresh" Sets a target refresh rate to use for the monitor. If the moni- tor has valid modes with a refresh rate greater or equal to this value, those with a lower refresh rate will not be considered when determining the default resolution to use. This is improves the default resolution selection when none is specified explicitly. Default: TargetRefresh not used. Option "SyncOnGreen" "boolean" Set whether sync-on-green should be enabled. The availability of this option is driver-specific. Default: false. Option "PreferredMode" "XresxYres" Sets a preferred resolution to use for the default mode. By default the preferred mode resolution is taken from the DDC/EDID data if it is available and if it is provides a default mode preference. This is typically true for flat panel displays, which have a native/preferred resolution. This option is not used if the UsePreferredMode option is false. Option "UsePreferredMode" "boolean" Controls whether or not a preferred mode, either detected from the monitor's DDC/EDID data or provided explicitly with the Pre- ferredMode option, is used. Default: true. Options Additional Option flags, including driver-specific options, may be included in Monitor sections. MODES SECTION The config file may have multiple Modes sections, or none. These sec- tions provide a way of defining sets of video modes independently of the Monitor sections. Monitor sections may include the definitions provided in these sections by using the UseModes keyword. In most cases the Modes sections are not necessary because the built-in set of VESA standard modes will be sufficient. Modes sections have the following format: Section "Modes" Identifier "name" entries ... EndSection The Identifier entry specifies the unique name for this set of mode descriptions. The other entries permitted in Modes sections are the Mode and ModeLine entries that are described above in the Monitor sec- tion, as well as Options. SCREEN SECTION The config file may have multiple Screen sections. There must be at least one, for the "screen" being used. A "screen" represents the binding of a graphics device (Device section) and one or more monitors (Monitor sections). A Screen section is considered "active" if it is referenced by an active ServerLayout section or by the -screen command line option. If neither of those is present, the first Screen section found in the config file is considered the active one. Screen sections have the following format: Section "Screen" Identifier "name" Device "devid" Monitor "monid" entries ... SubSection "Display" entries ... EndSubSection ... EndSection The Identifier and Device entries are mandatory. All others are optional. The Identifier entry specifies the unique name for this screen. The Screen section provides information specific to the whole screen, including screen-specific Options. In multi-head configurations, there will be multiple active Screen sections, one for each head. The entries available for this section are: Device "device-id" This mandatory entry specifies the Device section to be used for this screen. This is what ties a specific graphics card to a screen. The device-id must match the Identifier of a Device section in the config file. Monitor monitor-num "monitor-id" One of these entries may be given for each monitor associated with this screen. In the absence of these entries, at least one default monitor will be created for the screen. The monitor-id field is mandatory, and specifies the Monitor section being ref- erenced. The monitor-num field is required when more than one monitor is being associated with the screen. Each referenced monitor should be given a unique monitor number. This monitor number may be given special significance by the driver, and it is also used to identify which Display subsection(s) are associ- ated with the screen/monitor. If this field is omitted in a multiple-monitor configuration, default values will be assigned. This is not recommended, and this behaviour may change in future revisions. If a Monitor name is not specified, a default configuration is used. Currently the default configuration may not function as expected on all platforms. VideoAdaptor "xv-id" specifies an optional Xv video adaptor description to be used with this screen. DefaultDepth depth specifies which color depth the server should use by default. The -depth command line option can be used to override this. If neither is specified, the default depth is driver-specific, but in most cases is 8. DefaultFbBpp bpp specifies which framebuffer layout to use by default. The -fbbpp command line option can be used to override this. In most cases the driver will chose the best default value for this. The only case where there is even a choice in this value is for depth 24, where some hardware supports both a packed 24 bit framebuffer layout and a sparse 32 bit framebuffer layout. Options Various Option flags may be specified in the Screen section. Some are driver-specific and are described in the driver docu- mentation. Others are driver-independent, and will eventually be described here. Option "Accel" Enables XAA (X Acceleration Architecture), a mechanism that makes video cards' 2D hardware acceleration available to the XFree86 server. This option is on by default, but it may be necessary to turn it off if there are bugs in the driver. There are many options to disable specific accelerated operations, listed below. Note that disabling an operation will have no effect if the operation is not accelerated (whether due to lack of support in the hardware or in the driver). Option "BiosLocation" "address" Set the location of the BIOS for the Int10 module. One may select a BIOS of another card for posting or the legacy V_BIOS range located at 0xc0000 or an alternative address (BUS_ISA). This is only useful under very special circumstances and should be used with extreme care. Option "InitPrimary" "boolean" Use the Int10 module to initialize the primary graphics card. Normally, only secondary cards are soft-booted using the Int10 module, as the primary card has already been initialized by the BIOS at boot time. Default: false. Option "NoInt10" "boolean" Disables the Int10 module, a module that uses the int10 call to the BIOS of the graphics card to initialize it. Default: false. Option "NoMTRR" Disables MTRR (Memory Type Range Register) support, a feature of modern processors which can improve video performance by a fac- tor of up to 2.5. Some hardware has buggy MTRR support, and some video drivers have been known to exhibit problems when MTRR's are used. Option "XaaNoCPUToScreenColorExpandFill" Disables accelerated rectangular expansion blits from source patterns stored in system memory (using a memory-mapped aper- ture). Option "XaaNoColor8x8PatternFillRect" Disables accelerated fills of a rectangular region with a full- color pattern. Option "XaaNoColor8x8PatternFillTrap" Disables accelerated fills of a trapezoidal region with a full- color pattern. Option "XaaNoDashedBresenhamLine" Disables accelerated dashed Bresenham line draws. Option "XaaNoDashedTwoPointLine" Disables accelerated dashed line draws between two arbitrary points. Option "XaaNoImageWriteRect" Disables accelerated transfers of full-color rectangular pat- terns from system memory to video memory (using a memory-mapped aperture). Option "XaaNoMono8x8PatternFillRect" Disables accelerated fills of a rectangular region with a mono- chrome pattern. Option "XaaNoMono8x8PatternFillTrap" Disables accelerated fills of a trapezoidal region with a mono- chrome pattern. Option "XaaNoOffscreenPixmaps" Disables accelerated draws into pixmaps stored in offscreen video memory. Option "XaaNoPixmapCache" Disables caching of patterns in offscreen video memory. Option "XaaNoScanlineCPUToScreenColorExpandFill" Disables accelerated rectangular expansion blits from source patterns stored in system memory (one scan line at a time). Option "XaaNoScanlineImageWriteRect" Disables accelerated transfers of full-color rectangular pat- terns from system memory to video memory (one scan line at a time). Option "XaaNoScreenToScreenColorExpandFill" Disables accelerated rectangular expansion blits from source patterns stored in offscreen video memory. Option "XaaNoScreenToScreenCopy" Disables accelerated copies of rectangular regions from one part of video memory to another part of video memory. Option "XaaNoSolidBresenhamLine" Disables accelerated solid Bresenham line draws. Option "XaaNoSolidFillRect" Disables accelerated solid-color fills of rectangles. Option "XaaNoSolidFillTrap" Disables accelerated solid-color fills of Bresenham trapezoids. Option "XaaNoSolidHorVertLine" Disables accelerated solid horizontal and vertical line draws. Option "XaaNoSolidTwoPointLine" Disables accelerated solid line draws between two arbitrary points. Each Screen section may optionally contain one or more Display subsec- tions. Those subsections provide depth, fbbpp and monitor specific configuration information, and the ones chosen depend on the depth and/or fbbpp that is being used for the screen, as well as the monitor number(s) in multi-monitor configurations. The Display subsection for- mat is described in the section below. DISPLAY SUBSECTION Each Screen section may have multiple Display subsections. The "active" Display subsections are the first for each monitor number that match the depth and/or fbbpp values being used, or failing that, the first for each monitor number that has neither a depth or fbbpp value specified. Display subsections with no monitor number specified are used for single monitor per screen configurations. The Display subsec- tions are optional. When there isn't one that matches the monitor num- ber and/or depth and/or fbbpp values being used, all the parameters that can be specified here fall back to their defaults. Display subsections have the following format: SubSection "Display" Monitor monitor-num Depth depth entries ... EndSubSection None of the entries in a Display subsection are mandatory. Monitor monitor-num This entry specifies which Monitor entry of the Screen section that this Display subsection applies to. This number should match the monitor number of one of the Monitor references in the Screen screen. If it doesn't match, then this Display subsec- tion will be ignored. If this entry is omitted, it is applied to single-monitor configurations. For multi-monitor configura- tions, the driver may also use information in this subsection for screen-wide parameters. Not all of the parameters in this subsection make sense on a per-monitor basis. Which get used and how they get used is currently up to the driver. Entries that are relevant to multi-monitor configurations include Modes, Virtual, ViewPort, and Options. Depth depth This entry specifies what colour depth the Display subsection is to be used for. This entry is usually specified, but it may be omitted to create a match-all Display subsection or when wishing to match only against the FbBpp parameter. The range of depth values that are allowed depends on the driver. Most driver sup- port 8, 15, 16 and 24. Some also support 1 and/or 4, and some may support other values (like 30). Note: depth means the num- ber of bits in a pixel that are actually used to determine the pixel colour. 32 is not a valid depth value. Most hardware that uses 32 bits per pixel only uses 24 of them to hold the colour information, which means that the colour depth is 24, not 32. FbBpp bpp This entry specifies the framebuffer format this Display subsec- tion is to be used for. This entry is only needed when provid- ing depth 24 configurations that allow a choice between a 24 bpp packed framebuffer format and a 32bpp sparse framebuffer format. In most cases this entry should not be used. Weight red-weight green-weight blue-weight This optional entry specifies the relative RGB weighting to be used for a screen is being used at depth 16 for drivers that allow multiple formats. This may also be specified from the command line with the -weight option (see XFree86(1)). Virtual xdim ydim This optional entry specifies the virtual screen resolution to be used. xdim must be a multiple of either 8 or 16 for most drivers, and a multiple of 32 when running in monochrome mode. The given value will be rounded down if this is not the case. Video modes which are too large for the specified virtual size will be rejected. If this entry is not present, the virtual screen resolution will be set to accommodate all the valid video modes given in the Modes entry. Some drivers/hardware combina- tions do not support virtual screens. Refer to the appropriate driver-specific documentation for details. ViewPort x0 y0 This optional entry sets the upper left corner of the initial display. This is only relevant when the virtual screen resolu- tion is different from the resolution of the initial video mode. If this entry is not given, then the initial display will be centered in the virtual display area. Modes "mode-name" ... This optional entry specifies the list of video modes to use. Each mode-name specified must be in double quotes. They must correspond to those specified or referenced in the appropriate Monitor section (including implicitly referenced built-in VESA standard modes). The server will delete modes from this list which don't satisfy various requirements. The first valid mode in this list will be the default display mode for startup. The list of valid modes is converted internally into a circular list. It is possible to switch to the next mode with Ctrl+Alt+Keypad-Plus and to the previous mode with Ctrl+Alt+Key- pad-Minus. When this entry is omitted, the valid modes refer- enced by the appropriate Monitor section will be used. If the Monitor section contains no modes, then the selection will be taken from the built-in VESA standard modes. Visual "visual-name" This optional entry sets the default root visual type. This may also be specified from the command line (see the Xserver(1) man page). The visual types available for depth 8 are (default is PseudoColor): StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor The visual type available for the depths 15, 16 and 24 are (default is TrueColor): TrueColor DirectColor Not all drivers support DirectColor at these depths. The visual types available for the depth 4 are (default is Stat- icColor): StaticGray GrayScale StaticColor PseudoColor The visual type available for the depth 1 (monochrome) is Stat- icGray. Black red green blue This optional entry allows the "black" colour to be specified. This is only supported at depth 1. The default is black. White red green blue This optional entry allows the "white" colour to be specified. This is only supported at depth 1. The default is white. Options Option flags may be specified in the Display subsections. These may include driver-specific options and driver-independent options. The former are described in the driver-specific docu- mentation. Some of the latter are described above in the sec- tion about the Screen section, and they may also be included here. SERVERLAYOUT SECTION The config file may have multiple ServerLayout sections. A "server layout" represents the binding of one or more screens (Screen sections) and one or more input devices (InputDevice sections) to form a complete configuration. In multi-head configurations, it also specifies the relative layout of the heads. A ServerLayout section is considered "active" if it is referenced by the -layout command line option or by an Option "DefaultServerLayout" entry in the ServerFlags section (the former takes precedence over the latter). If those options are not used, the first ServerLayout section found in the config file is con- sidered the active one. If no ServerLayout sections are present, the single active screen and two active (core) input devices are selected as described in the relevant sections above. ServerLayout sections have the following format: Section "ServerLayout" Identifier "name" Screen "screen-id" ... InputDevice "idev-id" ... options ... EndSection Each ServerLayout section must have an Identifier entry and at least one Screen entry. The Identifier entry specifies the unique name for this server layout. The ServerLayout section provides information specific to the whole session, including session-specific Options. The ServerFlags options (described above) may be specified here, and ones given here override those given in the ServerFlags section. The entries that may be used in this section are described here. Screen screen-num "screen-id" position-information One of these entries must be given for each screen being used in a session. The screen-id field is mandatory, and specifies the Screen section being referenced. The screen-num field is optional, and may be used to specify the screen number in multi- head configurations. When this field is omitted, the screens will be numbered in the order that they are listed in. The num- bering starts from 0, and must be consecutive. The optional position-information field describes the way multiple screens are positioned. When this information is not provided, the positioning of the screen defaults to Absolute 0 0. There are a number of different ways that this information can be provided: x y Absolute x y These both specify that the upper left corner's coordinates are (x,y). The Absolute keyword is optional. Some older versions of XFree86 (4.2 and earlier) don't recognise the Absolute keyword, so it's safest to just specify the coordi- nates without it. RightOf "screen-id" LeftOf "screen-id" Above "screen-id" Below "screen-id" Relative "screen-id" x y These give the screen's location relative to another screen. The first four position the screen immediately to the right, left, above or below the other screen. When positioning to the right or left, the top edges are aligned. When posi- tioning above or below, the left edges are aligned. The Relative form specifies the offset of the screen's origin (upper left corner) relative to the origin of another screen. InputDevice "idev-id" "option" ... One of these entries should be given for each input device being used in a session. Normally at least two are required, one each for the core pointer and keyboard devices. If either of those is missing, suitable InputDevice entries are searched for using the method described above in the INPUTDEVICE section. The idev-id field is mandatory, and specifies the name of the Input- Device section being referenced. Multiple option fields may be specified, each in double quotes. The options permitted here are any that may also be given in the InputDevice sections. Normally only session-specific input device options would be used here. The most commonly used options are: "CorePointer" "CoreKeyboard" "SendCoreEvents" and the first two should normally be used to indicate the core pointer and core keyboard devices respectively. Options Any option permitted in the ServerFlags section may also be specified here. When the same option appears in both places, the value given here overrides the one given in the ServerFlags section. Here is an example of a ServerLayout section for a dual headed configu- ration with two mice: Section "ServerLayout" Identifier "Layout 1" Screen "MGA 1" Screen "MGA 2" RightOf "MGA 1" InputDevice "Keyboard 1" "CoreKeyboard" InputDevice "Mouse 1" "CorePointer" InputDevice "Mouse 2" "SendCoreEvents" Option "BlankTime" "5" EndSection DRI SECTION This optional section is used to provide some information for the Direct Rendering Infrastructure. Identifier "name" specifies an optional identifying name for the DRI section. Group "group-name" Group group-id specifies the group ownership for the DRI device nodes. It may be specified as a group name or as a numerical group ID. Mode mode specifies the numerical permissions for the DRI device nodes. Buffers count size specifies buffers. Options Option flags may be specified in DRI sections. VENDOR SECTION The optional Vendor section may be used to provide vendor-specific con- figuration information. Multiple Vendor sections may be present, and they may contain the following entries: Identifier "name" specifies an identifying name for the Vendor section. VendorName "vendor-name" specifies the vendor name. Options may be specified in the Vendor sections. In addition to these entries, there may be named SubSections, each of which may contain an Identifier entry and Option entries. FILES For an example of an XF86Config file, see the file installed as /usr/X11R6/lib/X11/XF86Config.eg. SEE ALSO X(7), Xserver(1), XFree86(1), apm(4), chips(4), cirrus(4), cyrix(4), fbdev(4), glide(4), glint(4), i128(4), i740(4), i810(4), imstt(4), mga(4), neomagic(4), nv(4), r128(4), rendition(4), savage(4), s3virge(4), siliconmotion(4), sis(4), sunbw2(4), suncg14(4), suncg3(4), suncg6(4), sunffb(4), sunleo(4), suntcx(4), tdfx(4), tga(4), tri- dent(4), tseng(4), v4l(4), vesa(4), vga(4), vmware(4), README , RELNOTES , README.mouse , README.DRI , Install . AUTHORS This manual page was largely rewritten for XFree86 4.0 by David Dawes . xf86config(1) xf86config(1) NAME xf86config - generate an XF86Config file SYNOPSIS xf86config DESCRIPTION xf86config is an interactive program for generating an XF86Config file for use with XFree86 X servers. Note that the default name used by xf86config for the XF86Config file is system-dependent. For instance, on some systems, XF86Config-4 is used, and on OS/2, XConfig is used. FILES /usr/X11R6/lib/X11/Cards Video cards database SEE ALSO XFree86(1), XF86Config(5), reconfig(1) AUTHOR Harm Hanemaayer. xf86cfg(1) xf86cfg(1) NAME xf86cfg - Graphical configuration tool for XFree86 4.0 SYNOPSIS xf86cfg [-xf86config XF86Config] [-modulepath moduledir] [-fontpath fontsdir] [-toolkitoption ...] DESCRIPTION Xf86cfg is a tool to configure XFree86 4.0, and can be used to either write the initial configuration file or make customizations to the cur- rent configuration. When the DISPLAY environment variable is not set, xf86cfg will run the command XFree86 -configure to allow the xserver detect the hardware in the computer, and write an initial XF86Config file in the user's home directory. Then, it will start XFree86 and allow customizations. If the DISPLAY environment variable is set, xf86cfg will read the default XF86Config, that may not be the same being used by the current server, and allow customizations. To use an alternative location for modules or fonts the respective search paths may be specified. Unless there is an Apply button in the current xf86cfg dialog, the changes made will take place the next time XFree86 is started. Xf86cfg allows addition and configuration of new devices, such as video cards, monitors, keyboards and mouses. Screen layout configuration for xinerama or traditional multi-head is also available. Modelines can be configured or optimized. AccessX basic configurations can be made in the xf86cfg's accessx sec- tion. OPTIONS -xf86config Specifies an alternate XF86Config file for configuration. -modulepath Specifies where xf86cfg, and the server it may start, should look for XFree86 modules. -serverpath Specifies the complete path, not including the binary name, of the XFree86 binary. -fontpath Specifies the path to the fonts that should be used by the server started by xf86cfg. -rgbpath Specifies the path to the rgb.txt file that should be used by the server started by xf86cfg, if any. -textmode If xf86cfg was compiled with support to ncurses, this option makes xf86cfg enters a text mode interface. -nomodules When built with support for loading modules, this options changes xf86cfg behaviour, so that it will not load any mod- ules, and thus start quicker. ENVIRONMENT DISPLAY Default host and display number XWINHOME Directory where XFree86 was installed, defaults to /usr/X11R6. XENVIRONMENT Name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property FILES /etc/XF86Config Server configuration file /etc/X11/XF86Config Server configuration file /usr/X11R6/etc/XF86Config Server configuration file /usr/X11R6/lib/X11/XF86Config.hostname Server configuration file /usr/X11R6/lib/X11/XF86Config Server configuration file /usr/X11R6/lib/X11/app-default/XF86Cfg Specifies xf86cfg resources /usr/X11R6/lib/X11/xkb/X0-config.keyboard Keyboard specific configuration SEE ALSO XFree86(1) XF86Config(5) COPYRIGHT Copyright 2000, Conectiva Linux S.A. http://www.conectiva.com Copyright 2000, The XFree86 Project http://www.XFree86.org AUTHORS Paulo Csar Pereira de Andrade The XFree86 Project BUGS Probably. getconfig(1) getconfig(1) NAME getconfig - get configuration information for the XFree86 server SYNOPSIS getconfig [option ...] DESCRIPTION getconfig is a programmatic interface that is used by the XFree86 server to get configuration information about video hardware when oper- ating without an XF86Config file. This implementation of getconfig is written in perl. It processes a prioritized and ordered list of rules supplied internally and from meta-configuration files. The rules are in the form of perl expres- sions. getconfig writes to standard output the XF86Config-style con- figuration data specified by the last highest priority rule that evalu- ates to true. Information about the format of the meta-configuration files can be found in the getconfig(5) manual page. OPTIONS -I search-path Specify the search path to use for meta-config files. search- path is a comma-separated list of directories to search. Each directory in the search path is searched for files with a .cfg suffix. Each such file is opened and checked for a valid sig- nature string. Rules are read from files with a valid signa- ture string and appended to the list of rules to evaluate. If no search path is specified, only the internally supplied con- figuration rules will be used. -D Enable debugging output. -V Print out the version information and exit. -X XFree86-version Specify the XFree86 version in numeric (integer) form. -b subsys-id Specify the PCI subsystem ID of the video device. -c class Specify the PCI class of the video device. -d device-id Specify the PCI device ID of the video device. -r revision Specify the PCI revision of the video device. -s subsysvendor-id Specify the PCI subsystem vendor ID of the video device. -v vendor-id Specify the PCI vendor ID of the video device. -S sbus-path Specify the SBUS path of the video device. FILES .cfg files located in the search path. The search path typically spec- ified by the XFree86 server is: /etc/X11 /usr/X11R6/etc/X11 /usr/X11R6/lib/X11/getconfig where is the XFree86 server's module search path. SEE ALSO getconfig(5), XFree86(1), XF86Config(5). AUTHORS The XFree86 automatic configuration support and the getconfig interface was written by David H. Dawes, with the support of X-Oz Technologies. getconfig(5) getconfig(5) NAME getconfig - meta configuration files for getconfig(1) SYNOPSIS *.cfg DESCRIPTION getconfig is a programmatic interface that is used by the XFree86 server to get configuration information about video hardware when oper- ating without an XF86Config file. This implementation of getconfig is written in perl. It processes rules from meta-configuration files. All meta-configuration files have a .cfg suffix. Lines starting with a pound-sign (#) are comments, and are ignored. Blank lines that consist only of white space are also treated as com- ments and ignored. The first non-comment line must be a signature string followed by the file format version number. The signature string is "XFree86 Project getconfig rules file. Version: " The currently defined version is "1.0". Files that do not have the correct signature string are ignored. The remaining non-comment lines define rules. The start of a new rule is indicated by a line with no leading white space. Subsequent lines making up a rule must be indented with white space. Logical lines within a rule may be split over multiple physical lines by using the usual continuation convention ('\' at the end of the line). The first logical line of each rule is a perl expression. It may be any valid perl expression whose evaluated (with 'eval') result may be used as the argument to a perl 'if' statement. The second logical line should be the name of the XFree86 video driver to use when the rule is true, and subsequent logical lines of each rule, if present, are additional con- figuration output for the video device's XF86Config Device section. The driver name and additional lines of configuration information are written to standard output when the rule is chosen as the successful rule. Pseudo rules consisting of perl expressions may be present in the file for the purpose of defining custom perl variables or setting the weight to use for the following rules. Pseudo rules are rules that consist of a single logical line only, and they are never candidates themselves for the successful rule. Several perl variables are pre-defined, and may be used within rules. They include: $vendor PCI vendor ID $device PCI device ID $revision PCI revision ID $subsys PCI subsystem ID $subsysVendor PCI subsystem vendor ID $class PCI class $sbuspath SBUS path $XFree86Version XFree86 version, as a 'v' string $XFree86VersionNumeric XFree86 numeric version $XFree86VersionMajor XFree86 major version $XFree86VersionMinor XFree86 minor version $XFree86VersionPatch XFree86 patch version $XFree86VersionSnap XFree86 snap version $weight current rule weight The $weight variable determines the weight of the rules as they are processed. The weight for subsequent rules may be set with a pseudo rule that sets or changes the value of $weight. The default weight, and the weight used for built-in rules is 500. The meta-configuration files are processed in an unpredictable order. The weighting of the rules is used to determine their relative priority After processing all of the rules, both built-in and those read from the meta-configuration files, the getconfig program chooses as the suc- cessful rule the last and highest weighted rule that evaluates to true. FILES .cfg files located in the search path. The search path typically spec- ified by the XFree86 server is: /etc/X11 /usr/X11R6/etc/X11 /usr/X11R6/lib/X11/getconfig where is the XFree86 server's module search path. /usr/X11R6/lib/X11/getconfig/xfree86.cfg Default rules file that gets installed. This file doesn't contain any rules by default. /usr/X11R6/lib/X11/getconfig/cfg.sample A sample rules file that gives some exam- ples of what types of rules can appear in rules files. SEE ALSO getconfig(1), XFree86(1), XF86Config(5). AUTHORS The XFree86 automatic configuration support and the getconfig interface was written by David H. Dawes, with the support of X-Oz Technologies. APM(4) APM(4) NAME apm - Alliance ProMotion video driver SYNOPSIS Section "Device" Identifier "devname" Driver "apm" ... EndSection DESCRIPTION apm is an XFree86 driver for Alliance ProMotion video cards. The driver is accelerated for supported hardware/depth combination. It supports framebuffer depths of 8, 15, 16, 24 and 32 bits. For 6420, 6422, AT24, AT3D and AT25, all depths are fully accelerated except 24 bpp for which only screen to screen copy and rectangle filling is accelerated. SUPPORTED HARDWARE The apm driver supports PCI and ISA video cards on the following Alliance ProMotion chipsets ProMotion 6420 ProMotion 6422 AT24 AT3D AT25 CONFIGURATION DETAILS Please refer to XF86Config(5) for general configuration details. This section only covers configuration details specific to this driver. The driver auto-detects the chipset type, but the following ChipSet names may optionally be specified in the config file "Device" section, and will override the auto-detection: "6422", "at24", "at3d". The AT25 is Chipset "at3d" and the 6420 is 6422. The driver will auto-detect the amount of video memory present for all chips. The actual amount of video memory can also be specified with a VideoRam entry in the config file "Device" section. The following driver Options are supported: Option "HWCursor" "boolean" Enable or disable the hardware cursor. Default: on. Option "SWCursor" "boolean" Force the software cursor. Default: off. Option "NoAccel" "boolean" Disable or enable acceleration. Default: acceleration is enabled. Option "NoLinear" "boolean" Disable or enable use of linear frame buffer. Default: on. Note: it may or may not work. Tell me if you need it. Option "PciRetry" "boolean" Enable or disable PCI retries. Default: off. Option "Remap_DPMS_On" "string" Option "Remap_DPMS_Standby" "string" Option "Remap_DPMS_Suspend" "string" Option "Remap_DPMS_Off" "string" Remaps the corresponding DPMS events. I've found that my Her- cules 128/3D swaps Off and Suspend events. You can correct that with Option "Remap_DPMS_Suspend" "Off" Option "Remap_DPMS_Off" "Suspend" in the Device section of the config file. Option "ShadowFB" "boolean" Enable or disable use of the shadow framebuffer layer. Default: off. SEE ALSO XFree86(1), XF86Config(5), xf86config(1), Xserver(1), X(7) AUTHORS Authors include: Kent Hamilton, Henrik Harmsen and Loic Grenie. ATI(4) ATI(4) NAME ati - ATI video driver SYNOPSIS Section "Device" Identifier "devname" Driver "ati" ... EndSection DESCRIPTION ati is an XFree86 driver for ATI video cards. THIS MAN PAGE NEEDS TO BE FILLED IN. SUPPORTED HARDWARE The ati driver supports... CONFIGURATION DETAILS Please refer to XF86Config(5) for general configuration details. This section only covers configuration details specific to this driver. SEE ALSO XFree86(1), XF86Config(5), xf86config(1), Xserver(1), X(7) AUTHORS Authors include: ... R128(4) R128(4) NAME r128 - ATI Rage 128 video driver SYNOPSIS Section "Device" Identifier "devname" Driver "r128" ... EndSection DESCRIPTION r128 is an XFree86 driver for ATI Rage 128 based video cards. It con- tains full support for 8, 15, 16 and 24 bit pixel depths, hardware acceleration of drawing primitives, hardware cursor, video modes up to 1800x1440 @ 70Hz, doublescan modes (e.g., 320x200 and 320x240), gamma correction at all pixel depths, a fully programming dot clock and robust text mode restoration for VT switching. SUPPORTED HARDWARE The r128 driver supports all ATI Rage 128 based video cards including the Rage Fury AGP 32MB, the XPERT 128 AGP 16MB and the XPERT 99 AGP 8MB. CONFIGURATION DETAILS Please refer to XF86Config(5) for general configuration details. This section only covers configuration details specific to this driver. The driver auto-detects all device information necessary to initialize the card. However, if you have problems with auto-detection, you can specify: VideoRam - in kilobytes MemBase - physical address of the linear framebuffer IOBase - physical address of the MMIO registers ChipID - PCI DEVICE ID In addition, the following driver Options are supported: Option "SWcursor" "boolean" Selects software cursor. The default is off. Option "NoAccel" "boolean" Enables or disables all hardware acceleration. The default is to enable hardware acceleration. Option "Dac6Bit" "boolean" Enables or disables the use of 6 bits per color component when in 8 bpp mode (emulates VGA mode). By default, all 8 bits per color component are used. The default is off. Option "VideoKey" "integer" This overrides the default pixel value for the YUV video overlay key. The default value is undefined. Option "Display" "string" Select display mode for devices which support flat panels. Sup- ported modes are: "FP" - use flat panel; "CRT" - use cathode ray tube; "Mirror" - use both FP and CRT; "BIOS" - use mode as configured in the BIOS. The default is FP. The following Options are mostly important for non-x86 architectures: Option "ProgramFPRegs" "boolean" Enable or disable programming of the flat panel registers. Beware that this may damage your panel, so use this at your own risk. The default depends on the device. Option "PanelWidth" "integer" Option "PanelHeight" "integer" Override the flat panel dimensions in pixels. They are used to program the flat panel registers and normally determined using the video card BIOS. If the wrong dimensions are used, the sys- tem may hang. Option "UseFBDev" "boolean" Enable or disable use of an OS-specific framebuffer device interface (which is not supported on all OSs). See fbdevhw(4) for further information. Default: off. Option "DMAForXv" "boolean" Try or don't try to use DMA for Xv image transfers. This will reduce CPU usage when playing big videos like DVDs, but may cause instabilities. Default: off. The following additional Options are supported: Option "ShowCache" "boolean" Enable or disable viewing offscreen cache memory. A development debug option. Default: off. SEE ALSO XFree86(1), XF86Config(5), xf86config(1), Xserver(1), X(7) AUTHORS Rickard E. (Rik) Faith faith@precisioninsight.com Kevin E. Martin kevin@precisioninsight.com RADEON(4) RADEON(4) NAME radeon - ATI RADEON video driver SYNOPSIS Section "Device" Identifier "devname" Driver "radeon" ... EndSection DESCRIPTION radeon is a XFree86 driver for ATI RADEON based video cards. It con- tains full support for 8, 15, 16 and 24 bit pixel depths, dual-head setup, flat panel, hardware 2D acceleration, hardware 3D acceleration (except R300 and IGP series cards), hardware cursor, XV extension, Xin- erama extension. SUPPORTED HARDWARE The radeon driver supports PCI and AGP video cards based on the follow- ing ATI chips R100 Radeon 7200 RV100 Radeon 7000(VE), M6 RS100 Radeon IGP320(M) (2D only) RV200 Radeon 7500, M7, FireGL 7800 RS200 Radeon IGP330(M)/IGP340(M) (2D only) RS250 Radeon Mobility 7000 IGP (2D only) R200 Radeon 8500, 9100, FireGL 8800/8700 RV250 Radeon 9000PRO/9000, M9 RS300 Radeon 9100 IGP (2D only) RV280 Radeon 9200PRO/9200/9200SE, M9+ R300 Radeon 9700PRO/9700/9500PRO/9500/9600TX, FireGL X1/Z1 (2D only) R350 Radeon 9800PRO/9800SE/9800, FireGL X2 (2D only) R360 Radeon 9800XT (2d only) RV350 Radeon 9600PRO/9600SE/9600, M10/M11, FireGL T2 (2D only) RV360 Radeon 9600XT (2d only) CONFIGURATION DETAILS Please refer to XF86Config(5) for general configuration details. This section only covers configuration details specific to this driver. The driver auto-detects all device information necessary to initialize the card. However, if you have problems with auto-detection, you can specify: VideoRam - in kilobytes MemBase - physical address of the linear framebuffer IOBase - physical address of the MMIO registers ChipID - PCI DEVICE ID In addition, the following driver Options are supported: Option "SWcursor" "boolean" Selects software cursor. The default is off. Option "NoAccel" "boolean" Enables or disables all hardware acceleration. The default is to enable hardware acceleration. Option "Dac6Bit" "boolean" Enables or disables the use of 6 bits per color component when in 8 bpp mode (emulates VGA mode). By default, all 8 bits per color component are used. The default is off. Option "VideoKey" "integer" This overrides the default pixel value for the YUV video overlay key. The default value is 0x1E. Option "UseFBDev" "boolean" Enable or disable use of an OS-specific framebuffer device interface (which is not supported on all OSs). See fbdevhw(4) for further information. The default is off. Option "AGPMode" "integer" Set AGP data transfer rate. (used only when DRI is enabled) 1 -- x1 (default) 2 -- x2 4 -- x4 others -- invalid Option "AGPFastWrite" "boolean" Enable AGP fast write. (used only when DRI is enabled) The default is off. Option "BusType" "string" Used to replace previous ForcePCIMode option. Should only be used when driver's bus detection is incorrect or you want to force a AGP card to PCI mode. Should NEVER force a PCI card to AGP bus. PCI -- PCI bus AGP -- AGP bus PCIE -- PCI Express (falls back to PCI at present) (used only when DRI is enabled) The default is auto detect. Option "ForcePCIMode" "boolean" Force to use PCI GART for DRI acceleration. This option is dep- recated in favor of the BusType option above and will be removed in the next release. Option "DDCMode" "boolean" Force to use the modes queried from the connected monitor. The default is off. Option "DisplayPriority" "string" Used to prevent flickering or tearing problem caused by display buffer underflow. AUTO -- Driver calculated (default). BIOS -- Remain unchanged from BIOS setting. Use this if the calculation is not correct for your card. HIGH -- Force to the highest priority. Use this if you have problem with above options. This may affect performence slightly. The default value is AUTO. Option "MonitorLayout" "string" This option is used to overwrite the detected monitor types. This is only required when driver makes a false detection. The possible monitor types are: NONE -- Not connected CRT -- Analog CRT monitor TMDS -- Desktop flat panel LVDS -- Laptop flat panel This option can be used in following format: Option "MonitorLayout" "[type on primary], [type on secondary]" For example, Option "MonitorLayout" "CRT, TMDS" Primary/Secondary head for dual-head cards: (when only one port is used, it will be treated as the primary regardless) Primary head: DVI port on DVI+VGA cards LCD output on laptops Internal TMDS prot on DVI+DVI cards Secondary head: VGA port on DVI+VGA cards VGA port on laptops External TMDS port on DVI+DVI cards The default value is undefined. Option "CloneMode" "string" Set the first mode for the secondary head. It can be different from the modes used for the primary head. If you don't have this line while clone is on, the modes specified for the primary head will be used for the secondary head. For example, Option "CloneMode" "1024x768" The default value is undefined. Option "CloneHSync" "string" Set the horizontal sync range for the secondary monitor. It is not required if a DDC-capable monitor is connected. For example, Option "CloneHSync" "30.0-86.0" The default value is undefined. Option "CloneVRefresh" "string" Set the vertical refresh range for the secondary monitor. It is not required if a DDC-capable monitor is connected. For example, Option "CloneVRefresh" "50.0-120.0" The default value is undefined. Option "OverlayOnCRTC2" "boolean" Force hardware overlay to clone head. The default value is off. Option "IgnoreEDID" "boolean" Do not use EDID data for mode validation, but DDC is still used for monitor detection. This is different from NoDDC option. The default value is off. Option "PanelSize" "string" Should only be used when driver cannot detect the correct panel size. Apply to both desktop (TMDS) and laptop (LVDS) digital panels. When a valid panel size is specified, the timings col- lected from DDC and BIOS will not be used. If you have a panel with timings different from that of a standard VESA mode, you have to provide this information through the Modeline. For example, Option "PanelSize" "1400x1050" The default value is none. Option "PanelOff" "boolean" Disable panel output. Only used when clone is enabled. The default value is off. Option "EnablePageFlip" "boolean" Enable page flipping for 3D acceleration. This will increase performance but not work correctly in some rare cases, hence the default is off. Option "ForceMinDotClock" "frequency" Override minimum dot clock. Some Radeon BIOSes report a minimum dot clock unsuitable (too high) for use with television sets even when they actually can produce lower dot clocks. If this is the case you can override the value here. Note that using this option may damage your hardware. You have been warned. The fre- quency parameter may be specified as a float value with standard suffixes like "k", "kHz", "M", "MHz". SEE ALSO XFree86(1), XF86Config(5), xf86config(1), Xserver(1), X(7) AUTHORS Authors include: ... CHIPS(4) CHIPS(4) NAME chips - Chips and Technologies video driver SYNOPSIS Section "Device" Identifier "devname" Driver "chips" ... EndSection DESCRIPTION chips is an XFree86 driver for Chips and Technologies video processors. The majority of the Chips and Technologies chipsets are supported by this driver. In general the limitation on the capabilities of this driver are determined by the chipset on which it is run. Where possi- ble, this driver provides full acceleration and supports the following depths: 1, 4, 8, 15, 16, 24 and on the latest chipsets an 8+16 overlay mode. All visual types are supported for depth 1, 4 and 8 and both TrueColor and DirectColor visuals are supported where possible. Multi- head configurations are supported on PCI or AGP buses. SUPPORTED HARDWARE The chips driver supports video processors on most of the bus types currently available. The chipsets supported fall into one of three architectural classes. A basic architecture, the WinGine architecture and the newer HiQV architecture. Basic Architecture The supported chipsets are ct65520, ct65525, ct65530, ct65535, ct65540, ct65545, ct65546 and ct65548 Color depths 1, 4 and 8 are supported on all chipsets, while depths 15, 16 and 24 are supported only on the 65540, 65545, 65546 and 65548 chipsets. The driver is accelerated when used with the 65545, 65546 or 65548 chipsets, however the DirectColor visual is not available. Wingine Architecture The supported chipsets are ct64200 and ct64300 Color depths 1, 4 and 8 are supported on both chipsets, while depths 15, 16 and 24 are supported only on the 64300 chipsets. The driver is accelerated when used with the 64300 chipsets, however the DirectColor visual is not available. HiQV Architecture The supported chipsets are ct65550, ct65554, ct65555, ct68554, ct69000 and ct69030 Color depths 1, 4, 8, 15, 16, 24 and 8+16 are supported on all chipsets. The DirectColor visual is supported on all color depths except the 8+16 overlay mode. Full acceleration is supplied for all chipsets. CONFIGURATION DETAILS Please refer to XF86Config(5) for general configuration details. This section only covers configuration details specific to this driver. The driver auto-detects the chipset type, but the following ChipSet names may optionally be specified in the config file "Device" section, and will override the auto-detection: "ct65520", "ct65525", "ct65530", "ct65535", "ct65540", "ct65545", "ct65546", "ct65548", "ct65550", "ct65554", "ct65555", "ct68554", "ct69000", "ct69030", "ct64200", "ct64300". The driver will auto-detect the amount of video memory present for all chipsets. But maybe overridden with the VideoRam entry in the config file "Device" section. The following driver Options are supported, on one or more of the sup- ported chipsets: Option "NoAccel" "boolean" Disable or enable acceleration. Default: acceleration is enabled. Option "NoLinear" "boolean" Disables linear addressing in cases where it is enabled by default. Default: off. Option "Linear" "boolean" Enables linear addressing in cases where it is disabled by default. Default: off. Option "HWCursor" "boolean" Enable or disable the HW cursor. Default: on. Option "SWCursor" "boolean" Enable or disable the SW cursor. Default: off. Option "STN" "boolean" Force detection of STN screen type. Default: off. Option "UseModeline" "boolean" Reprogram flat panel timings with values from the modeline. Default: off. Option "FixPanelSize" "boolean" Reprogram flat panel size with values from the modeline. Default: off. Option "NoStretch" "boolean" This option disables the stretching on a mode on a flat panel to fill the screen. Default: off. Option "LcdCenter" "boolean" Center the mode displayed on the flat panel on the screen. Default: off. Option "HWclocks" "boolean" Force the use of fixed hardware clocks on chips that support both fixed and programmable clocks. Default: off. Option "UseVclk1" "boolean" Use the Vclk1 programmable clock on HiQV chipsets instead of Vclk2. Default: off. Option "FPClock8" "float" Option "FPClock16" "float" Option "FPClock24" "float" Option "FPClock32" "float" Force the use of a particular video clock speed for use with the flat panel at a specified depth. Option "MMIO" "boolean" Force the use of memory mapped IO for acceleration registers. Default: off. Option "FullMMIO" "boolean" Force the use of memory mapped IO where it can be used. Default: off. Option "SuspendHack" "boolean" Force driver to leave centering and stretching registers alone. This can fix some laptop suspend/resume problems. Default: off. Option "Overlay" Enable 8+24 overlay mode. Only appropriate for depth 24. Default: off. Option "ColorKey" "integer" Set the colormap index used for the transparency key for the depth 8 plane when operating in 8+16 overlay mode. The value