Skip to content

Commit c9c637e

Browse files
authored
Update graphic_driver.md
1 parent 2c1fff9 commit c9c637e

1 file changed

Lines changed: 58 additions & 6 deletions

File tree

docs/rookie/graphic_driver.md

Lines changed: 58 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
# 显卡驱动
22

3-
现在是 2022 年,显卡驱动的安装在 Arch Linux 上已经变得非常容易。本文区分核芯显卡和独立显卡两大类描述显卡驱动的安装。**注意,确保你已经按照本教程之前的章节安装配置好科学上网、安装好必要的包后再向下进行,不要多个教程混着看,你可能漏掉了本教程前置步骤中的某些操作,从而造成问题**
3+
当前,显卡驱动的安装在 Arch Linux 上已经变得非常容易。本文区分核芯显卡和独立显卡两大类描述显卡驱动的安装。**注意,确保你已经按照本教程之前的章节安装好必要的系统包后再配置你的显卡驱动,不要多个教程混着看,你可能漏掉了本教程前置步骤中的某些操作,这可能会造成问题**
44

5-
> 所有 AMD 显卡建议使用开源驱动。英伟达显卡建议使用闭源驱动,因为逆向工程的开源驱动性能过于低下,本文也只描述英伟达闭源驱动安装。如果你支持自由软件运动,请尽可能使用具有官方支持开源驱动的英特尔和 AMD 显卡。
5+
> 所有英特尔和 AMD 显卡,由于他们本身释出了自由的驱动,它们的发挥同专有的的驱动并没有明显的区别。不论在任何情况下建议使用自由开源的驱动。
6+
> 对于英伟达显卡,由于其官方并没有释出自由的驱动程序,现有的英伟达显卡自由驱动程序 Nouveau 是根据逆向工程研发的。它不支持英伟达显卡的 CUDA 特性,3D 性能发挥也许不如 Nvidia 的专有驱动。但是自由的显卡驱动没有难以预测的后门和暗箱操作,可以保障你的计算机隐私和安全。**如果你是政治活动者且你要使用该计算机进行敏感的政治活动,强烈建议你使用自由的驱动程序。**同时,Nvidia的显卡驱动兼容性不尽人意,使用Wayland时尤其如此。由于 Nouveau 广泛运用于各种GNU/Linux发行版,作为内核模块为Linux内核原生支持,且自身积极稳定更新以适配 GNU/Linux 上系统运行库的快速迭代,因此它可能具有更好的稳定性(要知道,Arch Linux上很大一部分“滚挂”由英伟达专有驱动引起。)的你可以按需选择使用专有驱动或自由的英伟达显卡驱动 Nouveau。
7+
> 如果你非常需要在确保软件自由可控的同时保障性能发挥,请尽可能使用具有官方支持开源驱动的英特尔和 AMD 显卡。
68
79
## 核芯显卡
810

@@ -38,7 +40,28 @@ sudo pacman -S mesa lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-rade
3840

3941
### 英伟达独立显卡
4042

