电脑的配置如下:

在安装Ubuntu的时候勾选了默认安装的开源显卡驱动,但是打开发现问题太多,而且很难知道显卡到底有没有起作用,因此决定自己安装显卡驱动。

修复重启时报告的 AMD 核显问题

在每次重启或者关机的时候,总是会提示如此下错误:

***\*ERROR\** VGACON disables amdgpu kernel modesetting**

粗略地分析之后,可以知道核显的内核某种功能被限制,现在要做的应该就是先解决核显的问题。但是在 AMD 的官网并没有找到相关的 Linux 驱动。在疯狂 Google 之后终于在这里找到了一篇帖子,评论区就有解决方法。而且还顺便有 Nvidia 独显驱动的解决方法。

AMD 核显驱动支持

  1. 编辑 grub 启动目录
sudo vi /etc/default/grub
  1. 在 GRUB_CMDLINE_LINUX_DEFAULT=一行双引号内的末尾,添加 amdgpu.exp_hw_support=1,修改后如下
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amdgpu.exp_hw_support=1"
  1. 保存退出,并更新 grub
sudo update-grub
  1. 重启

Nividia 独显驱动安装

卸载随系统安装的开源显卡驱动

  1. 将 nouveau driver加入黑名单。在 /etc/modprobe.d/ 内创建配置文件

     sudo vi /etc/modprobe.d/blacklist-nouveau.conf
    

    在 vim 中编辑文件,加入如下配置:

     blacklist nouveau
     options nouveau modeset=0
    
  2. 保存退出。并更新配置文件,最后重启。

     sudo update-initramfs -u
    

安装 Nvidia 官方的驱动

  1. 安装前检查开源驱动是否已经禁用

    lsmod | grep nouveau
    

    若运行后没有输出,则代表禁用成功!

  2. 安装 Nvidia 驱动(网上教程很多,我只是其中一种)

    1. 运行ubuntu-drivers devices命令,自动列出你的显卡信息,并显示可安装的显卡驱动

      ubuntu-drivers devices
      == /sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0 ==
      modalias : pci:v000010DEd00002204sv000010DEsd00001454bc03sc00i00
      vendor   : NVIDIA Corporation
      driver   : nvidia-driver-535-server - distro non-free
      driver   : nvidia-driver-535-server-open - distro non-free
      driver   : nvidia-driver-535 - distro non-free recommended
      driver   : nvidia-driver-535-open - distro non-free
      driver   : nvidia-driver-470 - distro non-free
      driver   : nvidia-driver-470-server - distro non-free
      driver   : xserver-xorg-video-nouveau - distro free builtin
    2. 可以看到显卡信息[GeForce GTX 3090 ,然后下面列出了可供安装的显卡驱动,其中nvidia-driver-460的后面有recommended标注,一般按照推荐的来,不然指不定会出什么问题。运行 apt 安装驱动

      # 卸载旧的
      sudo apt purge nvidia-*
      # 安装新的
      sudo apt install nvidia-driver-535
      
    3. 重启系统

  3. 安装完成后在终端中执行nvidia-smi会出现显卡信息

    ➜  ~ nvidia-smi
    Sat Mar 20 21:20:12 2021       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.56       Driver Version: 460.56       CUDA Version: 11.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  GeForce GTX 165...  Off  | 00000000:01:00.0 Off |                  N/A |
    | N/A   34C    P8     4W /  N/A |    348MiB /  3911MiB |      6%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
                                                                                      
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |    0   N/A  N/A      1926      G   /usr/lib/xorg/Xorg                185MiB |
    |    0   N/A  N/A      2446      G   /usr/bin/gnome-shell               49MiB |
    |    0   N/A  N/A      4723      G   ...AAAAAAAAA= --shared-files       38MiB |
    |    0   N/A  N/A      5471      G   ...AAAAAAAAA= --shared-files       26MiB |
    |    0   N/A  N/A      5623      G   ...AAAAAAAA== --shared-files       45MiB |
    +-----------------------------------------------------------------------------+
    

切换首选显卡

编辑 AMD 显卡的配置文件

  1. 编辑 amdgpu 的X11配置文件. 文件路径 /usr/share/X11/sorg.conf.d/

    sudo vi /usr/share/X11/xorg.conf.d/10-amdgpu.conf
    
  2. 修改内容如下:

    Section "OutputClass"
        Identifier "AMDgpu"
        MatchDriver "amdgpu"
        Driver "amdgpu"
        Option "PrimaryGPU" "no"
    EndSection
    

编辑 Nvidia 的配置文件

  1. 修改Nvidia显卡配置

    sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia.conf
    
  2. 内容如下:

    Section "OutputClass"
    	Identifier "nvidia"
    	MatchDriver "nvidia-drm"
    	Driver "nvidia"
    	Option "AllowEmptyInitialConfiguration"
    	Option "PrimaryGPU" "yes"
    	ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
    EndSection
    

重启

启动之后,首选显卡就变成了 Nvidia 独显,且通过nvidia-smi命令能够查看显卡信息。

踩坑:ubuntu20.04 nvidia-smi命令报错Failed to initialize NVML: Driver/library version mismatch解决办法--重启电脑

ubuntu20.04 nvidia-smi命令报错Failed to initialize NVML: Driver/library version mismatch解决办法--重启电脑_ccsodefhy的博客-CSDN博客_nvidia-smi ubuntu

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