#### Beyond Linux® From Scratch (systemd Edition) - Version 11.1

### Chapter 24. Graphical Environments

- Prev

  Xorg-Server-21.1.3

- Next

  twm-1.0.11

- Up
- Home

# Xorg Drivers

## Introduction to Xorg Drivers

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.

### Note

If you are unsure which video hardware you have, you can use lspci from pciutils-3.7.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.

### Note

In addition to the drivers listed below, there are several other drivers for very old hardware that may still be relevant. The latest versions of these drivers may be downloaded from https://www.x.org/archive/individual/driver. Instructions for building these now intermittently maintained drivers may be found in a prior version of BLFS: https://www.linuxfromscratch.org/blfs/view/7.6/x/x7driver.html

###

#### Xorg Input Drivers

- libevdev-1.12.0

- Xorg Evdev Driver-2.10.6

- libinput-1.19.3

- Xorg Libinput-1.2.1

- Xorg Synaptics Driver-1.9.1

- Xorg Wacom Driver-1.0.0

###

#### Xorg Video Drivers

- Xorg AMDGPU Driver-21.0.0

- Xorg ATI Driver-19.1.0

- Xorg Fbdev Driver-0.5.0

- Xorg Intel Driver-20210222

- Xorg Nouveau Driver-1.0.17

- Xorg VMware Driver-13.3.0

###

#### Hardware Video Acceleration

- libva-2.13.0

- libvdpau-1.4

- libvdpau-va-gl-0.4.0

## libevdev 1.12.0

###

#### Introduction to libevdev

The libevdev package contains common functions for Xorg input drivers.

This package is known to build and work properly using an LFS-11.1 platform.

#### Package Information

- Download (HTTP): https://www.freedesktop.org/software/libevdev/libevdev-1.12.0.tar.xz

- Download MD5 sum: 2186bc6b92c2c9573d8915b0a43acb43

- Download size: 433 KB

- Estimated disk space required: 9.1 MB (with tests)

- Estimated build time: 0.2 SBU (with tests)

#### libevdev Dependencies

##### Optional

Doxygen-1.9.3 and Valgrind-3.18.1 (optional for tests)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libevdev

###

#### Kernel Configuration

Enable the following options in the kernel configuration and recompile the kernel if necessary:

    Device Drivers  --->
      Input device support --->
        <*> Generic input layer (needed for keyboard, mouse, ...) [CONFIG_INPUT]
        <*>   Event interface                   [CONFIG_INPUT_EVDEV]
        [*]   Miscellaneous devices  --->       [CONFIG_INPUT_MISC]
          <*/m>    User level driver support    [CONFIG_INPUT_UINPUT]

The last item is not strictly required for libevdev. If it is compiled as a module, it is not loaded automatically. It is needed for full test coverage.

###

#### Installation of libevdev

Install libevdev by running the following commands:

    ./configure $XORG_CONFIG &&
    make

The regression tests can be run as the `root` user with make check, in a graphical session. You need to have enabled the CONFIG_INPUT_UINPUT setting in the kernel for full test coverage. If it is enabled as a module, the module is named uinput and needs to be loaded before running the tests. Note that on some systems, the tests may cause a hard lockup and require a reboot. On laptops, the system will go into Sleep and need to be woken up to finish the test suites.

Now, as the `root` user:

    make install

###

#### Contents

Installed Xorg Programs: libevdev-tweak-device, mouse-dpi-tool, and touchpad-edge-detector
Installed Xorg Library: libevdev.so
Installed Xorg Directory: $XORG_PREFIX/include/libevdev-1.0

#### Short Descriptions

libevdev-tweak-device | is a tool to change some kernel device properties
mouse-dpi-tool | is a tool to estimate the resolution of a mouse
touchpad-edge-detector | touchpad-edge-detector is a tool that reads the touchpad events from the kernel and calculates the minimum and maximum for the x and y coordinates, respectively
`libevdev.so` | is a library of Xorg driver input functions

