![nvidia-smi 在重启 ununtu 18.04 后停止工作](https://linux22.com/image/903618/nvidia-smi%20%E5%9C%A8%E9%87%8D%E5%90%AF%20ununtu%2018.04%20%E5%90%8E%E5%81%9C%E6%AD%A2%E5%B7%A5%E4%BD%9C.png)
我在配备 GEFORCE 940MX GPU 卡的 ASUS 笔记本电脑上安装了 Ubuntu 18.04。我尝试了所有方法,包括使用专有驱动程序或使用 NVIDIA 运行文件安装 cuda 驱动程序。最后,我能够使用 cuda 运行文件安装 NVIDIA 和 CUDA 驱动程序。在此安装过程中未安装 OpenGL 和 NVIDIA-X-config。此外,在安装之前已禁用安全启动。
现在,nvidia-smi 在安装后可以工作,但每当我重新启动系统时,它都会出现错误:“NVIDIA-SMI 失败,因为它无法与 NVIDIA 驱动程序通信。请确保安装并运行最新的 NVIDIA 驱动程序。”
如果专家能评论如何克服这个问题,那将非常有帮助。提前谢谢
答案1
我通过首先安装 DKMS,然后在 DKMS 中安装 NVIDIA 驱动程序解决了这个问题,这样在重启期间 Linux 内核更新时就可以重建 NVIDIA 内核模块。更具体地说:
sudo apt-get install -y dkms libglvnd-dev
# Assume you want the driver from CUDA 11.4.2
wget https://developer.download.nvidia.com/compute/cuda/11.4.2/local_installers/cuda_11.4.2_470.57.02_linux.run
sudo sh cuda_11.4.2_470.57.02_linux.run --extract=$(pwd)/cuda_11.4.2
cd cuda_11.4.2
sudo ./NVIDIA-Linux-x86_64-470.57.02.run --dkms
在驱动程序安装过程显示的文本 GUI 中,您需要再次按 DKMS 的“YES”。
但有一个警告:NVIDIA 内核模块源必须使用与编译操作系统内核相同的gcc
/版本进行编译。对于 Ubuntu 20.04,它是。如果您有默认版本的不同版本,则不起作用,因为驱动程序似乎使用不同的环境来编译源代码。所以我只是将系统中的和符号链接从/替换为/ :g++
gcc-9
gcc
CC=gcc-9 CXX=g++-9 sudo ./NVIDIA-Linux-x86_64-470.57.02.run --dkms
gcc
g++
gcc-7
g++-7
gcc-9
g++-9
sudo apt-get install gcc-9 g++-9
cd /usr/bin
sudo unlink g++
sudo ln -s x86_64-linux-gnu-g++-9 g++
sudo unlink gcc
sudo ln -s x86_64-linux-gnu-gcc-9 gcc
答案2
这很可能是 nvidia 显卡兼容性问题,因此您不应使用 .run 安装程序。使用来自 ubuntu graphics ppa 的驱动程序,然后下载 .deb 并安装 cuda-toolkit。