系统及硬件信息
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)禁止集成的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”
(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最新驱动->应用更改