Arch Linux显卡驱动
Linux 日常操作与基础知识
阅读完新手上路
章节,你的系统已完全可以使用,KDE 桌面环境提供了强大的 GUI 以供普通用户使用。按windows
键呼出菜单栏,找到设置
=>系统设置
,可以找到绝大多数系统设置项。
但如果想要游刃有余的掌控你的系统,你还需要阅读掌握本文的内容。 如果你想进一步详细了解本文各部分的详细知识,可以点击群主在各个小结给出的拓展链接进行学习。 如果你不想详细了解,本章介绍的知识也足够你来应付日常的使用。
必须掌握的 Linux 知识
此处只介绍最基本的,最必要的 Linux 知识点与小技巧 。
- 在 Linux 中,文件目录结构与 Windows 完全不同。Windows 存在 C 盘,D 盘等盘符,而在 Linux 中不存在这些划分,最上层的目录是根目录,路径为 / ,并以一个树形结构从此向下一级一级区分。
- 对于 Linux 的树形文件结构,存在相对路径与绝对路径之分。绝对路径是代表从根路径 / 开始的完整路径,如
/home/wallen/Download
。相对路径代表从当前目录,到目标目录的一个部分路径。比如当前你所在的目录为/home/wallen
,那么切换到绝对路径/home/wallen/Download
的相对路径即为./Download
。其中./
代表从当前目录,再向下寻找。另外,..
这种两个句点代表的是向上层寻找,比如你当前所在的路径为/home/wallen/Download
,向上寻找到/home/wallen/Desktop
的相对路径即为../Desktop
。 - 简单来说,Linux 中存在两类用户。第一类用户即为 root 用户,也成为超级用户,它拥有系统中最高的权限。第二类用户就是除了 root 用户的普通用户,他们可以拥有不同等级的权限。任何时候都应该避免始终用 root 用户操作你的系统。
- 理论上来说,任何图形化界面中的操作都可以用对应的命令行命令完成。如果你打开某个程序报错,不妨试试找到它的对应启动命令,在终端中执行此命令,并观察它运行时的错误日志输出,查阅相关资料,解决问题。
终端操作基础
如果想要熟练掌握 Linux,就必须掌握终端的常见命令与使用方式。
1 | ls /some_path #查看某个文件夹下的文件与子文件夹 /代表根目录,是Linux最顶端的路径,是绝对路径 |
拓展链接:推荐阅读书籍《Linux命令行与Shell脚本编程大全(第3版)》
。 群主也提供了与此书配套的教学视频 Linux 命令行与 Shell 教程TODO。
Pacman 包管理
在 Arch Linux 上安装的软件都通过 Pacman 来进行管理。你可以把它理解为一个软件管理器,可以进行软件的安装,删除,查询等。
1 | sudo pacman -S package_name #安装软件包 |
拓展链接: 官方文档
终端编辑器的使用
你需要掌握一个能在终端中进行文本编辑的软件,这里介绍 vim。
1 | vim 1.txt #创建并编辑名为1.txt的文件 |
你可以看到进入了一个空的界面。此时你处在 vim 的命令模式
。在命令模式
下,可以用一些快捷指令来对文本进行操作。 现在我们输入a
进入 vim 的编辑模式
,此时输入任意文本,即可进行编辑。 在输入完成后,我们按下 Esc 键,即可从编辑模式
退出到命令模式
。此时输入:wq
即可保存并退出 vim。 下面介绍一些在命令模式下常用的命令
1 | :wq #保存退出 |
拓展链接:需要完整教程的同学可以在终端中输入命令vimtutor
来学习完整的 vim 教程。
系统服务的操作与介绍
Linux 系统中运行着各种服务,你需要掌握查询,变更服务状态的方式。同时对创建服务最好也有大致的了解。这里讲述命令systemctl
的用法。以 dhcpcd 为例
1 | systemctl start dhcpcd #启动服务 |
以下贴一个服务的配置文件来解释一下各部分的含义 样例文档
1 | [Unit] |
拓展链接: 官方文档
文件传输与系统备份
有一点 Linux 经验的同学应该知道scp这个命令。它常被用来在服务器间传输文件。但是目前它应该被更现代的工具rsync替代,其拥有即时压缩,差量传输等新特性。同时,rsync
也被用来进行备份操作。
1 | # [显卡驱动](https://archlinuxstudio.github.io/ArchLinuxTutorial/#/rookie/graphic_driver?id=显卡驱动) |
xf86-video-intel
arch wiki 里写的很多发行版不建议安装它,而应使用 xorg 的 modesetting 驱动(也就是什么都不用装的意思)。个人测试下来目前确实是默认 modesetting 驱动较为稳定。
注意,只有 Intel HD 4000 及以上的核显才支持 vulkan。
AMD 核芯显卡
对于具有核芯显卡的 AMD 处理器,需要先确定核显架构(Architecture)是什么,再决定安装什么驱动。推荐在 techpowerup 网站进行查询,信息非常全面。在确定了显卡架构后,再根据架构对照这个文档决定安装什么驱动。**对于 GCN2.0 及以下架构的老显卡,直接安装开源 ATI 驱动即可,原本闭源的老旧的 Catalyst 驱动在 2021 年已被废弃。GCN2.0 及以下架构的老显卡也不要使用开源的 AMPGPU 驱动,因为其仅处于实验性质,需要各种自定义内核编译选项与配置,非常麻烦,得不偿失。**对于新型号,即 GCN3 架构及更新型的核心显卡,直接安装开源驱动 AMDGPU 即可。
- 比如你的笔记本 cpu 是目前常见的 AMD R7 4800U,那么它的核显为 Vega 8。通过查询,可知其为 GCN 5.0 架构,那么对照 arch 官方文档,你可选择安装 AMDGPU 开源驱动。
- 再比如你的台式机 cpu 是目前常见的 锐龙 5 3400G,那么它的核显为 Vega 11。通过查询,可知其为 GCN 5.0 架构,那么对照 arch 官方文档,你可选择安装 AMDGPU 开源驱动。
- 再老一些的 apu A10-9700 处理器 ,它的核显为 Radeon R7。通过查询,可知其为 GCN 2.0 架构,那么对照 arch 官方文档,你选择安装 ATI 开源驱动。
独立显卡
这部分会分为仅有独立显卡(无核显)与同时拥有独立显卡和核芯显卡两种情况进行讲解。
英伟达独立显卡
较新型号的独立显卡直接安装如下几个包即可。官方文档
1 | sudo pacman -S nvidia nvidia-settings lib32-nvidia-utils #必须安装 |
如果是 GeForce 630 以下到 GeForce 400 系列的老卡,安装 nvidia-390xx-dkmsAUR及其 32 位支持包。
1 | yay -S nvidia-390xx-dkms nvidia-settings lib32-nvidia-390xx-utils |
再老的显卡直接使用开源驱动即可。
1 | sudo pacman -S mesa lib32-mesa xf86-video-nouveau |
在同时拥有核芯显卡和英伟达独立显卡的笔记本上安装驱动是大多数人关注的事情,这里着重讲述。
再次提醒请按照本书前置章节配置好系统后再进行,不要多个教程混看,尤其是一些过时的教程。尤其需要注意的是确保 base-devel 包的安装以及配置好科学上网的翻墙软件,以及使用 X11 模式。
英伟达双显卡模式官方文档 /// optimus-manager 官方文档
若为同时拥有核芯显卡与英伟达独显的笔记本电脑,同样需要按照上述步骤先安装各个软件包。除此之外还需要安装 optimus-manager。可以在核芯显卡和独立显卡间轻松切换。optimus-manager 提供三种模式,分别为仅用独显,仅用核显,和 hybrid 动态切换模式。
1 | yay -S optimus-manager optimus-manager-qt |
安装完成后重启即可使用。optimus-manager 安装完成后会默认 enable optimus-manager 的服务,你可在重启前检查其状态,若没有 enable 则手动将其 enable。重启后在菜单栏搜索 optimus-manager 点击即可使用。可在其设置中设置开机自动启动。
1 | sudo systemctl enable optimus-manager |
此时你应该已经可以进行显卡切换了,如果有问题,请详细阅读 optimus-manager 的文档,里面有详细的描述。由于各类问题太多,本文不进行描述,optimus-manager 的文档很详尽,请自行查看。此处仅列出几项较为重要的注意事项:
- 如果需要在独显和核显模式间切换,要注意你没安装各类 GPU 监控插件,它们会阻止显卡切换,导致不可预料的错误。
- 不要使用 Nvidia Control Panel 中的
Save to X Configuration file
按钮。会导致配置冲突。 - 在显卡之间的切换时,重新登陆后如在 splash screen 卡住或者黑屏,可以尝试在 tty1 tty2 之间进行切换。
- 如果你在安装 optimus manager 并重启后,直接黑屏卡死,不能进入系统,很有可能是遇到了常见的”ACPI ISSUE”,简单来说,这是笔记本制造商的实现问题。可以尝试在内核启动参数中加入
acpi_osi=! acpi_osi="Windows 2009"
后再尝试。[1]
最后详细说下动态切换模式。本质上其还是使用官方的 PRIME对闭源驱动的方法进行切换。需要设置三个环境变量,或者用 nvidia-prime 包提供的命令 prime-run,二者本质也是一样的,都是设置三个环境变量。
1 | sudo pacman -S nvidia-prime |
对于 AMD 核显+N 卡独显的同学,optimus-manager 对于这套组合的支持目前已经发布,最新可用版本为 1.4。
如果你不是强烈追求能效控制以及注重电池寿命的用户,那么可以不用往下看了,如果你是,那么需要针对你的硬件以及笔记本型号尝试正确的电源管理方式。此部分的设置可能导致黑屏,并且尝试过程可能较长,也会遇到各类问题,请根据你个人的操作水平自行斟酌是否操作
电源控制做的事情是,在只用核显的模式下,确保正确关闭独立显卡。而在混合模式下,绝大多数情况下 Nvidia 模块实际是始终开启的,电源控制并不生效。这件事情其实很复杂,因为对于不同的显卡型号,以及笔记本型号的组合,可行的方案都是不同的。笼统来说,最广泛适用的办法是 bbswitch。但仍不建议上来就按照此方式安装使用,因为某些特定的硬件就是会出问题,也就是黑屏。这里建议按照 optimus-manager 官方的文档一步一步来,按步骤尝试,最后找到属于你自己的电脑合适的电源管理方式。此文档必须详细阅读!
针对大多数笔记本适用的 Bbswitch,此处进行安装使用的讲解。首先安装包 bbswitch。
1 | sudo pacman -S bbswitch #安装 bbswitch 切换方式 |
接下来右键点击 optimus-manager 的托盘设置,在 Optimus 选项卡中的 switch method 选择 Bbswitch 即可。
AMD 独立显卡
AMD 独立显卡的驱动安装步骤实际上 AMD 核芯显卡是相同的,都需要先确定架构,然后选定正确的驱动安装即可。真正需要关注的是如何在核芯显卡和独立显卡间进行切换。可以使用 PRIME 对开源驱动的双显卡切换方式。
此外,可以使用 glmark2
,DRI_PRIME=1 glmark2
分别对核显和独显进行测试,选择分数更高的一个进行使用。可以在 steam 游戏的启动前缀中加入DRI_PRIME=1 mangohud %command%
来使用独显。(关于 mangohud)。
笔记本上使用独立显卡运行 steam 游戏的另一个例子。
1 | DRI_PRIME=1 steam steam://rungameid/570 #运行dota2 |
性能测试
官方文档。
最传统和广为人知的方式为使用glxgears
命令进行测试,其属于mesa-demos包。但其仅仅只能提供简单的测试场景及帧数显示,只测试了当前 OpenGL 功能的一小部分,功能明显不足。群主推荐如下两种工具。
glmark2
glmark 提供了一系列丰富的测试,涉及图形单元性能(缓冲,建筑,照明,纹理等)的不同方面,允许进行更全面和有意义的测试。 每次测试单独计算帧速率。 最终,用户根据以前的所有测试获得了一个成绩分数。在 archlinux 上属于包glmark2AUR
Unigine benchmark
Unigine 3D 引擎是一个更全面的基准测试工具。 截止目前有五个版本,从旧到新分别是
- sanctuary(2007)
- tropics(2008)
- heaven(2009)
- valley(2013)
- superposition(2017)
可从AUR下载全部版本。它们均为专有软件。
显卡信息查看
对于英伟达显卡,nvidia-settings 这个包即可全面的展示显卡相关信息。
对于 AMD 显卡,稍微麻烦一些,通过 yay 安装 radeon-profile-git 这个包,同时安装其依赖 radeon-profile-daemon,最后启动这个进程。即可以图形化的方式查看 amd 显卡信息。github 项目地址
1 | sudo systemctl enable --now radeon-profile-daemon.service |
注意,不要对左下角的 auto low high 进行更改 有 bug 会卡死。同时,显存占用在某些型号显卡上展示可能有误。
后续
如果作为一个普通使用者,到这里你的系统已经配置完毕了。不会命令行也没太大关系,你可以慢慢探索 KDE 这个桌面环境,记住时常用如下命令或 Discover 软件更新系统即可。
1 | sudo pacman -Syyu #更新官方仓库 |
接下来你可以查阅娱乐、办公、多媒体等章节了解更多使用软件的安装与使用。如果你需要成为一名较为专业的人员,那么请阅读进阶、以及编程等章节。
1 |
|