41-
本节建议查看官方文档,此处只列出主要的显卡系列。[官方文档](https://wiki.archlinux.org/index.php/NVIDIA)
43+
#### 安装自由的驱动
44+
45+
您可以安装自由的英伟达显卡驱动软件 Nouveau。**如果你的设备用于执行非常敏感的获得,我们强烈建议你安装自由的驱动。**
46+
47+
通过如下命令安装:
48+
49+
```bash
50+
sudo pacman -S mesa xf86-video-nouveau lib32-mesa libva-mesa-driver mesa-vdpau
51+
```
52+
其中,xf86-video-nouveau 是 2D 驱动;nouveau-fw 是英伟达固件,用来进行视频硬解码;libva-mesa-driver 是 vaapi 视频硬解码库;mesa-vdpau是vdpau 视频硬解码库。
53+
54+
然后,执行以下指令重新生成 initramfs 以确保驱动在下次启动后加载。
55+
56+
```bash
57+
sudo mkinitcpio -P
58+
```
59+
60+
#### 安装专有的驱动
61+
62+
如果你没有敏感的需求并且关注显卡性能的释放,你可以使用非自由的驱动。它们可能面临不稳定的问题,它们也可能导致你的计算机系统不再安全和隐秘。
63+
64+
本教程的内容并不全面,建议你查阅官方文档。在这里,我们只列出主要的显卡系列。[查阅官方文档](https://wiki.archlinux.org/index.php/NVIDIA)
4265

4366
较新型号的独立显卡直接安装如下几个包即可。
4467

@@ -58,12 +81,41 @@ yay -S nvidia-470xx-dkms nvidia-settings lib32-nvidia-470xx-utils linux-headers
5881
yay -S nvidia-390xx-dkms nvidia-settings lib32-nvidia-390xx-utils linux-headers
5982
```
6083

61-
再老的显卡直接使用[开源驱动](https://wiki.archlinux.org/index.php/Nouveau)即可。
84+
>如果你是全新安装,你可以直接执行上述命令,并通过执行命令‘sudo mkinitcpio -P’重新生成 initramfs。但是请注意,如果你事前已经安装了 Nouveau,请禁用它,然后再安装专有的驱动。
85+
>我们前面只讲述了安装 GRUB 启动引导器。以它为例,按如下方式处理内核参数来禁用 Nouveau。
86+
87+
**配置禁用 Nouveau**
88+
89+
打开 GRUB 配置文件。在‘GRUB_CMDLINE_LINUX_DEFAULT’后面的引号内,添加‘module_blacklist=nouveau’参数。
90+
```bash
91+
sudo vim /etc/default/grub # vim 可换为 nano,也可整体去掉 sudo 换成 kate(如果已安装),它们是更友好的。
92+
```
93+
94+
**禁用SDDM**
95+
**请注意,Nouveau这一显卡驱动程序已被禁用(包括既有的基础内核模块)**,这意味如果你没有核显或集成显卡,**你的电脑上将没有任何显示驱动**,它将导致未知的显示问题。为规避风险,请**禁用登陆管理器SDDM、窗口管理器等的自动启动。**
96+
```bash
97+
sudo systemctl disable sddm
98+
```
99+
100+
**更新引导**
101+
```bash
102+
sudo grub-mkconfig -o /boot/grub/grub.cfg
103+
```
104+
当你重启后,你将进入命令行界面。和你刚刚安装系统时候如出一辙。
105+
106+
**安装英伟达私有驱动**
107+
在命令行界面下,执行上述安装英伟达私有驱动的命令。
108+
然后,执行以下指令重新生成 initramfs 以确保驱动在下次启动后加载。
109+
```bash
110+
sudo mkinitcpio -P
111+
```
62112

113+
**重启SDDM并重启操作系统**
63114
```bash
64-
sudo pacman -S mesa lib32-mesa xf86-video-nouveau
115+
sudo systemctl ensable sddm &&sudo reboot
65116
```
66117

118+
恭喜你成功安装了英伟达专有驱动!
67119
---
68120

69121
**在同时拥有核芯显卡和英伟达独立显卡的笔记本上安装驱动是大多数人关注的事情,这里着重讲述。**
@@ -72,7 +124,7 @@ sudo pacman -S mesa lib32-mesa xf86-video-nouveau
72124
73125
[英伟达双显卡模式官方文档](https://wiki.archlinux.org/index.php/NVIDIA_Optimus) /// [optimus-manager 官方文档](https://github.com/Askannz/optimus-manager/wiki)
74126

75-
若为同时拥有核芯显卡与英伟达独显的笔记本电脑,同样需要按照上述步骤先安装各个软件包。除此之外还需要安装 optimus-manager。可以在核芯显卡和独立显卡间轻松切换。optimus-manager 提供三种模式,分别为仅用独显,仅用核显,和 hybrid 动态切换模式。
127+
若为同时拥有核芯显卡与 Nvidia 独立的笔记本电脑,同样需要按照上述步骤先安装各个软件包。除此之外还需要安装 optimus-manager。可以在核芯显卡和独立显卡间轻松切换。optimus-manager 提供三种模式,分别为仅用独显,仅用核显,和 hybrid 动态切换模式。
76128

77129
```bash
78130
yay -S optimus-manager optimus-manager-qt

0 commit comments

Comments
 (0)