程序员笔记:LINUX安装NVIDIA驱动程序

众所周知,Linux发行版繁多,不同版本之间差异奇大,对Nvidia驱动的支持也是良莠不齐。

作为一个Linux发行版,如何集成一个可用的显卡驱动是一个不得不面对的问题。N卡的Linux驱动分为开源驱动和闭源驱动。开源驱动就是大名鼎鼎的nouveau。

在法文中,Nouveau的意思相当于"new",就是新的意思,是一个由爱好者组织的针对Nvidia显卡开发的第三方开源3D驱动的共同项目,并且nouveau是在完全没有得到NVIDIA任何支持的情况下进行开发的,Nouveau算是X.Org基金会的一个项目(注:X.Org基金会是负责X Window System开发的社团,2004年1月22日在Open Group的X.org网站基础上建立。 )。开发所用方式我们也都很熟悉,和创新声卡kX驱动当年开发的方法类似,反编译Nvidia的Linux显卡驱动,然后进行再加工深处理的进一步开发工作。

由于其开源特性,Nouveau是是Linux KMS驱动的一部分,最新的版本在Linux内核中支持Nvidia的帕斯卡构架。

但是,其与NVIDIA官方驱动存在冲突,并且会影响GPU运行的可靠性。因此,对于显卡使用需求不高的用户,可以考虑直接使用Linux KMS集成的nouveau驱动。但对于游戏、高性能计算、3D渲染等场景,则需要使用Nvidia GPU官方驱动。

在Linux系统中安装NVIDIA显卡驱动前,建议先卸载Linux系统自带的显卡驱动nouveau。

# 查看是否开启

  • lsmod | grep nouveau

#不同Linux系统nouveau驱动禁用方式

Ubuntu

  • 创建文件/etc/modprobe.d/blacklist-nouveau.conf,添加如下文本:
    blacklist nouveau
    options nouveau modeset=0
  • 重新生成initramfs
    $ sudo update-initramfs -u

Fedora

  • 创建文件/usr/lib/modprobe.d/blacklist-nouveau.conf,添加如下文本:
    blacklist nouveau
    options nouveau modeset=0
  • 重新生成initramfs。
    $ sudo dracut --force

RHEL/CentOS

  • 创建文件/etc/modprobe.d/blacklist-nouveau.conf,添加如下文本:
    blacklist nouveau
    options nouveau modeset=0
  • 重新生成initramfs
    $ sudo dracut --force

OpenSUSE

  • 创建文件/etc/modprobe.d/blacklist-nouveau.conf,添加如下文本:
    blacklist nouveau
    options nouveau modeset=0
  • 重新生成initrd
    $ sudo /sbin/mkinitrd

SLES

SLES中未安装nouveau驱动。

#重启电脑

  • reboot

#验证是否屏蔽成功

lsmod | grep nouveau

成功禁用nouveau后,到官网下载对应版本驱动的.run文件,进行Nvidia闭源驱动的安装

#安装驱动

  • ./NVIDIA-Linux-x86_64-515.76.run

如果希望命令行静默安装,则

  • ./NVIDIA-Linux-x86_64-515.76.run -s

在安装过程中,最后会提示我们安装 xconfig这时候果断选"no"。

显卡驱动里集成的opengl版本可能与Linux桌面环境的opengl版本冲突,则

  • ./NVIDIA-Linux-x86_64-515.76.run --no-opengl-files

#查看显卡基本信息:

  • nvidia-smi

nvidia-smi展示显卡状态

如果可以看到显卡的信息,那么这次安装的驱动就可以正常打开了。

举报
评论 0