在Linux上安装驱动,这事情多半是跑CUDA程序的人才会搞的,多年前学CUDA时为这一步骤头疼的很,现如今已经比较熟悉了,今日给出一些记录。

首先,在NVIDIA官方网站上找到驱动下载页面:

https://www.nvidia.cn/Download/Find.aspx?lang=cn

查询到可以使用的驱动版本,如下:

BETA版过新,稳定性尚未可知,选择非beta版本的最新版驱动,即 415.27版本。

下载链接页面:

https://www.nvidia.cn/download/driverResults.aspx/141852/cn

前面忘记交代硬件情况,本机为:

(惠普(HP)暗影精灵II代Pro 精灵绿 15.6英寸游戏笔记本(i7-7700HQ 8G 128GSSD+1T GTX1050Ti 4G独显 IPS FHD)

硬件配置:

CPU Core i7-7700HQ(含集成显卡)
独立显卡 NVIDIA GTX1050ti

下面开始正式安装步骤:

禁用nouveau驱动

Ubuntu系统集成的显卡驱动程序是nouveau,我们需要先将nouveau从Linux内核卸载掉才能安装NVIDIA官方驱动。
将nouveau添加到黑名单blacklist.conf中,(关于blacklist参见 《禁用Linux内核驱动》),linux启动时,就不会加载nouveau.
因为nouveau驱动的影响,ubuntu安装后无法登入桌面,所以在ubuntu系统启动显示登录界面后,需要按ctrl+alt+F1进入tty文本模式进入下面的操作

由于blacklist.conf文件的属性不允许修改。所以需要先修改文件属性。

查看属性

ll /etc/modprobe.d/blacklist.conf

修改属性

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

用vi编辑器打开

sudo vi /etc/modprobe.d/blacklist.conf

在文件末尾添加如下几行:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

修改并保存文件后,记得把文件属性复原:

sudo chmod 644 /etc/modprobe.d/blacklist.conf

再更新一下内核:

sudo update-initramfs -u

关于update-initramfs命令的用途,参见 《initramfs 简介,一个新的 initial RAM disks 模型》
修改后需要重启系统

重启系统确认nouveau是已经被屏蔽掉,使用lsmod命令查看:

lsmod | grep nouveau

lsmod命令用于显示已经加载到内核中的模块的状态信息,参见《lsmod命令》

具体过程见下图:

=====================================================================

安装驱动之前另一个重要的事情就是确认系统里面没有旧版本的驱动,以免发生冲突,因此需要卸载旧版本的驱动。

命令:

sudo apt-get  autoremove --purge nvidia*

===========================================================================

PPA方式安装显卡驱动:

在Linux系统里面安装显卡驱动使用PPA的方式成功率一般比较高,但是安装的版本有限,这里不采用该方法,但是仍给出该方法的具体步骤:

使用如下命令添加Graphic Drivers PPA:

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

寻找合适的驱动版本

命令:

ubuntu-drivers devices

安装NVIDIA driver
如上图显示GTX1050ti显卡建议的驱动版本是390
按ctrl+alt+F1进入tty文本模式
关闭(图形)桌面显示管理器LightDM

命令:

sudo service lightdm stop
sudo apt-get install nvidia-390
sudo reboot

安装nvidia driver,如果网速度不好,可能要花比较长的时间
安装完成后重启。

重启系统后,执行下面的命令查看驱动的安装状态显示安装成功

sudo nvidia-smi
sudo nvidia-setting

=====================================================================

下面给出本文的安装方法,根据官网下载的驱动文件安装:

安装NVIDIA driver

进入文本模式:
按ctrl+alt+F1进入tty文本模式
关闭(图形)桌面显示管理器LightDM 。

命令:

sudo service lightdm stop

 执行安装文件:

设置驱动文件为可执行,命令:

sudo chmod a+x   ./NVIDIA-Linux-x86_64-415.27.run

执行安装:

sudo  ./NVIDIA-Linux-x86_64-415.27.run

安装结束,重启:

sudo reboot

重新开机进入系统,执行如下:

nvidia-smi

nvidia-settings

可以发现成功安装。

====================================================================

物理机安装上最新驱动后,在conda中安装tensorflow-gpu最新版本1.20便可以成果,因为conda中编译好的tensorflow-gpu版本需要NVIDIA驱动在396之上。

注明:

本机安装之前已经设置进入系统免密码,该步骤是否有用没有研究过,如果有人想复现该过程强烈建议将Ubuntu系统设置为免密码进入桌面。

笔记本1050ti显卡安装最新驱动版本 (415.27) 记录 NVIDIA显卡GeForce系列 (Ubuntu18.04)的更多相关文章

  1. CentOS 使用官方源yum安装最新nginx版本

    CentOS 使用官方源yum安装最新nginx版本 1.创建nginx.repo # vi /etc/yum.repos.d/nginx.repo 2.添加内容#如果是CentOS6,文件内容如下: ...

  2. centos 安装最新稳定版本docker

    直接yum安装的docker版本是 : docker --versionDocker version 1.12.6, build 85d7426/1.12.6 一些新特性需要安装最新的稳定版本 国内可 ...

  3. 在ubuntu上安装最新稳定版本的node及npm

    背景 通过ubuntu官方apt安装工具安装的node是最新LTS版本的,而本人是个有点强迫症的人,喜欢追求新的东西,也就是想方设法想要去安装最新版本的node,所以本文也就产生了,附上ubuntu安 ...

  4. 安装mysql驱动之 mysqlclient 出现的报错处理(ubuntu16.04)

    首先 更新软件! sudo apt-get update 然后尝试安装mysqlclient,报错 后执行下面的步骤 安装mysql驱动之 mysqlclient 出现的报错信息处理 报错1: OSE ...

  5. torch7 安装 并安装 hdf5模块 torch模块 nn模块 (系统平台为 ubuntu18.04 版本)

    今年的CCF A会又要开始投稿了,实验室的师弟还在玩命的加实验,虽然我属于特殊情况是该从靠边站被老板扶正但是实验室的事情我也尽力的去帮助大家,所以师弟在做实验的时候遇到了问题也会来问问我,这次遇到的一 ...

  6. 关于在Linux上安装aws cli版本1的记录

    AWS Command Line Interface (AWS CLI) 是一种开源工具,让您能够在命令行 Shell 中使用命令与 AWS 服务进行交互. 因公司项目要求,要在Linux服务器安装a ...

  7. tensorflow/pytorch/mxnet的pip安装,非源代码编译,基于cuda10/cudnn7.4.1/ubuntu18.04.md

    os安装 目前对tensorflow和cuda支持最好的是ubuntu的18.04 ,16.04这种lts,推荐使用18.04版本.非lts的版本一般不推荐. Windows倒是也能用来装深度GPU环 ...

  8. linux安装最新(任意)版本nodejs

    首先在终端中使用命令 uname -a 查看系统版本 uname -a x86_64 是64位的 所以要安装64位对应的nodejs 打开nodejs中文网里的下载 找到64位的文件 点击后就下载了 ...

  9. amd显卡更新最新驱动鼠标顿卡的解决方法

    测试了下游戏,很稳.方法:在卡顿的状态下打开RADEON设置,依次点击显示器→规格→覆盖,将支持HDCP选为禁用,按提示重启即可.

随机推荐

  1. Ping 的TTL理解

    http://www.webkaka.com/tutorial/zhanzhang/2017/061570/ 根据自己的扩展重新整理了一下,虽然不是运维,想了解一点东西就希望了解清楚. 一.含义 “T ...

  2. HashSet和ArrayList有什么区别

    hashSet存储的是无序,不可重复,无索引 ArrayList存储的是有序,可重复,有索引

  3. noip2014生活大爆炸版石头剪刀布

    题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一 样,则不分胜负.在<生活大爆炸>第二季第8集中出现了一种石头剪刀布的升级版游戏. 升级版游戏在传统的 ...

  4. 【转】MVC中code first方式开发,数据库的生成与更新(Ef6)

    一,在models文件夹中,建立相应的model文件         这里注意一点,这里建立的class名,就是数据库里表的名字.         在这里面,可以建立表之间的关系. 这里要说明一点的事 ...

  5. Tomcat修改用户名密码教程

    Tomcat安装教程见http://www.cnblogs.com/lsdb/p/6497964.html 启动tomcat后访问http://127.0.0.1/:8080,出现界面如下其右上角有三 ...

  6. Kali安装教程(VMWare)

    1.下载镜像及相关 1.1下载镜像文件 下载链接:https://www.kali.org/downloads/ 选择自己需要的版本下载,根据经验先下载种子文件(torrent)再用迅雷下载网速是最有 ...

  7. git rebase commit 信息处理

    pick:正常选中 reword:选中,并且修改提交信息: edit:选中,rebase时会暂停,允许你修改这个commit(参考这里) squash:选中,会将当前commit与上一个commit合 ...

  8. 把旧系统迁移到.Net Core 2.0 日记 (18) --JWT 认证(Json Web Token)

    我们最常用的认证系统是Cookie认证,通常用一般需要人工登录的系统,用户访问授权范围的url时,会自动Redirect到Account/Login,登录后把认证结果存在cookie里. 系统只要找到 ...

  9. http协商缓存VS强缓存

    之前一直对浏览器缓存只能描述一个大概,深层次的原理不能描述上来:终于在前端的两次面试过程中被问倒下,为了泄恨,查阅一些资料最终对其有了一个更深入的理解,废话不多说,赶紧来看看浏览器缓存的那些事吧,有不 ...

  10. es6新增的math函数有哪些

    Math.trunc():用于去除一个数的小数部分,返回整数部分. Math.sign():用来判断一个数到底是正数.负数.还是零. Math.cbrt():用于计算一个数的立方根. Math.hyp ...