## Xorg Evdev Driver-2.10.6

###

#### Introduction to Xorg Evdev Driver

The Xorg Evdev Driver package contains a 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-11.1 platform.

#### Package Information

- Download (HTTP): https://www.x.org/pub/individual/driver/xf86-input-evdev-2.10.6.tar.bz2

- Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-input-evdev-2.10.6.tar.bz2

- Download MD5 sum: e8bd1edc6751f92e425cae7eba3c61eb

- Download size: 400 KB

- Estimated disk space required: 3.9 MB

- Estimated build time: less than 0.1 SBU

#### Xorg Evdev Driver Dependencies

##### Required

libevdev-1.12.0, mtdev-1.1.6, and Xorg-Server-21.1.3

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xorg-evdev-driver

###

#### Installation of 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

###

#### Contents

Installed Xorg Driver: evdev_drv.so

#### Short Descriptions

`evdev_drv.so` | is an Xorg input driver for Linux generic event devices

## libinput-1.19.3

###

#### Introduction to libinput

libinput is a library that handles input devices for display servers and other applications that need to directly deal with input devices.

This package is known to build and work properly using an LFS-11.1 platform.

#### Package Information

- Download (HTTP): https://www.freedesktop.org/software/libinput/libinput-1.19.3.tar.xz

- Download MD5 sum: a9f6fe8156739b51593674183cb25399

- Download size: 640 KB

- Estimated disk space required: 10 MB (add 17 MB for documentation)

- Estimated build time: 0.1 SBU (add 0.1 SBU for documentation)

#### libinput Dependencies

##### Required

libevdev-1.12.0 and mtdev-1.1.6

##### Optional

Valgrind-3.18.1 (to run the tests), Sphinx (required to build documentation), GTK+-3.24.31 (to build the GUI event viewer), libunwind (required for tests), libwacom-2.1.0, and PyParsing (for one non-root test)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libinput

###

#### kernel configuration for running the libinput testsuite

Although libinput works with the same kernel configuration used by libevdev-1.12.0, its extensive testsuite requires the presence of `/dev/uinput` (as well as both Valgrind-3.18.1 and libunwind).

If you wish to run the full tests, enable the following option in the kernel configuration and recompile the kernel if necessary:

    Device Drivers --->
      Input device support --->
        Miscellaneous Devices --->
        <*/M>   User level driver support        [CONFIG_INPUT_UINPUT]

If you build this as a module, it needs to be inserted before the testsuite runs.

On an Xorg system you will also need to prevent the events generated during the testsuite from interfering with your desktop. Copy the file `test/50-litest.conf` into `${XORG_PREFIX}/share/X11/xorg.conf.d` and restart X. For further information see libinput test suite.

###

#### Installation of libinput

Install libinput by running the following commands:

    mkdir build &&
    cd    build &&

    meson --prefix=$XORG_PREFIX \
          --buildtype=release   \
          -Ddebug-gui=false     \
          -Dtests=false         \
          -Dlibwacom=false      \
          ..                    &&
    ninja

### Note

If you want to run the full tests, remove -Dtests from the meson command above. Please read "kernel configuration for running the libinput testsuite" (above).

If you have enabled the full tests, you can run the main tests as the root user by executing: ninja test. A very large number of tests will be run, about 20 fail (at least on an Xorg system).

Now, as the `root` user:

    ninja install

