glfs/shareddeps/drivers/whatdriver.xml

163 lines
6.8 KiB
XML
Raw Normal View History

<?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>
2024-07-08 19:09:12 +08:00
There are 3 AMD GPU drivers: AMDGPU (Radeon Southern Islands and later),
ATI (r300 and r600), and AMDGPU PRO (proprietary AMDGPU driver).
</para>
<para>
2024-07-08 19:09:12 +08:00
<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>
2024-07-08 19:09:12 +08:00
<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>
2024-07-08 19:09:12 +08:00
<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>
2024-07-08 19:09:12 +08:00
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>
2024-07-08 19:09:12 +08:00
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>
2024-07-08 19:09:12 +08:00
<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>
2024-07-08 19:09:12 +08:00
<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>
2024-07-08 19:09:12 +08:00
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>
2024-07-08 19:09:12 +08:00
<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>
2024-07-08 19:09:12 +08:00
<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>
2024-07-08 19:09:12 +08:00
<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>
2024-07-08 19:09:12 +08:00
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>