Linux gnome桌面更新nvidia显卡驱动
文章目录
前言
在下载安装好arrayfire这个库之后,运行了一个示例程序,提示
|
|
google发现说的是显卡驱动需要更新,我的显卡驱动是381.xx最新的是384.98 因此我就开始更新显卡驱动。使用命令
|
|
之后显示说缺少几个包,因此我就顺着它装
|
|
安装好之后并没有发现我的显卡驱动的版本提升,故直接使用了
|
|
这下直接各种包与之前安装的冲突,导致无法进入图形界面,驱动无法运行。ctrl+alt+f7从终端切换到图形界面,显示错误信息,重新登录还是如此。 遂决定重新安装驱动,因为我的显卡驱动是在安装cuda的时候顺带安装好了,我怕把cuda环境玻怀了,比较小心。(事实证明重新安装驱动不会破坏cuda环境)
重新安装显卡驱动
关闭x server
好在之前在官网上下载好了最新的显卡驱动.run文件,即使在只有终端下安装应该也很方便,终端输入
|
|
可以打开驱动安装程序,但是有一个错误提示:ERROR:You appear to be running an X server;please exit Xbefore installing. 大意是需要关闭X server服务,google一搜,找到几个关闭x server的命令
|
|
(使用service –status-all命令查看运行的所有服务) 仍然关不掉X server,因为init.d文件夹里没有这几个服务只有下面几个,可能我是openSUSE和gnome桌面吧。gnome桌面按理说应该会有gdm,kde桌面应该会有kdm
|
|
我还尝试过通过安装驱动错误的log文件找到X server的PID使用kill -s 9 PID杀掉进程,虽然有用但是会造成系统重新载入,x server又复活了。 最终在linux 怎样关闭x server 安显卡驱动这个回答下发现了关闭x server服务的方法
|
|
这个种命令还有一系列,参考init 0 init1 init 3 init 5 init 6 这几个启动级别都代表什么意思 现在终于可以进行下一步安装了
安装kernel headers
正当我再次运行驱动安装程序,却又提示需要安装kernel headers,因为之前安装cuda的时候有这一步,以为是查看kernel版本的就掠过了。。。 这里参考NVIDIA CUDA Installation Guide for Linux openSUSE下先查看kernel版本
|
|
安装kernel headers这需要核心的版本信息,sudo zypper install kernel--devel=然后替代(尖括号一并替换掉)
|
|
安装好之后终于可以正常安装显卡驱动了
安装显卡驱动的时候有几个选项,只要注意不要选择使用nvidia的x server来链接与更新系统自带的x server服务即可,否则可能无法进入图形界面,一启动就是终端ctrl+alt+f7无法进入图形界面 终端输入xinit提示x server connect refuse(我重新安装一遍驱动才解决) 重新安装好显卡驱动后,最后运行arrayfire示例程序终于没有报错,折腾没有白费。。。欣慰
2018.1.14更新
老问题又发生了,这次重新安装驱动不行,我估计要安装最新的驱动,于是在其他电脑上到NVIADIA官网下载好了最新的驱动到u盘里。插上电脑,执行以下命令查找u盘位置
|
|
我的u盘在/dev/sdc1 使用以下命令挂载u盘到/media以及进入目录读取u盘文件,运行驱动程序安装,重启后应该就能进入桌面了。
|
|
文章作者 后院池塘
上次更新 2017-12-16