If you have passed `-Ddocumentation=true` to meson, you can install the generated documentation by running the following commands as the `root` user:

    install -v -dm755      /usr/share/doc/libinput-1.19.3/html &&
    cp -rv Documentation/* /usr/share/doc/libinput-1.19.3/html

###

#### Command Explanations

`--buildtype=release`: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

`-Ddebug-gui=false`: This switch disables creation of a visual debug helper for libinput. Remove if you want it, and you have GTK+-3.24.31 installed.

`-Dtests=false`: This switch disables compilation of the main tests. Even with the tests defined as false, you can still run the first four minor tests, as a regular user, but one will be skipped if PyParsing is not installed.

`-Dlibwacom=false`: Remove this option if you have libwacom-2.1.0 installed, or if you are installing GNOME.

`-Ddocumentation=true`: This switch enables generation of the documentation. Add it if you want to generate the documentation. You must have Doxygen-1.9.3 and Graphviz-2.50.0 installed.

###

#### Contents

Installed Programs: libinput
Installed Libraries: libinput.so
Installed Directories: $XORG_PREFIX/libexec/libinput, /etc/libinput, /usr/share/libinput, and (optionally) /usr/share/doc/libinput-1.19.3

### Short Descriptions

libinput | is a set of tools to interface with the libinput library
`libinput.so` | contains API functions for handling input devices

## Xorg Libinput Driver-1.2.1

###

#### Introduction to Xorg Libinput Driver

The X.Org Libinput Driver is a thin wrapper around libinput and allows for libinput to be used for input devices in X. This driver can be used as as drop-in replacement for evdev and synaptics.

This package is known to build and work properly using an LFS-11.1 platform.

#### Package Information

- Download (HTTP): https://www.x.org/pub/individual/driver/xf86-input-libinput-1.2.1.tar.xz

- Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-input-libinput-1.2.1.tar.xz

- Download MD5 sum: c6e942a1d639ebe2621905cc84eb26b9

- Download size: 308 KB

- Estimated disk space required: 3.6 MB (with tests)

- Estimated build time: less than 0.1 SBU (with tests)

#### Xorg Libinput Driver Dependencies

##### Required

libinput-1.19.3 and Xorg-Server-21.1.3

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xorg-libinput-driver

###

#### Installation of Xorg Libinput Driver

Install Xorg Libinput Driver by running the following commands:

    ./configure $XORG_CONFIG &&
    make

To test the results, issue make check.

Now, as the `root` user:

    make install

###

#### Contents

Installed Xorg Driver: libinput_drv.so

#### Short Descriptions

`libinput_drv.so` | is an Xorg input driver for mouse, keyboard, touchpad, touchscreen, and tablet devices

## Xorg Synaptics Driver-1.9.1

###

#### Introduction to Xorg Synaptics Driver

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 and work properly using an LFS-11.1 platform.

#### Package Information

- Download (HTTP): https://www.x.org/pub/individual/driver/xf86-input-synaptics-1.9.1.tar.bz2

- Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-input-synaptics-1.9.1.tar.bz2

- Download MD5 sum: cfb79d3c975151f9bbf30b727c260cb9

- Download size: 492 KB

- Estimated disk space required: 4.8 MB

- Estimated build time: less than 0.1 SBU

#### Xorg Synaptics Driver Dependencies

##### Required

libevdev-1.12.0 and Xorg-Server-21.1.3

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xorg-synaptics-driver

###

#### Installation of 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

###

#### Contents

Installed Programs: synclient and syndaemon
Installed Xorg Driver: synaptics_drv.so

#### Short Descriptions

synclient | is a command line utility used to query and modify Synaptics driver options
syndaemon | is a program that monitors keyboard activity and disables the touchpad when the keyboard is being used
`synaptics_drv.so` | is an Xorg input driver for touchpads

## Xorg Wacom Driver-1.0.0

###

#### Introduction to Xorg Wacom Driver

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 and work properly using an LFS-11.1 platform.

#### Package Information

- Download (HTTP): https://github.com/linuxwacom/xf86-input-wacom/releases/download/xf86-input-wacom-1.0.0/xf86-input-wacom-1.0.0.tar.bz2

- Download MD5 sum: f6376b606412f803599e45cb7e938af4

- Download size: 616 KB

- Estimated disk space required: 8.5 MB (with tests)

- Estimated build time: 0.1 SBU (with tests)

#### Xorg Wacom Drivers Dependencies

##### Required

Xorg-Server-21.1.3

##### Optional

Doxygen-1.9.3 and Graphviz-2.50.0

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xorg-wacom-driver

###

#### Kernel Configuration

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  --->
        -*- HID bus support                                      [CONFIG_HID]
             Special HID drivers --->
                  <*/M> Wacom Intuos/Graphire tablet support (USB) [CONFIG_HID_WACOM]

