GitHub
logo SHORiNのARCH
显卡驱动和硬件编解码

显卡驱动和硬件编解码

自动安装驱动

利用 chwd 可以自动安装驱动。

yay -S chwd-arch-git
chwd -a
  • 其他命令

    chwd --list 可以列出可用的配置,每一个配置代表了一系列驱动包和后续修改。

    chwd -r 配置名称 删除已经安装的配置。

    更多选项可以用 chwd -h 查看。

手动安装驱动

安装显卡驱动

  • NVIDIA

    CodeNames · freedesktop.org 这个页面搜索自己的显卡,看看对应的 family 和架构是什么。然后在 NVIDIA - ArchWiki 这个页面查找对应的包名。如果找不到你的显卡名字,可以看和你的显卡相同架构的显卡对应的 family 是什么。例如 MX205,表上没有,但通过它是 Pasca 架构这个信息可以知道它属于 NV160 family

    NV160 family往后的显卡(差不多 16 系往后)用 nvidia-open,7 系到 10 系的 N 卡从 AUR 安装 nvidia-580xx-dkms

    不同的内核对应的包的后缀不同,像 linux-zen 这样的自定义内核要装 -dkms 后缀。不过,考虑到日后更新的稳定和便利,推荐统一使用 -dkms 版本的驱动包,它会自动在更换和更新内核时重新编译驱动。除了驱动包,还需要 nvidia-utils 工具集,580xx 版本驱动对应的工具集包是 AUR 上的nvidia-580xx-utils,其他显卡按照 ArchWiki 的表格以此类推。

    nvidia-open 是内核模块开源的驱动,不是完全的开源驱动。nvidia-utils 通常作为驱动包的依赖自动被安装,但是某些自行打包的发行版可能没有正确处理依赖关系导致需要自己安装。

    • 检查头文件

      DKMS 编译内核模块需要内核的头文件。

      sudo pacman -S --needed linux-headers
      

      linux 替换为自己的内核,比如 zen 内核的头文件包名是 linux-zen-headers

    • 安装驱动

      sudo pacman -S nvidia-open-dkms nvidia-utils lib32-nvidia-utils
      
  • AMD

    AMDGPU - ArchWiki

    A 卡通常不需要自己安装驱动,已经由 linux-firmwaremesa 提供。可以安装一下 Vulkan 驱动。

    sudo pacman -S --needed mesa lib32-mesa xf86-video-amdgpu vulkan-radeon lib32-vulkan-radeon
    
  • Intel

    Intel graphics - ArchWiki

    sudo pacman -S --needed mesa lib32-mesa vulkan-intel lib32-vulkan-intel
    

硬件编解码

archwiki_硬件视频加速

  • NVIDIA

    nvidia-utilslibva-nvidia-driver 提供。

    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

先安装统一调用

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

    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

重启激活显卡驱动

reboot
  • 可选:验证硬件编解码

    sudo pacman -S libva-utils
    

    使用 libva-utils 提供的 vainfo 进行验证。

    vainfo
    

    多显卡用户可以使用 LIBVA_DRIVER_NAME 环境变量指定要使用的显卡:

    LIBVA_DRIVER_NAME=nvidia vainfo
    

笔记本显卡切换

显卡切换在 Wayland 下不完善,属于次要内容,有需求的可以跳转。

下一节:快照和系统维护