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.
Hardware Video Acceleration
libevdev 1.12.0
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
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
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
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
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
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.
Package Information
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.
Package Information
Additional Downloads
Xorg ATI Driver Dependencies
Required
Xorg-Server-21.1.3 (recommended to be
built with glamor enabled)
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
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
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
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
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
Additional Downloads
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
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
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
|