###

#### Installation of Xorg Wacom Driver

Install Xorg Wacom Driver by running the following commands:

    ./configure $XORG_CONFIG &&
    make

To test the results, issue: make check.

Now, as the `root` user:

    make install

###

#### Contents

Installed Programs: isdv4-serial-debugger, isdv4-serial-inputattach, and xsetwacom
Installed Xorg Driver: wacom_drv.so

#### Short Descriptions

xsetwacom | is a commandline utility used to query and modify wacom driver settings
`wacom_drv.so` | is an Xorg input driver for Wacom devices

## Xorg AMDGPU Driver-21.0.0

###

#### Introduction to Xorg AMDGPU Driver

The Xorg AMDGPU Driver package contains the X.Org Video Driver for newer AMD Radeon video cards and newer AMD-CPUs with integrated graphics (APUs). This includes video cards starting with Volcanic Islands. It can also be used for Southern and Sea Islands if the experimental support was enabled in the kernel.

This package is known to build and work properly using an LFS-11.1 platform.

### Note

For Direct Rendering to work, you need to enable the radeonsi Gallium driver at Mesa-21.3.6 build time. Also, all cards and newer APUs require Firmware to be available when the kernel driver is loaded. Firmware can be obtained from https://anduin.linuxfromscratch.org/BLFS/linux-firmware/. See the section called “Kernel Configuration for additional firmware” below for additional firmware.

#### Package Information

- Download (HTTP): https://www.x.org/pub/individual/driver/xf86-video-amdgpu-21.0.0.tar.bz2

- Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-amdgpu-21.0.0.tar.bz2

- Download MD5 sum: 61a4af51082a58c63af8970b06c3f4be

- Download size: 440 KB

- Estimated disk space required: 6.0 MB

- Estimated build time: less than 0.1 SBU

#### Xorg AMDGPU Driver Dependencies

##### Required

Xorg-Server-21.1.3 (must be built with glamor enabled)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xorg-amdgpu-driver

###

#### Kernel Configuration

