Xorg(1)
๐ Xorg โ X11R7 X server ๐
okay bestie, gather round, because we're about to talk about the literal main character of your entire graphical desktop: Xorg, aka the X11R7 X server, from the Xorg(1) manual. she's giving legacy, she's giving foundational, she's giving "if I crash, you get no pixels at all." ๐
โจ NAME โจ
Xorg โ the X11R7 X server. that's it, that's the vibe. ๐
๐ธ SYNOPSIS ๐ธ
Xorg [:display] [option ...]
that's the whole shape of it, bestie โ a display spec if you feel like it, then a pile of options. simple on the outside, deeply unhinged on the inside (affectionate). ๐
๐ฆ DESCRIPTION ๐ฆ
so Xorg is a full featured X server โ and when we say originally, we mean it was designed way back for UNIX and UNIX-like operating systems running on Intel x86 hardware. periodt. but she's grown up since then, and now she runs on a much wider range of hardware and OS platforms, because she contains multitudes. ๐
here's the ancestry lore, and I need you to respect it: this work was derived by the X.Org Foundation from the XFree86 Project's XFree86 4.4rc2 release. and that XFree86 release was originally derived from X386 1.2 by Thomas Roell, which was contributed to X11R5 by Snitily Graphics Consulting Service. it's giving ancestral royalty, it's giving lineage chart, it's giving "my great-great-grandserver was iconic too." ๐
๐ PLATFORMS ๐
Xorg operates under a wide range of operating systems and hardware platforms, no cap. here's the rundown:
- Intel x86 (IA32) โ the most widely supported hardware platform. she's the people's princess. ๐
- other hardware platforms include Compaq Alpha, Intel IA64, AMD64, SPARC, and PowerPC.
- the most widely supported operating systems are the free/OpenSource UNIX-like systems, like Linux, FreeBSD, NetBSD, OpenBSD, and Solaris.
- commercial UNIX operating systems such as UnixWare are also supported. yes bestie, they still count.
- other supported operating systems include GNU Hurd.
- Mac OS X is supported with the
Xquartz(1)X server. - Win32/Cygwin is supported with the
XWin(1)X server.
so basically: wherever you are, she's probably there. ๐ซถ
๐ NETWORK CONNECTIONS ๐
Xorg supports connections made using the following reliable byte-streams, and yes we're being fancy about it:
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. if you want the actual details, go read the "LOCAL CONNECTIONS" section of X(7). iykyk. ๐
TCP/IP ๐ฅ
Xorg listens on port 6000+n, where n is the display number. this connection type is usually disabled by default, but it may be enabled with the -listen option โ see the Xserver(1) man page for the details.
bestie, listen (pun fully intended) โ that TCP/IP thing being off by default is a good thing. don't just yolo it on and wander off, okay? go read Xserver(1) first. ๐จ
more of this iconic saga coming up next ๐โจ
โจ OPTIONS โจ
Okay so Xorg is not a one-trick pony, bestie โ it gets its config tea from several places: command line options, environment variables, the xorg.conf(5) config files, auto-detection, and fallback defaults. ๐
When the same info shows up in more than one spot, the highest precedence mechanism wins. The list is ordered from highest precedence to lowest. And no, not every parameter can be supplied via every method โ some are picky like that. ๐ญ The command line options and environment variables (plus some defaults) are described here and in the Xserver(1) manual page. Most config file parameters, with their defaults, live in the xorg.conf(5) manual page. Driver- and module-specific config params are in the relevant driver or module manual page. ๐ฆ
In addition to the normal server options described in the Xserver(1) manual page, Xorg accepts the following command line switches: ๐
vtXXโXXspecifies the Virtual Terminal device number which Xorg will use. Without this option, Xorg will pick the first available Virtual Terminal that it can locate. This option applies only to platforms that have virtual terminal support, such as Linux, BSD, OpenSolaris, SVR3, and SVR4. ๐ฅ๏ธ-allowMouseOpenFailโ Allow the server to start up even if the mouse device canโt be opened or initialised. This is equivalent to theAllowMouseOpenFailxorg.conf(5)file option. ๐ญ-allowNonLocalXvidtuneโ Make the VidMode extension available to remote clients. This lets thexvidtuneclient connect from another host. This is equivalent to theAllowNonLocalXvidtunexorg.conf(5)file option. By default non-local connections are not allowed. ๐ซ-bgammavalue โ Set the blue gamma correction. value must be between0.1and10. The default is1.0. Not all drivers support this. See also the-gamma,-rgamma, and-ggammaoptions. ๐-bppn โ No longer supported. Use-depthto set the color depth, and use-fbbppif you really need to force a non-default framebuffer (hardware) pixel format. ๐ชฆ-configfile โ Read the server configuration from file. This option will work for any file when the server is run as root (i.e., withreal-uid 0), or for files relative to a directory in the config search path for all other users. ๐-configdirdirectory โ Read the server configuration files from directory. This option will work for any directory when the server is run as root (i.e., withreal-uid 0), or for directories relative to a directory in the config directory search path for all other users. ๐-configureโ When this option is specified, the Xorg server loads all video driver modules, probes for available hardware, and writes out an initialxorg.conf(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., withreal-uid 0). โ๏ธ-crt/dev/ttyXXโ SCO only. This is the same as thevtoption, and is provided for compatibility with the native SCO X server. ๐ง-depthn โ Sets the default color depth. Legal values are1,4,8,15,16, and24. Not all drivers support all values. ๐-disableVidModeโ Disable the parts of the VidMode extension (used by thexvidtuneclient) that can be used to change the video modes. This is equivalent to theDisableVidModeExtensionxorg.conf(5)file option. ๐-fbbppn โ 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-depthabove. Useful if you want to run a depth24configuration with a24bpp framebuffer rather than the (possibly default)32bpp framebuffer (or vice versa). Legal values are1,8,16,24,32. Not all drivers support all values. ๐จ-gammavalue โ Set the gamma correction. value must be between0.1and10. The default is1.0. This value is applied equally to the R, G and B values. Those values can be set independently with the-rgamma,-bgamma, and-ggammaoptions. Not all drivers support this. โจ-ggammavalue โ Set the green gamma correction. value must be between0.1and10. The default is1.0. Not all drivers support this. See also the-gamma,-rgamma, and-bgammaoptions. ๐-ignoreABIโ The Xorg server checks the ABI revision levels of each module 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. โ ๏ธ-isolateDevicebus-id โ Restrict device resets to the device at bus-id. The bus-id string has the formbustype:bus:device:function(e.g.,PCI:1:0:0). At present, only isolation of PCI devices is supported; i.e., this option is ignored ifbustypeis anything other thanPCI. ๐งฒ-keepttyโ Prevent the server from detaching its initial controlling terminal. If you want to use systemd-logind integration you must specify this option. Not all platforms support (or can use) this option. ๐๏ธ-keyboardkeyboard-name โ Use thexorg.conf(5)file InputDevice section called keyboard-name as the core keyboard. This option is ignored when the Layout section specifies a core keyboard. In the absence of both a Layout section and this option, the first relevant InputDevice section is used for the core keyboard. โจ๏ธ-layoutlayout-name โ Use thexorg.conf(5)file Layout section called layout-name. By default the first Layout section is used. ๐งฉ-logfilefilename โ Use the file called filename as the Xorg server log file. The default log file when running as root is/var/log/Xorg.n.logand for non root it is$XDG_DATA_HOME/xorg/Xorg.n.logwhere n is the display number of the Xorg 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., withreal-uid 0). ๐-logverbose [n]โ Sets the verbosity level for information printed to the Xorg server log file. If the n value isnโt supplied, each occurrence 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 is3. ๐ฃ๏ธ-modulepathsearchpath โ Set the module search path to searchpath. searchpath is a comma separated list of directories to search for Xorg server modules. This option is only available when the server is run as root (i.e., withreal-uid 0). ๐งญ-noautoBindGPUโ Disable automatically setting secondary GPUs up as output sinks and offload sources. This is equivalent to setting theAutoBindGPUxorg.conf(__filemansuffix__)file option. To false. ๐ซ๐ฅ๏ธ-nosilkโ Disable Silken Mouse support. ๐-novtswitchโ Disable the automatic switching on X server reset and shutdown to the VT that was active when the server started, if supported by the OS. ๐-pointerpointer-name โ Use thexorg.conf(5)file InputDevice section called pointer-name as the core pointer. This option is ignored when the Layout section specifies a core pointer. In the absence of both a Layout section and this option, the first relevant InputDevice section is used for the core pointer. ๐ฑ๏ธ-quietโ Suppress most informational messages at startup. The verbosity level is set to zero. ๐คซ-rgammavalue โ Set the red gamma correction. value must be between0.1and10. The default is1.0. Not all drivers support this. See also the-gamma,-bgamma, and-ggammaoptions. โค๏ธ-sharevtsโ Share virtual terminals with another X server, if supported by the OS. ๐ค-screenscreen-name โ Use thexorg.conf(5)file Screen section called screen-name. By default the screens referenced by the default Layout section are used, or the first Screen section when there are no Layout sections. ๐ผ๏ธ-showconfigโ This is the same as the-versionoption, and is included for compatibility reasons. It may be removed in a future release, so the-versionoption should be used instead. โณ-showDefaultModulePathโ Print out the default module path the server was compiled with. ๐ฆ-showDefaultLibPathโ Print out the path libraries should be installed to. ๐-showoptsโ For each driver module installed, print out the list of options and their argument types. ๐-weightnnn โ Set RGB weighting at 16 bpp. The default is565. 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 verbosity level is0. ๐-versionโ Print out the server version, patchlevel, release date, the operating system/platform it was built on, and whether it includes module loader support. ๐
โจ KEYBOARD โจ
okay so bestie, your Xorg server is normally set up to recognize certain special key combos that tell the server to do a thing itself instead of just yeeting the keypress off to whatever client app you're in. those actions depend entirely on the XKB keymap that's loaded for a particular keyboard device, so they might be there, they might not, depending on your config. no cap. ๐
here's the tea on the combos that are commonly part of the default XKEYBOARD keymap:
- Ctrl+Alt+Backspace โ immediately kills the server ๐ no questions asked, no saving, no nothing. it can be disabled by setting the
DontZapxorg.conf(5)file option to aTRUEvalue.
also important: the zapping thing is actually triggered by the Terminate_Server action in the keyboard map. that action is not part of the default keymaps, but you can turn it on with the XKB option "terminate:ctrl_alt_bksp". iykyk.
- Ctrl+Alt+Keypad-Plus โ switches the video mode to the next one specified in the config file. you can turn this off with the
DontZoomxorg.conf(5)file option. โจ - Ctrl+Alt+Keypad-Minus โ switches the video mode to the previous one specified in the config file. also disabled with the
DontZoomxorg.conf(5)file option. ๐ฆ - Ctrl+Alt+F1...F12 โ on systems with virtual terminal support, these combos switch you over to virtual terminals 1 through 12 respectively. turn it off with the
DontVTSwitchxorg.conf(5)file option. ๐
๐ธ CONFIGURATION ๐ธ
so Xorg typically uses a config file called xorg.conf, plus config files with the .conf suffix living in a directory called xorg.conf.d, for its initial setup. go read the xorg.conf(5) manual page if you wanna know about the format of that file, bestie. ๐
Xorg also has a mechanism that automatically generates a built-in configuration at run-time when there's no xorg.conf file and no xorg.conf.d files present. the current version of this automatic configuration mechanism works in two ways:
- the first is via enhancements that made a ton of the
xorg.conffile components optional. basically, info that can be probed or reasonably deduced doesn't need to be spelled out explicitly, which massively cuts down on how much built-in configuration info has to be generated at run-time. ate. ๐ฅ - the second is having "safe" fallbacks for most configuration info. this maximises the likelihood that the Xorg server will start up in some usable configuration even when info about the specific hardware just isn't available.
heads up: the automatic configuration support for Xorg is work in progress. it's currently aimed at the most popular hardware and software platforms supported by Xorg, and more enhancements are planned for future releases. ๐
๐ FILES ๐
the Xorg server config files can be found in a whole range of locations. all of them are documented fully in the xorg.conf(5) manual page โ here's the most commonly used ones:
/etc/X11/xorg.confโ Server configuration file./etc/X11/xorg.conf-4โ Server configuration file./etc/xorg.confโ Server configuration file./usr/etc/xorg.confโ Server configuration file./usr/lib/X11/xorg.confโ Server configuration file./etc/X11/xorg.conf.dโ Server configuration directory./etc/X11/xorg.conf.d-4โ Server configuration directory./etc/xorg.conf.dโ Server configuration directory./usr/etc/xorg.conf.dโ Server configuration directory./usr/lib/X11/xorg.conf.dโ Server configuration directory./var/log/Xorg.n.logโ Server log file for display n./usr/bin/*โ Client binaries./usr/include/*โ Header files./usr/lib/*โ Libraries./usr/share/fonts/X11/*โ Fonts./usr/share/X11/XErrorDBโ Client error message database./usr/lib/X11/app-defaults/*โ Client resource specifications./usr/share/man/man?/*โ Manual pages./etc/Xn.hostsโ Initial access control list for display n.
๐ SEE ALSO ๐
X(7), Xserver(1), xdm(1), xinit(1), xorg.conf(5), xvidtune(1), xkeyboard-config(7), apm(4), ati(4), chips(4), cirrus(4), cyrix(4), fbdev(4), glide(4), glint(4), i128(4), i740(4), imstt(4), intel(4), mga(4), neomagic(4), nsc(4), nv(4), openchrome(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), vmware(4), Web site <https://www.x.org>. ๐ซถ
๐ AUTHORS ๐
Xorg has many contributors world wide. the names of most of them can be found in the documentation, in the ChangeLog files in the source tree, and in the actual source code itself. iconic behavior honestly.
Xorg was originally based on XFree86 4.4rc2. and that was originally based on X386 1.2 by Thomas Roell, which was contributed to the then X Consortium's X11R5 distribution by SGCS.
Xorg is released by the X.Org Foundation.
the project that became XFree86 was originally founded in 1992 by David Dawes, Glenn Lai, Jim Tsillas and David Wexelblat. ๐
XFree86 was later integrated into the then X Consortium's X11R6 release by a group of dedicated XFree86 developers, including the following legends:
Stuart Anderson anderson@metrolink.com
Doug Anson danson@lgc.com
Gertjan Akkerman akkerman@dutiba.twi.tudelft.nl
Mike Bernson mike@mbsun.mlb.org
Robin Cutshaw robin@XFree86.org
David Dawes dawes@XFree86.org
Marc Evans marc@XFree86.org
Pascal Haible haible@izfm.uni-stuttgart.de
Matthieu Herrb Matthieu.Herrb@laas.fr
Dirk Hohndel hohndel@XFree86.org
David Holland davidh@use.com
Alan Hourihane alanh@fairlite.demon.co.uk
Jeffrey Hsu hsu@soda.berkeley.edu
Glenn Lai glenn@cs.utexas.edu
Ted Lemon mellon@ncd.com
Rich Murphey rich@XFree86.org
Hans Nasten nasten@everyware.se
Mark Snitily mark@sgcs.com
Randy Terbush randyt@cse.unl.edu
Jon Tombs tombs@XFree86.org
Kees Verstoep versto@cs.vu.nl
Paul Vixie paul@vix.com
Mark Weaver Mark_Weaver@brown.edu
David Wexelblat dwex@XFree86.org
Philip Wheatley Philip.Wheatley@ColumbiaSC.NCR.COM
Thomas Wolfram wolf@prz.tu-berlin.de
Orest Zborowski orestz@eskimo.com
Xorg source is available from the FTP server <ftp://ftp.x.org/>, and from the X.Org server <https://gitlab.freedesktop.org/xorg/>. documentation and other info can be found at the X.Org web site <https://www.x.org/>. โจ
โญ LEGAL โญ
Xorg is copyright software, provided under licenses that permit modification and redistribution in source and binary form without fee. Xorg is copyright by numerous authors and contributors from around the world. licensing info lives at <https://www.x.org>. refer to the source code for specific copyright notices, bestie. ๐
XFree86(TM) is a trademark of The XFree86 Project, Inc.
X11(TM) and X Window System(TM) are trademarks of The Open Group.
๐ also quick reminder: zapping the server with Ctrl+Alt+Backspace does not ask. it just goes. be careful out there.
and that's a wrap on the whole page, bestie!! ๐ this one's from X Version 11, xorg-server 21.1.25, and the page date is Xorg(1) โ go forth and display things, you absolute main character. ๐ ๐ธ๐ฆ
๐ฆ where this page comes from
- alpine 3.24: xorg-server-doc 21.1.25-r0 ยท MIT
- arch rolling: xorg-server 21.1.25-2 ยท LicenseRef-Adobe-Display-PostScript AND BSD-3-Clause AND LicenseRef-DEC-3-Clause AND HPND AND LicenseRef-HPND-sell-MIT-disclaimer-xserver AND HPND-sell-variant AND ICU AND ISC AND MIT AND MIT-open-group AND NTP AND SGI-B-2.0 AND SMLNJ AND X11 AND X11-distribute-modifications-variant
- fedora 43: xorg-x11-server-Xorg 21.1.25-2.fc43 ยท Adobe-Display-PostScript AND BSD-3-Clause AND DEC-3-Clause AND HPND AND HPND-sell-MIT-disclaimer-xserver AND HPND-sell-variant AND ICU AND ISC AND MIT AND MIT-open-group AND NTP AND SGI-B-2.0 AND SMLNJ AND X11 AND X11-distribute-modifications-variant
- fedora 44: xorg-x11-server-Xorg 21.1.25-2.fc44 ยท Adobe-Display-PostScript AND BSD-3-Clause AND DEC-3-Clause AND HPND AND HPND-sell-MIT-disclaimer-xserver AND HPND-sell-variant AND ICU AND ISC AND MIT AND MIT-open-group AND NTP AND SGI-B-2.0 AND SMLNJ AND X11 AND X11-distribute-modifications-variant
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms