ubuntu系统安装NVIDIA显卡驱动

青春壹個敷衍的年華 提交于 2020-02-18 07:19:56


环境:
Ubuntu19.10 x64桌面版 显卡GeForce GTX 1060
背景:
安装Ubuntu过程中并没有选择让系统安装显卡驱动
提示:
如果反复安装始终有问题,则需要在开机时进入bois 关闭secure boot,具体方法,请百度。
建议尝试方法1(.run)和方法2(ppa源)安装,当一种方法安装不成功时就换另外一种方法安装。
避免sudo apt-get install nvidia-*安装方式造成登录界面循环,采用运行.run的方式进行安装。
首先,从英伟达的官网上查找你自己电脑的显卡型号然后下载相应的驱动。网址:http://www.nvidia.cn/page/home.html

系统及硬件信息

uname -a
Linux ubuntu 5.3.0-18-generic #19-Ubuntu SMP Tue Oct 8 20:14:06 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
lspci | grep NVIDIA
01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP106 High Definition Audio Controller (rev a1)

由"(rev a1)"可知显卡驱动不正常

一. 方法1 运行.run文件的方式

(1)禁止集成的nouveau驱动:
ubuntu系统集成的显卡驱动程序是nouveau,它是第三方为NVIDIA开发的开源驱动,我们需要先将其屏蔽才能安装NVIDIA官方驱动。
将驱动添加到黑名单blacklist.conf中,但是由于该文件的属性不允许修改。所以需要先修改文件属性。
修改属性命令

sudo chmod 666 /etc/modprobe.d/blacklist.conf
sudo vim /etc/modprobe.d/blacklist.conf

在该文件后添加一下几行:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

执行如下命令,更新系统,来禁用nouveau

sudo update-initramfs -u 

重启电脑,命令如下:

sudo reboot

重启成功后,在终端输入如下命令检查是否禁用nouveau成功,无输出,表示禁用成功

lsmod | grep nouveau

如果禁用不到直接如下删除

mv /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/nouveau/au/nouveau.ko /li /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/nouveau/au/nouveau.ko.org

(2)按ctrl+alt+f1进入命令行界面
在命令行界面下输入如下命令,关闭图形界面(不执行后面会出错):

 sudo service lightdm stop

卸载掉原有驱动:
(若安装过其他版本或其他方式安装过驱动执行此项)

 sudo apt-get remove nvidia-*  

(3)给驱动run文件赋予执行权限:

 sudo chmod  a+x NVIDIA-Linux-x86_64-440.59.run

(4)安装:

 sudo ./NVIDIA-Linux-x86_64-440.59.run -no-opengl-files

//只有禁用opengl这样安装才不会出现循环登陆的问题
网上有人说要执行 sudo ./NVIDIA-Linux-x86_64-396.18.run -no-x-check -no-nouveau-check -no-opengl-files,但是我执行这句话时遇到错误,去掉-no-x-check -no-nouveau-check就没有问题了。
-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件

安装过程中的选项
The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择 No 继续。
问题没记住,选项是:install without signing
问题大概是:Nvidia’s 32-bit compatibility libraries? 选择 No 继续。
Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择 Yes 继续
这些选项如果选择错误可能会导致安装失败,没关系,只要前面不出错,多尝试几次就好。
(5)挂载Nvidia驱动:

modprobe nvidia(可忽略这一步)

检查驱动是否安装成功:

nvidia-smi

如果出现如下提示,则说明安装成功。
(6)重启

sudo reboot

安装过程中出现的错误及解决

An alternate method of installing the NVIDIA driver was detected. (This is usually a package provided by your distributor.) A driver installed via that method may integrate better with your system     
than a driver installed by nvidia-installer.
Please review the message provided by the maintainer of this alternate installation method and decide how to proceed:
ERROR: The Nouveau kernel driver is currently in use by your system.  This driver is incompatible with the NVIDIA driver, and must be disabled before proceeding.  Please consult the NVIDIA driver      
README and your Linux distribution's documentation for details on how to correctly disable the Nouveau kernel driver.
WARNING: One or more modprobe configuration files to disable Nouveau are already present at: /usr/lib/modprobe.d/nvidia-installer-disable-nouveau.conf, etc/modprobe.d/nvidia-installer-disable-nouveau.conf.  Please be sure you have rebooted your system since these files were written.  If you have rebooted, then Nouveau may be enabled for other reasons, such as being included in the system initial ramdisk or in your X configuration file.  Please consult the NVIDIA driver README and your Linux distribution's documentation for   details on how to correctly disable the Nouveau kernel driver.

遇到此问题,可以安装后面正文的方法,重新尝试安装,

还有一个类似于此的错误,也是ERROR后面一大堆,但是kernel module后面是“nvidia-drm”,此问题是由于之前安装过驱动的残留所致,请参考第3步后重新安装。

错误2. 在安装的最后一步,没有提示安装成功,而是显示
Error:Unable to load the ‘nvidia-drm’ kernel module .

出现这个问题最有可能的原因是你安装的Ubuntu是UEFI模式启动的,但是在BIOS中却打开了Security BOOT选项。正确做法是禁用该选项,具体方式请百度(我就是这一步折腾的我,其实一直没有找到具体原因) “禁用Security BOOT”

二. 方法2 ppa源安装的方式

(1)禁止集成的nouveau驱动:
ubuntu系统集成的显卡驱动程序是nouveau,它是第三方为NVIDIA开发的开源驱动,我们需要先将其屏蔽才能安装NVIDIA官方驱动。
将驱动添加到黑名单blacklist.conf中,但是由于该文件的属性不允许修改。所以需要先修改文件属性。
修改属性命令

sudo chmod 666 /etc/modprobe.d/blacklist.conf
sudo vim /etc/modprobe.d/.d/blacklist.conf

在该文件后添加一下几行:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

执行如下命令,更新系统,来禁用nouveau

sudo update-initramfs -u 

重启电脑,命令如下:

sudo reboot

重启成功后,在终端输入如下命令检查是否禁用nouveau成功,无输出,表示禁用成功

lsmod | grep nouveau

如果禁用不到直接如下删除

mv /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/nouveau/au/nouveau.ko /li /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/nouveau/au/nouveau.ko.org

(2)卸载旧的驱动并添加源
卸载干净之前的驱动,命令如下:

sudo apt-get remove --purge nvidia-*

添加源,命令如下:

sudo add-apt-repository ppa:graphics-drivers/ppa

更新源,命令如下:

sudo add-apt-repository ppa:graphics-drivers/ppa

(3)按ctrl+alt+f1进入命令行界面
在命令行界面下输入如下命令,关闭图形界面(不执行后面会出错):

sudo service lightdm stop

卸载掉原有驱动(若安装过其他版本或其他方式安装过驱动执行此项):

 sudo apt-get remove nvidia-* 

(4)安装并重新启动图形环境
安装命令,“nvidia-384”,后面的数字根据自己显卡的型号选择合适的,且源中存在的,命令如下:

sudo apt-get install nvidia-384

重新启动图形环境,命令如下:

sudo service lightdm start

重启电脑,命令如下:

sudo reboot

(5)查看是否成功:
通过如下命令,来检查显卡驱动是否安装成功:

nvidia-smi

nvidia-settings

三. 系统设置中安装方式

系统设置->软件更新->附加驱动->选择nvidia最新驱动->应用更改

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!