Enable the following options in the kernel configuration and recompile the kernel if necessary:

    Device Drivers  --->
      Graphics support --->
       <*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM]
       <*/M> AMD GPU                                           [CONFIG_DRM_AMDGPU]
        < /*> Enable amdgpu support for SI parts               [CONFIG_DRM_AMDGPU_SI]
        < /*> Enable amdgpu support for CIK parts              [CONFIG_DRM_AMDGPU_CIK]

The last two options enable experimental support for Southern and Sea Islands AMD GPUs so they can be used with this driver. Note that the support is marked experimental and disabled by default. Xorg ATI Driver-19.1.0 should be used for those GPUs.

###

#### Kernel Configuration for additional firmware

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: ``<ENGINEERING_NAME>`_rlc.bin`, etc. Below is an example for Radeon R7 M340 GPU, which is codenamed Iceland/Topaz, along with a network card that also requires the firmware:

    CONFIG_EXTRA_FIRMWARE="amdgpu/topaz_ce.bin amdgpu/topaz_k_smc.bin amdgpu/topaz_mc.bin
                           amdgpu/topaz_me.bin amdgpu/topaz_mec2.bin amdgpu/topaz_mec.bin
                           amdgpu/topaz_pfp.bin amdgpu/topaz_rlc.bin amdgpu/topaz_sdma1.bin
                           amdgpu/topaz_sdma.bin amdgpu/topaz_smc.bin rtl_nic/rtl8168e-3.fw"
    CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"

### Note

CONFIG_EXTRA_FIRMWARE should all be on one line. It is shown above as multiple lines for presentation only.

### Tip

You can check dmesg output after boot to see which firmware is missing.

Alternatively, if you change CONFIG_DRM_AMDGPU to '=m' in your linux kernel .config the firmware can be loaded automatically from /lib/firmware/amdgpu/ 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.

###

#### Installation of Xorg AMDGPU Driver

Install Xorg AMDGPU 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

###

#### Contents

Installed Xorg Driver: amdgpu_drv.so

#### Short Descriptions

`amdgpu_drv.so` | is an Xorg video driver for latest AMD Radeon video cards

## Xorg ATI Driver-19.1.0

###

#### Introduction to Xorg ATI Driver

The Xorg ATI Driver package contains the X.Org Video Driver for ATI Radeon video cards including all chipsets ranging from R100 to the "Volcanic Islands" chipsets.

This package is known to build and work properly using an LFS-11.1 platform.

### Note

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 Mesa-21.3.6 build time. Also, some cards require Firmware to be available when the kernel driver is loaded. Firmware can be obtained from https://anduin.linuxfromscratch.org/BLFS/linux-firmware/. See the section called “Kernel Configuration for additional firmware” below for additional firmware.

#### Package Information

- Download (HTTP): https://www.x.org/pub/individual/driver/xf86-video-ati-19.1.0.tar.bz2

- Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-ati-19.1.0.tar.bz2

- Download MD5 sum: 6e49d3c2839582af415ceded76e626e6

- Download size: 884 KB

- Estimated disk space required: 21 MB

- Estimated build time: 0.2 SBU

#### Additional Downloads

- Required patch: https://www.linuxfromscratch.org/patches/blfs/11.1/xf86-video-ati-19.1.0-upstream_fixes-1.patch

#### Xorg ATI Driver Dependencies

##### Required

Xorg-Server-21.1.3 (recommended to be built with glamor enabled)

### Note

Glamor is required for Southern, Sea or Volcanic Islands GPUs, and used by default in all other R600 or later radeon GPUs. To see which GPUs are in these categories, read the Decoder ring for engineering vs marketing names.

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xorg-ati-driver

###

#### Kernel Configuration

Enable the following options in the kernel configuration and recompile the kernel if necessary:

    Device Drivers  --->
      Graphics support --->
       <*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM]
       <*> ATI Radeon                                          [CONFIG_DRM_RADEON]

###

#### Kernel Configuration for additional firmware

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: ``<ENGINEERING_NAME>`_rlc.bin`, etc. Note that for R600 and R700 family, generic `R600_rlc.bin` and `R700_rlc.bin` are necessary in addition to the model specific firmware, while for later generations you need the `BTC_rlc.bin` in addition to the model specific firmware. Below is an example for a Radeon HD6470 which is a "Northern Islands" GPU, plus an RTL network chip that also requests extra 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"

### Note

CONFIG_EXTRA_FIRMWARE should all be on one line. It is shown above as two lines for presentation only.

### Tip

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.

###

#### Installation of Xorg ATI Driver

First, apply a patch including fixes for known performance regressions and future problems with Xorg-Server.

    patch -Np1 -i ../xf86-video-ati-19.1.0-upstream_fixes-1.patch

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

###

#### Contents

Installed Xorg Drivers: ati_drv.so and radeon_drv.so

#### Short Descriptions

`ati_drv.so` | is a wrapper driver for ATI video cards that autodetects ATI video hardware and loads the radeon, mach64 or r128 driver depending on which video card is in use
`radeon_drv.so` | is an Xorg video driver for ATI Radeon based video cards

## Xorg Fbdev Driver-0.5.0

###

#### Introduction to Xorg Fbdev Driver

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-11.1 platform.

#### Package Information

- Download (HTTP): https://www.x.org/pub/individual/driver/xf86-video-fbdev-0.5.0.tar.bz2

- Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-fbdev-0.5.0.tar.bz2

- Download MD5 sum: f07475655376be5a124d8187aacd87b6

- Download size: 292 KB

- Estimated disk space required: 2.5 MB

- Estimated build time: less than 0.1 SBU

#### Xorg Fbdev Driver Dependencies

##### Required

Xorg-Server-21.1.3

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xorg-fbdev-driver

###

#### Installation of 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

###

#### Contents

Installed Xorg Driver: fbdev_drv.so

#### Short Descriptions

`fbdev_drv.so` | is an Xorg video driver for framebuffer devices

## Xorg Intel Driver-20210222

###

#### Introduction to Xorg Intel Driver

The Xorg Intel Driver package contains the X.Org Video Driver for Intel integrated video chips including 8xx, 9xx, Gxx, Qxx, HD, Iris, and Iris Pro graphics processors.

This package is known to build and work properly using an LFS-11.1 platform.

### Note

This driver is for Intel integrated GPU, and a development version is needed to work properly with the latest hardware. This version is now one year old and has some problems. The “Kernel Modes Setting (KMS)” driver shipped along with Xorg Server is said to give better results.

#### Package Information

- Download (HTTP): https://anduin.linuxfromscratch.org/BLFS/xf86-video-intel/xf86-video-intel-20210222.tar.xz

- Download (FTP): ftp://anduin.linuxfromscratch.org/BLFS/xf86-video-intel/xf86-video-intel-20210222.tar.xz

- Download MD5 sum: 8795a5d17ece4dea4763e61be7805882

- Download size: 948 KB

- Estimated disk space required: 77 MB

- Estimated build time: 0.6 SBU

#### Xorg Intel Driver Dependencies

##### Required

xcb-util-0.4.0 and Xorg-Server-21.1.3

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xorg-intel-driver

###

#### Kernel Configuration

Enable the following options in the kernel configuration. Recompile the kernel if necessary:

    Device Drivers  --->
      Graphics support --->
       <*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM]
       <*> Intel 8xx/9xx/G3x/G4x/HD Graphics                   [CONFIG_DRM_I915]

###

#### Installation of Xorg Intel Driver

Install Xorg Intel Driver by running the following commands:

    ./autogen.sh $XORG_CONFIG     \
                --enable-kms-only \
                --enable-uxa      \
                --mandir=/usr/share/man &&
    make

This package does not come with a test suite.

Now, as the `root` user:

    make install &&

    mv -v /usr/share/man/man4/intel-virtual-output.4 \
          /usr/share/man/man1/intel-virtual-output.1 &&

    sed -i '/\.TH/s/4/1/' /usr/share/man/man1/intel-virtual-output.1

###

#### Working around problems with the Intel driver

The SandyBridge New Acceleration (SNA) code is intended to replace the old UXA (UMA Acceleration Architecture), but it is a large body of code and may cause problems. However, the version of the code in the version control system listed above has been tested successfully with both SNA and UXA capabilities.

To work around this problem, as well as enabling support for UXA, it is necessary to force UXA to be used by creating a configuration file. If this problem applies to you, create the following file as the `root` user and modify it as needed:

    cat >> /etc/X11/xorg.conf.d/20-intel.conf << "EOF"
    Section   "Device"
            Identifier "Intel Graphics"
            Driver     "intel"
            #Option     "DRI" "2"            # DRI3 is default
            #Option     "AccelMethod"  "sna" # default
            #Option     "AccelMethod"  "uxa" # fallback
    EndSection
    EOF

###

#### Command Explanations

`--enable-kms-only`: This switch omits the UMS (User Mode Setting) code.

`--enable-uxa`: This switch allows the old UXA code to be compiled in addition to the default SNA.

###

#### Contents

Installed Program: intel-virtual-output
Installed Library: libIntelXvMC.so
Installed Xorg Driver: intel_drv.so

#### Short Descriptions

intel-virtual-output | is a utility to connect the integrated Intel GPU to discrete outputs on hybrid systems
`intel_drv.so` | is an Xorg video driver for Intel integrated graphics chipsets

## Xorg Nouveau Driver-1.0.17

###

#### Introduction to Xorg Nouveau Driver

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-11.1 platform.

#### Package Information

- Download (HTTP): https://www.x.org/pub/individual/driver/xf86-video-nouveau-1.0.17.tar.bz2

- Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-nouveau-1.0.17.tar.bz2

- Download MD5 sum: b08633be9af9ee819077c278dfc55648

- Download size: 620 KB

- Estimated disk space required: 14 MB

- Estimated build time: 0.1 SBU

#### Xorg Nouveau Drivers Dependencies

##### Required

Xorg-Server-21.1.3 (recommended to be built with glamor enabled)

### Note

The new “Maxwell” and “Pascal” GPUs require Glamor to be built with the Xorg server.

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xorg-nouveau-driver

###

#### Kernel Configuration

Enable the following options in the kernel configuration and recompile the kernel if necessary:

    Device Drivers  --->
      Graphics support --->
       <*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM]
       <*> Nouveau (NVIDIA) cards                              [CONFIG_DRM_NOUVEAU]
          [*]   Support for backlight control                     [CONFIG_DRM_NOUVEAU_BACKLIGHT]

###

#### Installation of Xorg Nouveau Driver

### Note

Please ensure that you have installed Mesa-21.3.6 with the nouveau fixes patch prior to continuing.

First, fix the Xorg Nouveau Driver to build with the latest Xorg Server:

    grep -rl slave | xargs sed -i s/slave/secondary/

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

###

#### Contents

Installed Xorg Driver: nouveau_drv.so

#### Short Descriptions

`nouveau_drv.so` | is an Xorg video driver for nVidia video cards

## Xorg VMware Driver-13.3.0

###

#### Introduction to Xorg VMware Driver

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-11.1 platform.

#### Package Information

- Download (HTTP): https://www.x.org/pub/individual/driver/xf86-video-vmware-13.3.0.tar.bz2

- Download (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-vmware-13.3.0.tar.bz2

- Download MD5 sum: 08d66d062055080ff699ab4869726ea2

- Download size: 464 KB

- Estimated disk space required: 12 MB

- Estimated build time: 0.1 SBU

#### Xorg VMware Driver Dependencies

##### Required

Xorg-Server-21.1.3

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xorg-vmware-driver

###

#### Kernel Configuration

Enable the following options in the kernel configuration and recompile the kernel if necessary:

    Device Drivers  --->
      Graphics support  --->
       <*> 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]

###

#### Installation of Xorg VMware Driver

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

###

#### Contents

Installed Xorg Driver: vmware_drv.so

#### Short Descriptions

`vmware_drv.so` | is an Xorg video driver for VMware SVGA virtual video card

## libva-2.13.0

###

#### Introduction to libva

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. The 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-11.1 platform.

#### Package Information

- Download (HTTP): https://github.com/intel/libva/releases/download/2.13.0/libva-2.13.0.tar.bz2

- Download MD5 sum: 51490259c307c65fcc36447d92856152

- Download size: 488 KB

- Estimated disk space required: 11 MB

- Estimated build time: 0.1 SBU

#### Additional Downloads

- Intel Driver Download (HTTP): https://github.com/intel/intel-vaapi-driver/releases/download/2.4.1/intel-vaapi-driver-2.4.1.tar.bz2

- Intel Driver Download MD5 sum: 073fce0f409559109ad2dd0a6531055d

- Intel Driver Download size: 2.8 MB

- Estimated disk space required: 97 MB

- Estimated build time: 0.3 SBU

#### libva Dependencies

##### Required

libdrm-2.4.110

##### Recommended

Mesa-21.3.6

##### Optional

Doxygen-1.9.3, Wayland-1.20.0, and intel-gpu-tools

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libva

###

#### Installation of libva

### Caution

If you are reinstalling this package, you will need to remove the older versions of the libraries. These are in the form of libva*.so.1 and any symbolic links pointing to them. In addition, any packages that use these files need to be rebuilt.

Install libva 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

### Installation of intel-vaapi-driver

The intel-vaapi-driver is designed specifically for video cards based on an Intel GPU. Unpack the intel-vaapi tarball:

    tar -xvf ../intel-vaapi-driver-2.4.1.tar.bz2 &&
    cd intel-vaapi-driver-2.4.1

Install the 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

###

#### Contents

Installed Programs: None
Installed Libraries: libva-drm.so, libva-glx.so, libva.so, libva-wayland.so, and libva-x11.so
Installed Driver: i965_drv_video.so
Installed Directory: $XORG_PREFIX/include/va

### Short Descriptions

`libva.so` | contains API functions which provide access to hardware accelerated video processing

## libvdpau-1.4

###

#### Introduction to libvdpau

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-11.1 platform.

#### Package Information

- Download (HTTP): https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/1.4/libvdpau-1.4.tar.bz2

- Download MD5 sum: a664cc2cfe9c30536d2e11c928cbea35

- Download size: 140 KB

- Estimated disk space required: 4.2 MB (with tests)

- Estimated build time: less than 0.1 SBU (with tests)

#### libvdpau Dependencies

##### Required

Xorg Libraries

##### Optional

Doxygen-1.9.3, Graphviz-2.50.0, and texlive-20210325 or install-tl-unx

##### Runtime Dependency

Mesa-21.3.6

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libvdpau

###

#### Installation of libvdpau

Install libvdpau by running the following commands:

    mkdir build &&
    cd    build &&

    meson --prefix=$XORG_PREFIX .. &&
    ninja

To test the results, issue: ninja test. There is only one test for this package, dlclose, and it is known to fail on some systems.

Now, as the `root` user:

    ninja install

If doxygen is present at build time place the documentation in a versioned directory as the `root` user:

    [ -e $XORG_PREFIX/share/doc/libvdpau ] && mv -v $XORG_PREFIX/share/doc/libvdpau{,1.4}

###

#### Contents

Installed Programs: None
Installed Library: libvdpau.so
Installed Directories: $XORG_PREFIX/{include,lib}/vdpau

### Short Descriptions

`libvdpau.so` | contains functions to offload portions of the video decoding process and video post-processing to the GPU video-hardware

## libvdpau-va-gl-0.4.0

###

#### Introduction to libvdpau-va-gl

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 and work properly using an LFS-11.1 platform.

#### Package Information

- Libvdpau-va-gl Driver Download (HTTP): https://github.com/i-rinat/libvdpau-va-gl/archive/v0.4.0/libvdpau-va-gl-0.4.0.tar.gz

- Libvdpau-va-gl Driver Download MD5 sum: 638244652a702d0262039890904f37ce

- Libvdpau-va-gl Driver Download size: 120 KB

- Estimated disk space required: 3.4 MB

- Estimated build time: less than 0.1 SBU

#### libvdpau-va-gl Dependencies

##### Required

CMake-3.22.2, FFmpeg-4.4.1, libvdpau-1.4, and libva-2.13.0

##### Optional

Doxygen-1.9.3, Graphviz-2.50.0, and texlive-20210325 or install-tl-unx

##### Runtime Dependency

Mesa-21.3.6

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libvdpau

###

#### Installation of libvdpau-va-gl

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

###

#### Configuration

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

###

#### Contents

Installed Programs: None
Installed Library: libvdpau_va_gl.so
Installed Directories: None

### Short Descriptions

`libvdpau_va_gl.so` | contains functions to implement the OpenGL backend to the VDPAU (Video Decode and Presentation API for Unix) API

Last updated on

- Prev

  Xorg-Server-21.1.3

- Next

  twm-1.0.11

- Up
- Home