The X.Org server, part of the X.Org releases, is the main component of the X Window system which abstracts the hardware and provides the foundation for most graphical user interfaces, like desktop environments or window managers, and their applications.
This page provides useful information but the Xorg guide details the installation of Xorg in a more convenient manner.
Installing xorg-server is much lighter than emerging the entire xorg package, and has all the necessary components to have a fully functional GUI such as plasma for example.
If you're only updating, check the upgrade sub-article.
Portage knows the
X USE flag for enabling support for X in other packages (default in all desktop profiles). Make sure this USE flag is added to the USE flag list to ensure X compatibility system wide:
x11-base/xorg-drivers is a meta package to pull in the wanted drivers (note that these driver can be automatically pulled in if your graphics card/drivers info is set in make.conf and you are using a graphical profile) Issue the command emerge --search xorg-drivers to see if xorg-drivers is already installed prior to emerging.
Follow the links for information how to set up these devices.
It is recommended to issue the
--verbose option when emerging xorg-server because xorg-drivers or mesa may be pulled in as dependencies if they are not already installed. Using
--verbose will show more information on USE flags and dependencies before package installation. If xorg-drivers and/or the mesa packages are emerged directly (IE without the
--one-shot option) they will be recorded in the world file and could cause future package upgrade conflicts when Portage is upgrading dependencies. It is a best practice to allow them to be merged into the system as dependencies by setting USE flags or using a graphical profile.
media-libs/mesa (see Wikipedia) is a graphic library that provides a generic OpenGL implementation. Mesa may already be automatically pulled in by graphics card/driver settings in make.conf and if a graphical profile is set. Issue the command emerge --search mesa to see if mesa is already installed prior to emerging.
Now install x11-base/xorg-server.
USE flags for x11-base/xorg-server X.Org X servers
||Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces|
||Build the Distributed Multiheaded X server|
||Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally|
||Use elogind to get control over framebuffer when running as regular user|
||Add support for IP version 6|
||Build the kdrive X servers|
||Use dev-libs/libressl instead of dev-libs/openssl when applicable (see also the ssl useflag)|
||Install a very minimal build (disables, for example, plugins, fonts, most drivers, non-critical features)|
||!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur|
||Enable setuid root program, with potential security risks|
||Enable use of systemd-specific libraries and features like socket activation or session tracking|
||Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)|
||Enable virtual/udev integration (device discovery, power and storage device support, etc)|
||Enable libunwind usage for backtraces|
||Enable dev-libs/wayland backend|
||Build Security extension|
||Build the Xephyr server|
||Build the Xnest server|
||Build the Xorg X server (HIGHLY RECOMMENDED)|
||Build the Xvfb server|
emerge --ask x11-base/xorg-server
The Gentoo X11 team maintains the x11 overlay. It contains main and 'live' revisions of X.Org versions in preparation to be moved into gentoo.git , the primary Gentoo ebuild repository. Use layman or eselect repository to setup the repository.
acl USE flag is enabled globally and
elogind is being used (default for desktop profiles) permissions to video cards will be handled automatically. It is possible to check the permissions using getfacl:
getfacl /dev/dri/card0 | grep larry
A broader solution is to add the user(s) needing access the video card to the video group:
gpasswd -a larry video
Note that users will be able to run X without permission to the DRI subsystem, but acceleration will be disabled.
The X server is designed to work out-of-the-box, with no need to manually edit Xorg's configuration files. It should detect and configure devices such as displays, keyboards, and mice.
However, the main configuration file of the X server is the xorg.conf.
Usually the X server is started by starting a display manager automatically on boot.