The Xorg Drivers page contains the instructions for building Xorg drivers that are necessary in order for Xorg Server to take advantage of the hardware that it is running on. At least one input and one video driver are required for Xorg Server to start.
On machines using KMS, the modesetting driver is provided by xorg-server and can be used instead of the video driver for the specific hardware, but with reduced performance. It can also be used (without hardware acceleration) in virtual machines running under qemu.
If you are unsure which video hardware you have, you can use lspci from pciutils-3.3.0 to find out which video hardware you have and then look at the descriptions of the packages in order to find out which driver you need.
In addition to the drivers listed below, there are several other drivers for very old hardware that may still be relevant. Instructions for building these now unmaintained drivers may be found in a prior version of BLFS: http://www.linuxfromscratch.org/blfs/view/7.6/x/x7driver.html
The Libevdev package contains common functions for Xorg input drivers.
This package is known to build and work properly using an LFS-7.7 platform.
Download (HTTP): http://www.freedesktop.org/software/libevdev/libevdev-1.3.2.tar.xz
Download MD5 sum: 80c7b490bf3e7ec8e8b60d4fb307b664
Download size: 388 KB
Estimated disk space required: 7.1 MB (with tests)
Estimated build time: 0.1 SBU (0.3 SBU with tests)
Check-0.9.14, Doxygen-1.8.9.1, and Valgrind-3.10.1
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/libevdev
Enable the following options in the kernel configuration and recompile the kernel if necessary:
Device Drivers --->
Input device support --->
<*> Generic input layer (needed for...) [CONFIG_INPUT]
<*> Event interface [CONFIG_INPUT_EVDEV]
[*] Miscellaneous devices ---> [CONFIG_INPUT_MISC]
<*> User level driver support [CONFIG_INPUT_UINPUT]
If Valgrind-3.10.1 is installed and tests are going to be run, fix a testing problem:
cat >> test/valgrind.suppressions << "EOF" { <timer_create@@GLIBC_2.3.3-2> Memcheck:Param timer_create(evp) fun:timer_create@@GLIBC_2.3.3 fun:check_get_clockid fun:srunner_run fun:main } EOF
Install Libevdev by running the following commands:
./configure $XORG_CONFIG && make
If you have the optional Check-0.9.14
package installed, the regression tests can be run as the
root
user with make check
.
Now, as the root
user:
make install
The Xorg Evdev Driver package contains Generic Linux input driver for the Xorg X server. It handles keyboard, mouse, touchpads and wacom devices, though for touchpad and wacom advanced handling, additional drivers are required.
This package is known to build and work properly using an LFS-7.7 platform.
Download (HTTP): http://xorg.freedesktop.org/archive/individual/driver/xf86-input-evdev-2.9.1.tar.bz2
Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-input-evdev-2.9.1.tar.bz2
Download MD5 sum: 8f73a98e32dccc9d054b54727cc4093f
Download size: 380 KB
Estimated disk space required: 3.6 MB
Estimated build time: less than 0.1 SBU
Libevdev-1.3.2 and Xorg-Server-1.17.1
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/xorg-evdev-driver
Install Xorg Evdev Driver by running the following commands:
./configure $XORG_CONFIG && make
This package does not come with a test suite.
Now, as the root
user:
make install
The Xorg Synaptics Driver package contains the X.Org Input Driver, support programs and SDK for Synaptics touchpads. Even though the evdev driver can handle touchpads very well, this driver is required if you want to use advanced features like multi tapping, scrolling with touchpad, turning the touchpad off while typing, etc.
This package is known to build using an LFS 7.7 platform but has not been tested.
Download (HTTP): http://xorg.freedesktop.org/archive/individual/driver/xf86-input-synaptics-1.8.1.tar.bz2
Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-input-synaptics-1.8.1.tar.bz2
Download MD5 sum: ed70d0cba94262a4008dcef654ab34a9
Download size: 468 KB
Estimated disk space required: 5.5 MB
Estimated build time: 0.1 SBU
Libevdev-1.3.2 and Xorg-Server-1.17.1
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/xorg-synaptics-driver
Install Xorg Synaptics Driver by running the following commands:
./configure $XORG_CONFIG && make
This package does not come with a test suite.
Now, as the root
user:
make install
The Xorg VMMouse Driver package contains the VMMouse input driver for the Xorg X server. The VMMouse driver enables support for the special VMMouse protocol that is provided by VMware virtual machines to give absolute pointer positioning. It can be used with Qemu, too.
This package is known to build and work properly using an LFS-7.7 platform.
Download (HTTP): http://xorg.freedesktop.org/archive/individual/driver/xf86-input-vmmouse-13.0.0.tar.bz2
Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-input-vmmouse-13.0.0.tar.bz2
Download MD5 sum: 34f9f64ee6a1a51fc8266a9af24e1e07
Download size: 308 KB
Estimated disk space required: 2.9 MB
Estimated build time: less than 0.1 SBU
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/xorg-vmmouse-driver
Install Xorg VMMouse Driver by running the following commands:
patch -Np1 -i ../xf86-input-vmmouse-13.0.0-build_fix-1.patch && sed -i -e '/__i386__/a iopl(3);' tools/vmmouse_detect.c && ./configure $XORG_CONFIG \ --without-hal-fdi-dir \ --without-hal-callouts-dir \ --with-udev-rules-dir=/lib/udev/rules.d && make
This package does not come with a test suite.
Now, as the root
user:
make install
sed -i -e '/__i386__/a iopl(3);' ...: This command allows vmmouse_detect to detect the VMMouse protocol in a Qemu virtual machine.
--with-udev-rules-dir=/lib/udev/rules.d
:
This switch specifies where udev rules should be installed.
--without-hal-*-dir
: These switches
disable installation of the HAL
components which are not needed on Linux.
The Xorg Wacom Driver package contains the X.Org X11 driver and SDK for Wacom and Wacom-like tablets. It is not required to use a Wacom tablet, the xf86-input-evdev driver can handle these devices without problems.
This package is known to build using an LFS 7.7 platform but has not been tested.
Download (HTTP): http://downloads.sourceforge.net/linuxwacom/xf86-input-wacom-0.28.0.tar.bz2
Download MD5 sum: c60552cf34cef2d89a072bd7fe46da76
Download size: 584 KB
Estimated disk space required: 7.2 MB (additional 2.2 MB for the tests)
Estimated build time: 0.1 SBU
Doxygen-1.8.9.1 and Graphviz-2.38.0
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/xorg-wacom-driver
To use a Wacom tablet with USB interface, enable the following options in your kernel configuration and recompile. Note that other configuration options could be required for tablet with a serial or bluetooth interface:
Device Drivers --->
HID support --->
<*/M> HID bus support [CONFIG_HID]
Special HID drivers --->
<*/M> Wacom Intuos/Graphire tablet support (USB) [CONFIG_HID_WACOM]
Install Xorg Wacom Driver by running the following commands:
./configure $XORG_CONFIG --with-systemd-unit-dir=no && make
To test the results, issue: make check.
Now, as the root
user:
make install
The Xorg ATI Driver package contains the X.Org Video Driver for ATI Radeon video cards including all chipsets ranging from R100 to R900 and the newer RAxx chipsets.
This package is known to build and work properly using an LFS-7.7 platform.
For Direct Rendering to work with newer Radeon Cards (R300 and later chipsets), you need to enable the r300, r600 and radeonsi Gallium drivers at MesaLib-10.4.5 build time. Also, some cards require Firmware to be available when the kernel driver is loaded. Firmware can be obtained from this site. See “Kernel Configuration for additional firmware” below.
Download (HTTP): http://xorg.freedesktop.org/archive/individual/driver/xf86-video-ati-7.5.0.tar.bz2
Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-ati-7.5.0.tar.bz2
Download MD5 sum: 29654190e37310b87e44a14c229967ee
Download size: 791 KB
Estimated disk space required: 17 MB
Estimated build time: 0.2 SBU
Xorg-Server-1.17.1 (recommended to be built with glamor enabled)
Glamor is required for "Southern Islands" and later GPUs but optional for R300 to R700, Evergreen and "Northern Islands" GPUs - see the link under "Glamor Acceleration" below.
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/xorg-ati-driver
Enable the following options in the kernel configuration and recompile the kernel if necessary:
Device Drivers --->
Graphics support --->
Direct rendering Manager --->
<*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM]
<*> ATI Radeon [CONFIG_DRM_RADEON]
If you need to add firmware, install the file(s) and then point
to them in the kernel configuration and recompile the kernel if
necessary. To find out which firmware you need, consult the
Decoder ring for engineering vs marketing names. Download any
firmware for your card which is named like:
,
etc. Note that for R600 and R700 family, generic <ENGINEERING_NAME>
_rlc.binR600_rlc.bin
and R700_rlc.bin
are necessary in adition to the
model specific firmware, while for later generations (Evergreen,
"Northern Islands" and probably "Southern Islands") you need the
BTC_rlc.bin
in adition to the model
specific firmware. Below is an example for Radeon HD6470, which
is "Northern Islands" GPU with a network card that also requires
the firmware:
CONFIG_EXTRA_FIRMWARE="radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin
radeon/CAICOS_pfp.bin radeon/CAICOS_smc.bin rtl_nic/rtl8168e-3.fw"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
CONFIG_EXTRA_FIRMWARE should all be on one line. It is shown above as two lines for presentation only.
You can check dmesg output after boot to see which firmware is missing.
Alternatively, if you change CONFIG_DRM_RADEON to '=m' in your .config the firmware can be loaded automatically from /lib/firmware/radeon when it installs the module. This offers a tiny space saving, but also means that the screen will be blank for a longer time before the framebuffer appears. Distros take this approach because it is not practical to specify every possible firmware and the kernel would be excessively big.
Install Xorg ATI Driver by running the following commands:
./configure $XORG_CONFIG && make
This package does not come with a test suite.
Now, as the root
user:
make install
Glamor is an acceleration library which uses cards' 3D capabilities to accelerate 2D rendering. Glamor acceleration is required for Radeon "Southern Islands" GPUs which use "radeonsi" Gallium3D driver from MesaLib-10.4.5. To see which cards fall under "Southern Islands" category, read the Decoder ring for engineering vs marketing names. Please note that Glamor acceleration can be used with other chips as well, from the R300 onwards. On at least some Northern Islands chips it is beneficial.
Glamor acceleration is not enabled by default for chipsets that
don't use "radeonsi" Gallium3D driver. You have to use an
xorg.conf
file to enable it. To
enable Glamor for cards other than "Southern Islands" and later,
create the following file in ${XORG_PREFIX}/share/X11/xorg.conf.d/
as the
root
user:
cat >> ${XORG_PREFIX}/share/X11/xorg.conf.d/20-glamor.conf << "EOF"
Section "Device"
Identifier "radeon"
Driver "ati"
Option "AccelMethod" "glamor"
EndSection
EOF
The Xorg Fbdev Driver package contains the X.Org Video Driver for framebuffer devices. This driver is often used as fallback driver if the hardware specific and VESA drivers fail to load or are not present. If this driver is not installed, Xorg Server will print a warning on startup, but it can be safely ignored if hardware specific driver works well.
This package is known to build and work properly using an LFS-7.7 platform.
Download (HTTP): http://xorg.freedesktop.org/archive/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2
Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2
Download MD5 sum: 3931c0e19d441cc576dc088f9eb9fd73
Download size: 287 KB
Estimated disk space required: 2.5 MB
Estimated build time: 0.1 SBU
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/xorg-fbdev-driver
Install Xorg Fbdev Driver by running the following commands:
./configure $XORG_CONFIG && make
This package does not come with a test suite.
Now, as the root
user:
make install
The Xorg Intel Driver package contains the X.Org Video Driver for Intel integrated video cards including 8xx, 9xx, Gxx, Qxx and HD graphics processors (SandyBridge, IvyBridge and Haswell).
This package is known to build and work properly using an LFS-7.7 platform.
This is a development version of the Intel driver which is needed to work properly with the latest hardware.
Download (HTTP): http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.99.917.tar.bz2
Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-intel-2.99.917.tar.bz2
Download MD5 sum: fa196a66e52c0c624fe5d350af7a5e7b
Download size: 2.2 MB
Estimated disk space required: 70 MB
Estimated build time: 0.6 SBU
xcb-util-0.4.0 and Xorg-Server-1.17.1
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/xorg-intel-driver
Enable the following options in the kernel configuration. Only one of the lines “Intel I810” or “Intel 8xx/9xx...” needs to be selected. If you select the latter, “Enable modesetting...” is needed too. Recompile the kernel if necessary:
Device Drivers --->
Graphics support --->
Direct rendering Manager --->
<*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM]
<*> Intel I810 [CONFIG_DRM_I810]
<*> Intel 8xx/9xx/G3x/G4x/HD Graphics [CONFIG_DRM_I915]
[*] Enable modesetting on intel by default [CONFIG_DRM_I915_KMS]
Install Xorg Intel Driver by running the following commands:
./configure $XORG_CONFIG --enable-kms-only && make
This package does not come with a test suite.
Now, as the root
user:
make install
--enable-kms-only
: This
switch omits the UMS (User Mode Setting) code.
The Xorg Nouveau Driver package contains the X.Org Video Driver for NVidia Cards including RIVA TNT, RIVA TNT2, GeForce 256, QUADRO, GeForce2, QUADRO2, GeForce3, QUADRO DDC, nForce, nForce2, GeForce4, QUADRO4, GeForce FX, QUADRO FX, GeForce 6XXX and GeForce 7xxx chipsets.
This package is known to build and work properly using an LFS-7.7 platform.
Download (HTTP): http://xorg.freedesktop.org/archive/individual/driver/xf86-video-nouveau-1.0.11.tar.bz2
Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-nouveau-1.0.11.tar.bz2
Download MD5 sum: a0d2932d84ba10c4933c8332c9afe157
Download size: 569 KB
Estimated disk space required: 14 MB
Estimated build time: 0.1 SBU
Xorg-Server-1.17.1 (recommended to be built with glamor enabled)
The new “Maxwell” GPU requires Glamor to be built with the Xorg server. Note that the BLFS editors have not tested that hardware.
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/xorg-nouveau-driver
Enable the following options in the kernel configuration and recompile the kernel if necessary:
Device Drivers --->
Graphics support --->
Direct rendering Manager --->
<*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM]
<*> Nouveau (NVIDIA) cards [CONFIG_DRM_NOUVEAU]
[*] Support for backlight control [CONFIG_DRM_NOUVEAU_BACKLIGHT]
Install Xorg Nouveau Driver by running the following commands:
./configure $XORG_CONFIG && make
This package does not come with a test suite.
Now, as the root
user:
make install
Glamor is an acceleration library which uses cards' 3D capabilities to accelerate 2D rendering. Glamor acceleration is enabled by default for the new “Maxwell” GPU's. According to the documentation, Glamor acceleration can be used with other chips as well, but that does not seem functional yet.
If you want anyway to try to enable Glamor for GPU's other than
the new “Maxwell” ones,
create the following file as the root
user:
cat >> /etc/X11/xorg.conf.d/nvidia.conf << "EOF"
Section "Device"
Identifier "nvidia"
Driver "nouveau"
Option "AccelMethod" "glamor"
EndSection
EOF
The Xorg VMware Driver package contains the X.Org Video Driver for VMware SVGA virtual video cards.
This package is known to build and work properly using an LFS-7.7 platform.
Download (HTTP): http://xorg.freedesktop.org/archive/individual/driver/xf86-video-vmware-13.1.0.tar.bz2
Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-vmware-13.1.0.tar.bz2
Download MD5 sum: 0cba22fed4cb639d5c4276f7892c543d
Download size: 452 KB
Estimated disk space required: 7.9 MB
Estimated build time: 0.1 SBU
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/xorg-vmware-driver
Enable the following options in the kernel configuration and recompile the kernel if necessary:
Device Drivers --->
Graphics support --->
Direct Rendering Manager --->
<*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM]
<*> DRM driver for VMware Virtual GPU [CONFIG_DRM_VMWGFX]
[*] Enable framebuffer console under vmwgfx by default [CONFIG_DRM_VMWGFX_FBCON]
Install Xorg VMware Driver by running the following commands:
./configure $XORG_CONFIG && make
This package does not come with a test suite.
Now, as the root
user:
make install
The libva package contains a library which provides access to hardware accelerated video processing, using hardware to accelerate video processing in order to offload the central processing unit (CPU) to decode and encode compressed digital video. VA API video decode/encode interface is platform and window system independent targeted at Direct Rendering Infrastructure (DRI) in the X Window System however it can potentially also be used with direct framebuffer and graphics sub-systems for video output. Accelerated processing includes support for video decoding, video encoding, subpicture blending, and rendering.
This package is known to build and work properly using an LFS-7.7 platform.
Download (HTTP): http://www.freedesktop.org/software/vaapi/releases/libva/libva-1.5.0.tar.bz2
Download MD5 sum: ad0b55794308ec397d249a0a2a6df27a
Download size: 760 KB
Estimated disk space required: 17 MB
Estimated build time: 0.2 SBU
Intel Driver Download (HTTP): http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver/libva-intel-driver-1.5.0.tar.bz2
Intel Driver Download MD5 sum: 16752f1584398265072129553b7907ce
Intel Driver Download size: 996 KB
Estimated disk space required: 27 MB
Estimated build time: 0.2 SBU
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/libva
Install libva by running the following commands:
mkdir -p m4 && autoreconf -fi && ./configure $XORG_CONFIG && make
This package does not come with a test suite.
Now, as the root
user:
make install
The libva-intel-driver is designed specifically for video cards based on an Intel GPU. Install the driver by running the following commands:
mkdir -p m4 && autoreconf -fi && ./configure $XORG_CONFIG && make
This package does not come with a test suite.
Now, as the root
user:
make install
mkdir -p m4: This command prevents an error that may occur when running autoreconf.
autoreconf -fi: This command regenerates the configure script to prevent a mandatory test for wayland-scanner when configuring.
The libvdpau package contains a library which implements the VDPAU library.
VDPAU (Video Decode and Presentation API for Unix) is an open source library (libvdpau) and API originally designed by Nvidia for its GeForce 8 series and later GPU hardware targeted at the X Window System This VDPAU API allows video programs to offload portions of the video decoding process and video post-processing to the GPU video-hardware.
Currently, the portions capable of being offloaded by VDPAU onto the GPU are motion compensation (mo comp), inverse discrete cosine transform (iDCT), VLD (variable-length decoding) and deblocking for MPEG-1, MPEG-2, MPEG-4 ASP (MPEG-4 Part 2), H.264/MPEG-4 AVC and VC-1, WMV3/WMV9 encoded videos. Which specific codecs of these that can be offloaded to the GPU depends on the version of the GPU hardware; specifically, to also decode MPEG-4 ASP (MPEG-4 Part 2), Xvid/OpenDivX (DivX 4), and DivX 5 formats, a GeForce 200M (2xxM) Series (the eleventh generation of Nvidia's GeForce graphics processing units) or newer GPU hardware is required.
This package is known to build and work properly using an LFS-7.7 platform.
Download (HTTP): http://people.freedesktop.org/~aplattner/vdpau/libvdpau-0.9.tar.gz
Download MD5 sum: 3a1f8f3ec6e6adcfbc6044c8f00d7d51
Download size: 516 KB
Estimated disk space required: 7.8 MB
Estimated build time: 0.1 SBU
Doxygen-1.8.9.1, Graphviz-2.38.0, and texlive-20140525 or install-tl-unx
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/libvdpau
Install libvdpau by running the following commands:
./configure $XORG_CONFIG \ --docdir=/usr/share/doc/libvdpau-0.9 && make
To test the results, issue: make check.
Now, as the root
user:
make install
The libvdpau-va-gl package contains a library which implements the VDPAU library. Libvdpau_va_gl uses OpenGL under the hood to accelerate drawing and scaling and the VA-API (if available) to accelerate video decoding. For now VA-API is available on some Intel chips, and on some AMD video adapters with the help of the libvdpau driver.
This package is known to build using an LFS 7.7 platform but has not been tested.
Libvdpau-va-gl Driver Download (HTTP): https://github.com/i-rinat/libvdpau-va-gl/releases/download/v0.3.4/libvdpau-va-gl-0.3.4.tar.gz
Libvdpau-va-gl Driver Download MD5 sum: 09ceb2f75eafccc9b002d35ede0de6a5
Libvdpau-va-gl Driver Download size: 100 KB
Estimated disk space required: 4.0 MB
Estimated build time: less than 0.1 SBU
CMake-3.1.3, FFmpeg-2.5.4, GLU-9.0.0, libvdpau-0.9, and libva-1.5.0
Doxygen-1.8.9.1, Graphviz-2.38.0, and texlive-20140525 or install-tl-unx
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/libvdpau
Install libvdpau-va-gl by running the following commands:
mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$XORG_PREFIX .. && make
To test the results, issue: make check. The tests must be run from an Xorg environment.
Now, as the root
user:
make install
To allow libvdpau to find libvdpau-va-gl, set an environment
variable. As the root
user:
echo "export VDPAU_DRIVER=va_gl" >> /etc/profile.d/xorg.sh
Last updated on 2015-03-03 11:19:14 -0800