mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-24 06:52:14 +08:00
d0f30690ce
This reverts commit c1b0061c7d
.
163 lines
6.8 KiB
XML
163 lines
6.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % general-entities SYSTEM "../../general.ent">
|
|
%general-entities;
|
|
]>
|
|
|
|
<sect1 id="whatdriver" xreflabel="What Drivers to Install">
|
|
<?dbhtml filename="whatdriver.html"?>
|
|
|
|
|
|
<title>What Drivers to Install</title>
|
|
|
|
<para>
|
|
On Linux, there are multiple drivers that one can install. Choosing
|
|
the one you need can be difficult if you do not know what drivers
|
|
are for what vendor and the perks and downsides of each option.
|
|
This section explains all of that to better help you decide what
|
|
you want or need.
|
|
</para>
|
|
|
|
<sect2>
|
|
<title>AMD</title>
|
|
|
|
<para>
|
|
There are 3 AMD GPU drivers: AMDGPU (Radeon Southern Islands and later),
|
|
ATI (r300 and r600), and AMDGPU PRO (proprietary AMDGPU driver).
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis>AMDGPU</emphasis>:
|
|
this driver is for AMD GPUs that are Southern Island Cards or
|
|
later. It is open source and is the most standard AMD GPU driver.
|
|
This driver is in the Linux kernel and has two Mesa dri drivers:
|
|
Gallium driver - <emphasis>radeonsi</emphasis> and Vulkan driver -
|
|
<emphasis>amd</emphasis>.
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis>ATI</emphasis>:
|
|
this driver is for the ATI AMD GPUs which precede GCN GPUs.
|
|
It is open source and targets older GPUs. The driver is in the Linux
|
|
kernel and has three Mesa dri drivers: Gallium drivers - <emphasis>
|
|
r300</emphasis> and <emphasis>r600</emphasis>; and Vulkan driver -
|
|
<emphasis>amd</emphasis>.
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis>AMDGPU PRO</emphasis>:
|
|
this driver is proprietary. Most users don't install this driver
|
|
as the open source drivers are already well off. However, it is
|
|
needed for hardware acceleration encoding, useful for those who
|
|
wish to record and edit videos. Performance in games varies between
|
|
the open source and proprietary drivers so the ending factor is if
|
|
you record and edit videos or not. You will need the firmware and
|
|
open source kernel driver for this driver.
|
|
</para>
|
|
|
|
<para>
|
|
Summary: If you are a regular user with a modern AMD GPU, use
|
|
<emphasis>AMDGPU</emphasis>. If you have an older card, go with
|
|
<emphasis>ATI</emphasis>. Use <emphasis>AMDGPU PRO</emphasis> if
|
|
you want an improvement with hardware acceleration encoding.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Intel</title>
|
|
|
|
<para>
|
|
Intel provides open source drivers, but for sake of simplicity, all
|
|
the relevant open source drivers will be classified as one -
|
|
<emphasis>i915</emphasis>. There is another driver called <emphasis>
|
|
uvesafb</emphasis>.
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis>i915</emphasis>: this driver, or rather collection of drivers,
|
|
is for most Intel integrated and discrete GPUs. It is a single option
|
|
in the Linux kernel but has various Mesa Gallium3D and Vulkan dri drivers.
|
|
There is a good list on the MESA page under Command Explanations that
|
|
will explain what Gallium3D and Vulkan driver you will need.
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis>uvesafb</emphasis>: this driver is for the Intel GMA 3600
|
|
series, a family of integrated video adapters based on the PowerVR
|
|
SGX 545 graphics core. This driver was in the kernel since 3.5 but
|
|
no longer since 4.15. This driver is not included in the book
|
|
because of its lack of use by most people, but has a good Arch Linux
|
|
wiki page at <ulink url="https://wiki.archlinux.org/title/Intel_GMA_3600"/>.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>NVIDIA</title>
|
|
|
|
<para>
|
|
The situation revolving around NVIDIA is more unfortunate than
|
|
the two vendors listed above and more complicated. NVIDIA does not
|
|
support open source drivers besides their own open source kernel
|
|
modules. Therefore performance with the open source drivers,
|
|
<emphasis>Nouveau</emphasis> and <emphasis>NVK</emphasis>, are
|
|
worse than NVIDIA's proprietary driver, although installing the
|
|
proprietary driver is easier and doesn't require installing
|
|
lib32-<application>mesa</application> for multilib. There is another
|
|
driver called <emphasis>Zink</emphasis> which translates Vulkan
|
|
calls to OpenGL calls, and performance between <emphasis>Nouveau
|
|
</emphasis> and <emphasis>Zink</emphasis> varies. It isn't NVIDIA
|
|
specific but performance will probably improve. It is a Gallium3D
|
|
driver in <xref linkend="mesa"/> and doesn't require extra kernel
|
|
options enabled.
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis>Nouveau</emphasis>: this driver is open source and
|
|
has worse performance than <emphasis>NVIDIA</emphasis>. It is
|
|
technically all a kernel driver, a Mesa Gallium3D driver, and
|
|
Mesa Vulkan driver, although they have different parts and the
|
|
Vulkan driver is often referred to as <emphasis>NVK</emphasis>,
|
|
depsite being referred to as nouveau in Mesa's <parameter>
|
|
-Dvulkan-drivers=</parameter> option.
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis>NVK</emphasis>: this driver is a new Mesa dri driver
|
|
and in its production, involved several kernel patches. It is
|
|
a Vulkan driver targetting Turing and later NVIDIA GPUs. It does
|
|
provide better performance than <emphasis>Nouveau</emphasis> and
|
|
is still improving. If you want to compile this driver, you are
|
|
going to need Rust, and if you are doing multilib, are going
|
|
to need the i686-unknown-linux-gnu target. Also make sure to install
|
|
<emphasis>Nouveau</emphasis> if you want to install this driver.
|
|
</para>
|
|
|
|
<para>
|
|
<emphasis>NVIDIA</emphasis>: This is the proprietary driver and
|
|
the most often recommended for NVIDIA GPU owners using Linux.
|
|
The performance of this driver exceeds the open source alternatives
|
|
and allows the use of NVIDIA's CUDA project, useful for hardware
|
|
acceleration, improving performance of games and workstation
|
|
applications. This driver has a lot of issues to this day but
|
|
still provides better performance, thus its installation is
|
|
provided in this book. Installing this driver also prevents the
|
|
need to install lib32-Mesa and lib32-LLVM if you are doing multilib.
|
|
Firmware also isn't needed as it is provided by this driver.
|
|
</para>
|
|
|
|
<para>
|
|
Summary: if you want good performance and care about workstation
|
|
use cases, install <emphasis>NVIDIA</emphasis>. If you only use
|
|
OpenGL applications and don't want the proprietary NVIDIA driver,
|
|
use <emphasis>Nouveau</emphasis>. If you use a variety of
|
|
applications and play games that utilize DirectX and Vulkan, install
|
|
both <emphasis>Nouveau</emphasis> and <emphasis>NVK</emphasis>.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|