Linux系统如何安装NVIDIA驱动
小编给大家分享一下Linux系统如何安装NVIDIA驱动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
检测NVIDIA驱动是否成功安装
使用nvidia-settings命令
nvidia-settings
终端执行这个命令会调出NVIDIA的驱动管理程序,如下:
如果出现这个界面可以看到 NVIDIA Driver Version:390.48,这就代表nvidia-setting安装正常。
使用nvidia-smi命令测试
英伟达系统管理接口(NVIDIA System Management Interface, 简称 nvidia-smi)是基于NVIDIA Management Library (NVML) 的命令行管理组件,旨在(intened to )帮助管理和监控NVIDIA GPU设备。
nvidia-smi
执行这条命令将会打印出当前系统安装的NVIDIA驱动信息,如下:
我们可以看到我们显卡的型号,我的是GTX 960M,包括显存大小都可以看见。
系统信息查看
这一步不重要,因为有时候系统信息里面显示的可能会有误,只显示集显不显示独显的情况。
比如我的就没有显示出独显,如下:
这里面不显示没有关系,可以略过。
命令行搜索集显和独显
打开终端执行以下命令:
lspci | grep VGA # 查看集成显卡 lspci | grep NVIDIA # 查看NVIDIA显卡
如果都能搜索到说明正常。
查看nouveau是否启动运行可以执行下面命令:
lsmod | grep nouveau
没有返回代表没有运行。
集显与独显的切换
当我们需要切换独显与集显的时候,一般就是外出的时候,想节省电量,增长待机时间。下面讲解两种切换方式。
使用nvidia-setting切换
终端执行nvidia-setting,在弹的界面中选择独显与集显:
命令行切换
NVIDIA提供了一个切换显卡的命令:
sudo prime-select nvidia # 切换nvidia显卡 sudo prime-select intel # 切换intel显卡 sudo prime-select query # 查看当前使用的显卡
注意: 每一次切换显卡都需要重新启动电脑才能生效。
使用标准仓库进行自动化安装
在安装的发行版中,如 ubuntu, Linux Mint等,找到附加驱动管理软件,下面是Linux Mint界面:
选择推荐的驱动安装,点击应用更改,等待下载然后重启即可。
这种安装方式有如下缺点:
如果你的显卡比较新可能会出现安装低版本的NVIDIA驱动而造成即可安装完成,但是并没有真正安装成功,可能会出现循环登录,关机死机等等原因。
当你更换驱动的时候可能原有的NVIDIA驱动删除不干净。
当然这种方式也是有优点的:
不需要手动禁止nouveau
操作方便
可能有的童鞋还使用过命令行的方式安装:
sudo apt-get install nvidia*
如图:
这种方式安装同样也是使用ubuntu官方源的形式安装的,你可以选择不同的驱动版本来安装,但是本质上和标准仓库进行自动化安装是一样的。
其实ubuntu自带命令行版本安装工具ubuntu-drivers,终端输入:
ubuntu-drivers devices # 查询所有ubuntu推荐的驱动
这路我是有一个推荐安装的驱动,那就是nvidia-driver-390,明显我已经安装完成了。
然后就可以使用下面一条命令安装所有推荐的驱动程序:
sudo ubuntu-drivers autoinstall
安装完成后重启就可以了,这里要注意,这种安装方式和驱动管理器软件安装的效果是一样的,就是一个是UI版本,一个是命令行版本。
使用PPA仓库进行自动化安装
使用图形驱动程序PPA存储库允许我们安装NVIDIA beta驱动程序,这有可能会出现兼容性的问题,但是有些时候必须使用这种方式,比如显卡比较新,使用上面所讲的方式检测驱动的安装情况,如果不正常那么只能使用这种方式安装最新的NVIDIA驱动。
添加PPA到我们的系统:
sudo add-apt-repository ppa:graphics-drivers/ppa
更新系统源:
sudo apt update
此时我们就可以下载最新的NVIDIA驱动了:
安装的方式有以下三种,其实前面已经讲过,这里总结一下:
附加驱动管理软件
sudo apt-get install nvidia-xxx
ubuntu-drivers方式
这三种都可以,选择一个版本安装,然后重启即可。
使用官方的NVIDIA驱动进行手动安装
这种安装方式我认为是比较野蛮的,也是最正规,最原始的的方式,当然难度是最高的。你可以来挑战一下!!!!
1. 查看当前电脑的显卡型号
lshw -numeric -C display
执行完毕后我的显卡型号为 GTX 960M,如下图:
2. 下载NVIDIA官方驱动
到NVIDIA的官方驱动网站下载对应显卡的驱动程序,下载后的文件格式为run。
下载好之后放到用户目录下,等下后面会用到。
3. 删除原有的NVIDIA驱动程序
如果你没有安装过,或者已经卸载,可以忽略:
sudo apt-get remove –purge nvidia*
4. bios禁用禁用secure boot,也就是设置为disable
如果没有禁用secure boot,会导致NVIDIA驱动安装失败,或者不正常。
5. 禁用nouveau
打开编辑配置文件:
sudo gedit /etc/modprobe.d/blacklist.conf
在最后一行添加:
blacklist nouveau
这一条的含义是禁用nouveau第三方驱动,之后也不需要改回来。
由于nouveau是构建在内核中的,所以要执行下面命令生效:
sudo update-initramfs -u
6. 重启
reboot
重启之后,可以查看nouveau有没有运行:
lsmod | grep nouveau # 没输出代表禁用生效
7. 停止可视化桌面:
为了安装新的Nvidia驱动程序,我们需要停止当前的显示服务器。最简单的方法是使用telinit命令更改为运行级别3。执行以下linux命令后,显示服务器将停止,因此请确保在继续之前保存所有当前工作(如果有):
sudo telinit 3
之后会进入一个新的命令行会话,使用当前的用户名密码登录
8. 安装驱动
给驱动文件增加可执行权限:
sudo chmod a+x NVIDIA-Linux-x86_64-390.48.run
然后执行安装:
sudo sh ./NVIDIA-Linux-x86_64-390.48.run --no-opengl-files
安装完成后重启即可,记得验证是否安装成功,参考前面所讲。
–no-opengl-files 参数必须加否则会循环登录,也就是loop login
参数介绍:
–no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要
–no-x-check 安装驱动时不检查X服务
–no-nouveau-check 安装驱动时不检查nouveau 后面两个参数可不加。
关于使用此方式可以参照Ubuntu 18.04安装NVIDIA(英伟达) RTX2080Ti显卡 这篇文章。
注意:
安装CUDA时一定使用runfile文件,这样可以进行选择。不再选择安装驱动,以及在弹出xorg.conf时选择NO
常见问题解决
安装完驱动后,HDMI扩展屏幕不能使用,现象表现为能识别扩展屏幕但是黑屏。 这种情况需要确定以下内容是否已经设置:
如果上面的都已经做了,但还是有问题,可以尝试下面的配置:
sudo nano /usr/share/X11/xorg.conf.d/10-amdgpu.conf
有可能不是这个文件,但是类似。
修改为下面这样
Section "OutputClass" Identifier "AMDgpu" MatchDriver "amdgpu" Driver "amdgpu" Option "PrimaryGPU" "no" EndSectio
下面修改nvidia的配置
sudo nano /usr/share/X11/xorg.conf.d/10-nvidia.conf
修改为下面这样:
Section "OutputClass" Identifier "nvidia" MatchDriver "nvidia-drm" Driver "nvidia" Option "AllowEmptyInitialConfiguration" Option "PrimaryGPU" "yes" ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg" EndSection
然后重新启动。
以上是“Linux系统如何安装NVIDIA驱动”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341