Introduction to Xorg Server
The Xorg Server is the core of the
X Window system.
Additional Downloads
Xorg Server Dependencies
Required
A userland graphics driver (Mesa-25.1.4 and/or NVIDIA-575.64), libxcvt-0.1.3,
Pixman-0.46.2, Xorg Fonts (only font-util),
and at runtime: xkeyboard-config-2.45
Recommended
D-Bus-1.16.2, elogind-255.17 (runtime; libelogind
also referred at build time but it's
not really useful), libepoxy-1.5.10 (needed for glamor),
and xorg-libinput-1.5.0
(runtime)
Optional
libunwind-1.8.1, Nettle-3.10.1, XCB Utils (to
build Xephyr), xkeyboard-config-2.45 (for tests),
rendercheck
(for tests), and xorg-sgml-doctools
(to build documentation)
Kernel
Configuration
If your GPU supports 3D acceleration and the userland graphics
driver you installed can utilize its 3D capability, you should have
already enabled the necessary kernel configuration options.
Otherwise, you need to find the kernel configuration option of the
DRM driver for the GPU and enable it. Notably, the virtual GPUs
provided by some virtual machine managers:
Device Drivers --->
Graphics support --->
<*/M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
... [DRM]
< /*/M> DRM driver for VMware Virtual GPU [DRM_VMWGFX]
< /*/M> DRM Support for bochs dispi vga interface (qemu stdvga)
... [DRM_BOCHS]
< /*/M> Virtual Box Graphics Card [DRM_VBOXVIDEO]
If the kernel does not provide a DRM driver for your GPU, on most
x86 systems the «simple
frame buffer» DRM driver running on VESA or UEFI
frame buffer can be used as a fallback. Enable the following
options in the kernel configurations if you don't have a dedicated
DRM driver for the GPU, or you want to keep the simple frame buffer
driver as a fallback in case the dedicated driver fails:
Device Drivers --->
Firmware Drivers --->
[*] Mark VGA/VBE/EFI FB as generic system framebuffer [SYSFB_SIMPLEFB]
Graphics support --->
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
... [DRM]
<*> Simple framebuffer driver [DRM_SIMPLEDRM]
To allow the kernel to print debug messages at an early boot stage,
CONFIG_DRM
and CONFIG_DRM_SIMPLEDRM
should not be built as kernel
modules unless an initramfs will be used.
If you want to use the simple frame buffer driver on a system
booted via BIOS (instead of UEFI), add the following line before
the first menuentry
block in the
/boot/grub/grub.cfg
file to
initialize the VESA frame buffer:
set gfxpayload=1024x768x32
You may replace 1024
, 768
, and 32
with a
resolution and color depth setting suitable for your monitor.
If all of these DRM drivers do not work for you and you need to use
a DDX driver with a non-DRM kernel GPU driver (usually named
CONFIG_FB_*
in the kernel
configuration, or existing as out-tree kernel modules), or you need
an device specific functionality requiring a DDX driver, consult
an
old version of BLFS, or an
even older version for more DDX drivers.
Installation of Xorg Server
First, if you need the TearFree option to work around screen
tearing, apply the patch:
patch -Np1 -i ../xorg-server-tearfree_backport-3.patch
Install the server by running the following commands:
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
--localstatedir=/var \
-D glamor=true \
-D secure-rpc=false \
-D xkb_output_dir=/var/lib/xkb &&
ninja
To test the results, issue: ninja
test. You will need to run ldconfig as the root
user first or some tests may fail.
Now as the root
user:
ninja install &&
mkdir -pv /etc/X11/xorg.conf.d &&
install -vdm1777 /tmp/.{ICE,X11}-unix &&
if [ -z "$(grep .ICE-unix /etc/sysconfig/createfiles)" ]; then
cat >> /etc/sysconfig/createfiles << "EOF"
/tmp/.ICE-unix dir 1777 root root
EOF
fi
if [ -z "$(grep .X11-unix /etc/sysconfig/createfiles)" ]; then
cat >> /etc/sysconfig/createfiles << "EOF"
/tmp/.X11-unix dir 1777 root root
EOF
fi
Command Explanations
Notat
Undersøk meson_options.txt
eller
meson.options
for en fullstendig
liste over alternativer.
-D glamor=true
: Ensure
building the Glamor module. It's needed to build the modesetting_drv
driver which replaces the
traditional Device Dependent X (DDX) drivers.
-D secure-rpc=false
:
Disables RPC support as
libtirpc was not built.
-D suid_wrapper=true
: Builds the
suid-root wrapper for legacy DDX driver support on rootless xserver
systems.
cat >>
/etc/sysconfig/createfiles...: This command creates
the /tmp/.ICE-unix
and /tmp/.X11-unix
directories at startup, and
ensures that the permissions and ownership are correct as required
by the server.
-D xephyr=true
: This option allows
building Xephyr if its dependencies are met.
Configuring Xorg Server
Furthermore, if this package was not built with elogind-255.17 support, add any
non-root users to the input
and
video
groups as the root
user:
usermod -a -G input,video <username>
Contents
Installed Programs:
gtf, X, Xnest, Xorg, Xvfb, and optionally
Xephyr
Installed Libraries:
several under /usr/lib/xorg/modules/
including the modesetting_drv
driver
Installed Directories:
/etc/X11/xorg.conf.d, /usr/include/xorg,
/usr/lib/xorg, and /usr/share/X11/xorg.conf.d
Short Descriptions
gtf
|
calculates VESA GTF mode lines
|
X
|
is a symbolic link to Xorg
|
Xephyr
|
is a nested X server which supports modern X extensions
|
Xnest
|
is a nested X server
|
Xorg
|
is the X11R7 X Server
|
Xvfb
|
is the virtual framebuffer X server for X Version 11
|
modesetting_drv
|
provides a video driver for machines using Kernel Mode
Setting (KMS). This will use glamor if that has been
enabled and the hardware offers acceleration
|