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 the advantage of the hardware that it is running on. At least one input and one video driver is 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]

Note

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

Note

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

Xorg Evdev Driver-2.9.2

Introduction to Xorg Evdev Driver

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

Package Information

Xorg Evdev Driver Dependencies

Required

libevdev-1.4.3 and Xorg-Server-1.17.2

Recommended

User Notes: http://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.

Xorg Synaptics Driver-1.8.2

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-7.7 systemd platform.

Package Information

Xorg Synaptics Driver Dependencies

Required

libevdev-1.4.3 and Xorg-Server-1.17.2

User Notes: http://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 VMMouse Driver-13.0.0

Introduction to Xorg VMMouse Driver

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

Package Information

Additional Downloads

Xorg VMMouse Driver Dependencies

Required

Xorg-Server-1.17.2

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/xorg-vmmouse-driver

Installation of 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-callouts-dir \
            --without-hal-fdi-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

Command Explanations

--without-hal-*-dir: These switches disable installation of the HAL components which are not needed on Linux.

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.

Contents

Installed Program: vmmouse_detect
Installed Xorg Drivers: vmmouse_drv.so

Short Descriptions

vmmouse_detect

is a tool for detecting if running in a VMware environment where vmmouse is used.

vmmouse_drv.so

is an Xorg input driver for VMware Mouse.

Xorg Wacom Driver-0.30.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 using an LFS 7.7 systemd platform but has not been tested.

Package Information

Xorg Wacom Drivers Dependencies

Required

Xorg-Server-1.17.2

Optional

Doxygen-1.8.9.1 and Graphviz-2.38.0

User Notes: http://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  --->
    <*/M> 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                                \
            --with-udev-rules-dir=/lib/udev/rules.d     \
            --with-systemd-unit-dir=/lib/systemd/system &&
make

To test the results, issue: make check.

Now, as the root user:

make install

Command Explanations

--with-udev-rules-dir=/lib/udev/rules.d: This switch specifies where Udev rules should be installed.

--with-systemd-unit-dir=/lib/systemd/system: This switch specifies where systemd units should be installed.

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 ATI Driver-7.5.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 R900 and the newer RAxx chipsets.

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

[Note]

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

Package Information

Xorg ATI Driver Dependencies

Required

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

[Note]

Note

Glamor is required for "Southern Islands" and later GPUs but optional for R300 to R700, Evergreen and "Northern Islands" GPUs - see the link in the section called “Glamor Acceleration” below.

User Notes: http://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 --->
      <*> 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 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"
[Note]

Note

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

[Tip]

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

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 Acceleration

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 Mesa-10.6.0. 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 /etc/X11/xorg.conf.d as the root user:

cat >> /etc/X11/xorg.conf.d/20-glamor.conf << "EOF"
Section "Device"
        Identifier "radeon"
        Driver "radeon"
        Option "AccelMethod" "glamor"
EndSection
EOF

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 radeon, mach64 or r128 driver.

radeon_drv.so

is an Xorg video driver for ATI Radeon based video cards.

Xorg Fbdev Driver-0.4.4

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-7.7 systemd platform.

Package Information

Xorg Fbdev Driver Dependencies

Required

Xorg-Server-1.17.2

User Notes: http://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-2.99.917

Introduction to Xorg Intel Driver

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

[Note]

Note

This is a development version of the Intel driver which is needed to work properly with the latest hardware.

Package Information

Xorg Intel Driver Dependencies

Required

xcb-util-0.4.0 and Xorg-Server-1.17.2

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

Kernel Configuration

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]

Installation of Xorg Intel Driver

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

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 sometimes causes problems. In particular, when a system is built with gcc-5 and kernel headers from linux-4.0, trying to run this driver using SNA will cause a segfault on some, or perhaps all, of the supported chips if a 4.0 or newer kernel is used (a 3.19.0 kernel, also built with gcc-5, worked ok). To work around this, 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:

cat >> /etc/X11/xorg.conf.d/20-intel.conf << "EOF"
Section "Device"
        Identifier "Intel Graphics"
        Driver "intel"
        Option "AccelMethod" "uxa"
EndSection
EOF

Command Explanations

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

Contents

Installed Library: libIntelXvMC.so
Installed Xorg Driver: intel_drv.so

Short Descriptions

intel_drv.so

is an Xorg video driver for Intel integrated graphics chipsets.

Xorg Nouveau Driver-1.0.11

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 using an LFS 7.7 systemd platform but has not been tested.

Package Information

Xorg Nouveau Drivers Dependencies

Required

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

[Note]

Note

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

Kernel Configuration

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]

Installation of Xorg Nouveau Driver

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 Acceleration

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

Contents

Installed Xorg Driver: nouveau_drv.so

Short Descriptions

nouveau_drv.so

is an Xorg video driver for nVidia video cards.

Xorg VESA Driver-2.3.4

Introduction to Xorg VESA Driver

The Xorg VESA Driver contains the Generic VESA video driver for the Xorg X server. This driver is often used as fallback driver if the hardware specific driver fails to load or is 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 systemd platform.

Package Information

Xorg VESA Driver Dependencies

Required

Xorg-Server-1.17.2

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/xorg-vesa-driver

Kernel Configuration

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

Device Drivers  --->
  Graphics support --->
    Frame buffer Devices --->
      <*> Support for frame buffer devices ---> [CONFIG_FB]
      [*] VESA VGA graphics support             [CONFIG_FB_VESA]

Installation of Xorg VESA Driver

Install Xorg VESA 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: vesa_drv.so

Short Descriptions

vesa_drv.so

is an Xorg video driver for generic VESA video cards.

Xorg VMware Driver-13.1.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-7.7 systemd platform.

Package Information

Xorg VMware Driver Dependencies

Required

Xorg-Server-1.17.2

User Notes: http://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  --->
      <*> 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.

Last updated on 2014-10-27 00:23:17 +0100