deeplearning|ubuntu 16.04 + GTX1050安装nvidia驱动

0 序

  • 由于某些原因,配好的nvidia驱动崩了,崩了的大致情况如下:
  • nvidia-smi没有了
  • nvidia-setting显示none
  • 重装吧.但是重装过程中碰到了很多小bug,快疯了,这里都记录一下.
1. 最最前面
  1. 每一条命令别傻傻的复制粘贴,要想清楚(我因为复制粘贴最近两天跳了无数的坑…不只是这个驱动安装)
  2. 安装失败别害怕,删了重来,我就装了十几次,找了很多博客才装好.
2. 删除nvidia原有驱动 注意,我第一次安装是apt-get安装方式安装的,所以这里的卸载方式是关于它的,不清楚run安装出来的是不是也可以这样删
sudo apt-get --purge remove nvidia* sudo apt-get --purge remove nvidia-* sudo apt autoremove sudo apt-get --purge remove xserver-xorg-video-nouveau

  • 其实就一个准则,删净了
3. Nvidia驱动安装
  • 首先安装方式有两种:开源和闭源
3.1 闭源安装
  • 这次解决好的方式,参考(https://blog.csdn.net/xunan003/article/details/81665835)
第一步,禁用nouveau
  • 执行下面命令,无输出代表已经禁用
lsmod | grep nouveau

  • 没有见最下面的方法禁用
第二步:下载相应的驱动
3.2.1
  • 下载网址:http://www.nvidia.cn/page/home.html
  • 你需要根据自己的显卡信息以及系统信息选择合适的驱动文件,个人选择的:
  • NVIDIA-Linux-x86_64-418.88.run
3.2.2
  • 下载后的run文件拷贝至home目录下(英文目录下)
  • 重命名文件(原来的名字太长,你自己打会很麻烦)
第三步骤: 进入命令行界面
  • 防止某些人不熟悉,所以这里详细说一下
  • 进入: crtl + alt+ f1 (当然我的,f2-f6都可以)
  • 退出: ctrl + alt + f7
3.3.1 登录
  • 进去之后,需要登录(看清楚前面提示即可)
  • 帐号: (建议root用户)
  • 密码:(注意!!!它不认识小键盘的数字,所以你用小键盘打密码会一直不对,你需要用键盘上面那一行数字打)
  • 剩下就可以看作命令行了
补充:最开始我 ctrl +alt +f1 进不去这个页面,卡住,重启也没用,但我确定我以前配的时候可以,这可以尝试下面命令进入:
sudo telinit 3

3.3.2 关闭图形界面
  • 关闭图形界面,不执行会出错。
sudo stop lightdm (我使用的,但是我的电脑不是别stop命令,所以我换了另一种写法,见下面加粗部分) 或者 sudo service lightdm stop(参考教程)

  • 同理,到最后所有步骤完成后,打开图形界面的操作如下:
sudo start lightdm

注意,不知道什么原因,它不识别我的stop命令:所以我换成了
systemctl stop lightdm systemctl start lightdm

第四步骤: 开始安装
4.1 cd对应run文件目录下
修改文件权限
sudo chmod777 NVIDIA-Linux-x86_64-396.18.run (换成你对应文件)

4.2 运行run程序
1.一定一定注意: 只有禁用opengl这样安装才不会出现循环登陆的问题,因为我没注意后面的,就遇到了循环登录问题…
2.文件名自己对应自己的
sudo ./NVIDIA-Linux-x86_64-396.18.run -no-x-check -no-nouveau-check -no-opengl-files

【deeplearning|ubuntu 16.04 + GTX1050安装nvidia驱动】-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件
4.3 安装过程选项
  1. The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
  2. 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 继续。
  3. 问题没记住,选项是:install without signing
  4. 问题大概是:Nvidia’s 32-bit compatibility libraries? 选择 No 继续。
  5. 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 继续
4.4 收工
  • 装完后会自动会到命令行界面
  • 这时候你可以测试一下自己是否成功
nvidia-smi

  • 成功了也别高兴(用上面的命令:start你的桌面,上面你stop过了)
  • (我自己start就跳到桌面了,正常跳转说明你基本没事儿了)
  • 然后这时再测一下驱动: nvidia-smi
  • 全部正常基本就完成了
4.5 循环登录问题
  • 我自己由于安装时,没有注意: -no-opengl-files:只安装驱动文件,不安装OpenGL文件
  • 所以自己在命令行可以 nvidia-smi,但是登陆界面一致循环登录…
  • 解决: nvidia的驱动是可以覆盖安装的,所以我重新安装了一遍
开源方式安装 这是本人第一次安装的方式,但是这次不行了,一直装不上,但可能对某些人有用,就也写上来
1. 命令行查看推荐驱动
ubuntu-drivers devices

deeplearning|ubuntu 16.04 + GTX1050安装nvidia驱动
文章图片

2. 添加 ppa
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update

3. 开源安装
( 参考: https://blog.csdn.net/u013082989/article/details/83382230)
3.1 某些依赖
sudo apt install dkms build-essential linux-headers-generic

3.2 禁用nouveau
  • 执行下面命令,无输出代表已经禁用
lsmod | grep nouveau

  • **如果有输出则代表nouveau正在加载,需要禁用,**如下: 在 /etc/modprobe.d 中创建文件 blacklist-nouveau.conf ,
    创建文件方法:进入到/etc/modprobe.d目录下(命令如下)
sudotouchblacklist-nouveau.conf sudochmod a+w+r blacklist-nouveau.conf(给文件可读可写的权限) vim blacklist-nouveau.conf

  • 在文件中输入下面内容
blacklist nouveau options nouveau modeset=0

  • 保存退出后,运行:
sudo update-initramfs -u

  • 重启
reboot

再次测试
lsmod | grep nouveau

3. 3 开源方式安装
sudo apt-get install linux-headers-$(uname -r) sudo apt install nvidia-410 reboot

  • 检测时是否成功
nvidia-smi

END
  • 祝成功

    推荐阅读