## 自动安装驱动 利用 chwd 可以自动安装驱动。 ```bash yay -S chwd-arch-git ``` ``` chwd -a ``` - 其他命令 `chwd --list` 可以列出可用的配置,每一个配置代表了一系列驱动包和后续修改。 `chwd -r 配置名称` 删除已经安装的配置。 更多选项可以用 `chwd -h` 查看。 ## 手动安装驱动 ### 安装显卡驱动 - NVIDIA 在 [CodeNames · freedesktop.org](https://nouveau.freedesktop.org/CodeNames.html) 这个页面搜索自己的显卡,看看对应的 family 和架构是什么。然后在 [NVIDIA - ArchWiki](https://wiki.archlinux.org/title/NVIDIA) 这个页面查找对应的包名。如果找不到你的显卡名字,可以看和你的显卡相同架构的显卡对应的 family 是什么。例如 MX250,表上没有,但通过它是 Pascal 架构这个信息可以知道它属于 `NV130 family`。 不同的内核对应的包的后缀不同,像 `linux-zen` 这样的自定义内核要装 `-dkms` 后缀。不过,考虑到日后更新的稳定和便利,推荐统一使用 `-dkms` 版本的驱动包,它会自动在更换和更新内核时重新编译驱动。除了驱动包,还需要 `nvidia-utils` 工具集,580xx 版本驱动对应的工具集包是 AUR 上的`nvidia-580xx-utils`,其他显卡按照 ArchWiki 的表格以此类推。 >`nvidia-open` 是内核模块开源的驱动,不是完全的开源驱动。`nvidia-utils` 通常作为驱动包的依赖自动被安装,但是某些自行打包的发行版可能没有正确处理依赖关系导致需要自己安装。 - 检查头文件 DKMS 编译内核模块需要内核的头文件。 ```bash sudo pacman -S --needed linux-headers ``` >`linux` 替换为自己的内核,比如 zen 内核的头文件包名是 `linux-zen-headers`。 - 安装驱动 ```bash sudo pacman -S nvidia-open-dkms nvidia-utils lib32-nvidia-utils ``` - AMD [AMDGPU - ArchWiki](https://wiki.archlinux.org/title/AMDGPU) A 卡通常不需要自己安装驱动,已经由 `linux-firmware` 和 `mesa` 提供。可以安装一下 Vulkan 驱动。 ```bash sudo pacman -S --needed mesa lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon ``` - Intel [Intel graphics - ArchWiki](https://wiki.archlinux.org/title/Intel_graphics) ```bash sudo pacman -S --needed mesa lib32-mesa vulkan-intel lib32-vulkan-intel ``` ### 硬件编解码 > [archwiki_硬件视频加速](https://wiki.archlinux.org/title/Hardware_video_acceleration) - NVIDIA 由 `nvidia-utils` 和 `libva-nvidia-driver` 提供。 ```bash sudo pacman -S libva-nvidia-driver ``` - AMD 自带。 - Intel Broadwell 往后的 Intel 显卡装 `intel-media-driver`,旧的装 `libva-intel-driver`。 ### 可选:OpenCL 驱动
如果你不知道自己需不需要 OpenCL 驱动的话你大概率不需要 >参考:[archwiki General-purpose computing on graphics processing units](https://wiki.archlinux.org/title/General-purpose_computing_on_graphics_processing_units#Runtime) 先安装统一调用 ``` sudo pacman -S ocl-icd ``` 然后安装运行时 - NVIDIA 装`opencl-nvidia` `lib32-opencl-nvidia` 这两个包。580xx 和 470xx 的用户安装对应的版本,例如:`opencl-nvidia-580xx` `lib32-opencl-nvidia-580xx`。 - AMD 新卡装`rocm-opencl-runtime`。早于 Vega 架构的卡需要额外配置 `ROC_ENABLE_PRE_VEGA=1` 环境变量。 不兼容的话可以使用 mesa ```bash sudo pacman -S opencl-mesa lib32-opencl-mesa ``` >安装后需要配置环境变量`RUSTICL_ENABLE=radeonsi` - Intel Gen12 以后的安装`intel-compute-runtime`,旧的安装`intel-compute-runtime-legacy` - CPU 装`intel-opencl-runtime`;不兼容的话装基于 LLVM 的 `pocl`。
### 重启激活显卡驱动 ```bash reboot ``` - 可选:验证硬件编解码 ```bash sudo pacman -S libva-utils ``` 使用 libva-utils 提供的 vainfo 进行验证。 ```bash vainfo ``` 多显卡用户可以使用 LIBVA_DRIVER_NAME 环境变量指定要使用的显卡: ```bash LIBVA_DRIVER_NAME=nvidia vainfo ``` ## 笔记本显卡切换 [显卡切换](显卡切换.md)在 Wayland 下不完善,属于次要内容,有需求的可以跳转。 下一节:[快照和系统维护](快照和系统维护.md)