Ubuntu16.04安装N卡驱动

news2024/9/21 16:31:52

最近碰到个实验,需要用pytorch0.4和python2.7的环境,因为环境比较老,所以新显卡可能不能装。紧急联系朋友搞了张1660ti想来跑实验,结果光是驱动就碰了一鼻子灰,这里简单做下总结,引以为戒。

首先是系统版本,猜到pytorch0.4版本适配的是比较老linux系统,所以一开始想装Ubuntu18.04,查了一圈后发现,老版本pytorch和CUDA限制仅支持16.04和17.10的Ubuntu

于是在虚拟机里安装的 18.04只能卸掉,结果没想到这也是碰到的第二个大坑,搞了我好几天!

首先下载16.04再在vmware里安装都是轻车熟路不用多说,但是在安装驱动这里碰到了大问题。

把驱动教程先贴上来,后来证实是没有问题的https://www.ngui.cc/el/1296300.html?action=onClick

先是下载了最新版本525.85的驱动,但是安装不上,具体什么问题记得不是很清楚了,但是当时想的很简单,毕竟是几年前的系统,不兼容应该也正常!于是在网上冲浪了一番,下了好几个版本的驱动418.43、450.80、510.108和520.56,最古老的418我都下载了,心想着这下再也没什么问题了吧?

结果安装时会出现Unable to load the kernel module 'nvidia.ko'.的问题,查了下资料,参考这篇文章(https://www.machunjie.com/trouble/842.html),里面提到了说可以升级内核解决,这么一想,毕竟是几年前的系统,内核没有升级确实可能不兼容,于是找了好几篇资料升级内核,一开始到内核网站上找内核文件,什么4.20、5.5、5.10deb文件我都下载了,但是使用sudo dpkg -i *.deb命令直接升级内核总是提示安装错误,最后用了这篇文章中的方法(https://blog.csdn.net/Long_xu/article/details/126710992)升级成功,并且非常方便,所以推荐要升级内核的话可以使用这个方法!

升级内核后,继续安装驱动,结果出现了新的问题:

The CC version check failed:

The kernel was built with gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12),

查资料里显示,好像是因为gcc版本没对上内核,要升级gcc版本,所以安装又失败了。

但是这时我注意到另一个问题,就是不管我安装哪个版本驱动,一开始总是提示:

WARNING: You do not appear to have an NVIDIA GPU supported by the XXX NVIDIA Linux graph...

在参考了https://blog.csdn.net/qq_41185868/article/details/97521492这篇文章中的方法后,我通过添加--add-this-kernel参数成功安装上了显卡驱动!

然而我没高兴太久,很快我就发现,好像并没有安装成功

按照评论中的方法去文件夹中找,也没找到

于是我又查了下,才搞清楚了,原来虚拟机里并不能识别N卡,不能安装CUDA,不能跑程序!这里我也不是特别确定,如果有成功的朋友可以告知一下我怎么在虚拟机中安装驱动和环境,总之我尝试失败了!

没办法,只能拿了一个盘出来装Ubuntu,在装系统的过程中也出现了很多问题,当然因为和本篇主题无关,我就不作过多描述了。

最后根据上面的教程,终于在主机中装上了Ubuntu16.04和N卡驱动,泪目了~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/177476.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python for循环及用法详解

Python 中的循环语句有 2 种,分别是 while 循环和 for 循环,前面章节已经对 while 做了详细的讲解,本节给大家介绍 for 循环,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。for 循…

ARP渗透与攻防(五)之Ettercap劫持用户流量

ARP-Ettercap劫持用户流量 系列文章 ARP渗透与攻防(一)之ARP原理 ARP渗透与攻防(二)之断网攻击 ARP渗透与攻防(三)之流量分析 ARP渗透与攻防(四)之WireShark截获用户数据 一.ettercap 工具介绍 项目官网:http://ettercap.github.io/ettercap/index.html EtterC…

(十五)ForkJoin框架

ForkJoinPoolForkJoinPool是一种“分治算法”的多线程并行计算框架,自Java7引入。它将一个大的任务分为若干个子任务,这些子任务分别计算,然后合并出最终结果。ForkJoinPool比普通的线程池可以更好地实现计算的负载均衡,提高资源利…

安装MikTeX-latex

安装MikTeX-latex一、报错信息二、重新安装三、编译MDPI Template一、报错信息 由于之前使用的是basic-miktex-2.9.7269-x64.exe这个版本,当安装完成后,在更新package时遇到了以下错误: MikTeX update error 于是,通过搜索&…

冯·诺依曼、哈佛、改进型哈佛体系结构解析

在如今的CPU中,由于Catch的存在,这些概念已经被模糊了。个人认为去区分他们并没有什么意义,仅作为知识点。 哈佛结构设计复杂,但效率高。冯诺依曼结构则比较简单,但也比较慢。CPU厂商为了提高处理速度,在C…

2023 年程序员的热门开发项目:掌握最新技术的教程和工具的完整列表

欢迎阅读我们关于“2023 年程序员的热门开发项目”的博文!作为一名开发人员,了解最新的技术和工具对于在就业市场上保持竞争力至关重要。在这篇文章中,我们编制了一份 2023 年最热门开发项目的完整列表,以及掌握每个项目的教程和资…

ChatGPT付费版来啦,好用的AI生成产品还能免费使用吗?AIGC工具箱

​最新消息,chatGPT推出了付费版!每月$42美元,不限流使用,你会付费使用吗?🧰AIGC工具箱下面推荐几款AI 生成产品!你觉得哪个更好用呢?AI 的出现,颠覆了内容生…

自己动手写一个操作系统——我们能做什么,我们需要做什么

文章目录计算机启动流程第一条指令BIOSMBRloaderkernel总结计算机启动流程 第一条指令 在开机的一瞬间,也就是上电的一瞬间,CPU 的 CS:IP 寄存器被硬件强制初始化为 0xF000:0xFFF0。 CS:IP 就是 PC 指针,也就是 CPU 下一条要执行的指令的地址…

Elasticsearch7.8.0版本入门—— Elasticsearch7.8.0映射操作

目录一、映射的概述二、创建映射的示例2.1、首先,创建索引2.2、然后,再创建好的索引基础上,创建映射2.3、映射属性说明2.4、查看创建的映射2.5、最后,创建文档2.6、根据文档中name属性条件查询文档 理解映射示例2.7、根据文档中se…

HDM KVM维护

前言 服务器遇到个问题,无法启动,下面简单记录一下解决程 方法 进入维护界面: 尝试 H5 KVM,发现H5 kvm挂载镜像速度较慢 使用 KVM.jnlp,需配置 java 环境,安装好java 环境已经配置java 环境变量后&…

Linux常见命令 18 - 用户管理命令 useradd, passwd, who, w

目录 1. 添加用户命令 useradd 2. 设置用户密码 passwd 3. 查看用户登录信息 who 4. 查看用户登录详细信息 w 1. 添加用户命令 useradd 语法:useradd [用户名] 2. 设置用户密码 passwd 语法:passwd [用户名] 注意:每个用户只能用passwd更改自…

作为项目经理,如何做好项目进度管理

一、项目进度管理需要做什么? 项目进度管理分9步:其中前⑥条属于规划过程组的工作内容,第⑦条属于监控过程组的工作内容。 ①规划进度管理:在文档内计划如何做好进度管理 ②定义活动:识别和记录项目中的活动 ③排列活动…

数据库系统概念 | 第六章:形式化关系查询语言 | 含带答案习题

文章目录📚关系代数🐇基本运算🥕选择运算🥕投影运算🥕关系运算的组合🥕集合并运算🥕集合差运算🥕集合交运算🥕笛卡尔积运算🥕更名运算🥕一道综合例…

量子力学奇妙之旅-微扰论和变分法

专栏目录: 高质量文章导航 一.基本概念 前置: 厄密算符和简并: 两大重要结论: 厄米算符的本征值一定是实数 厄米算符不同本征值的本征态一定正交 证明: 我们 λ<

Day02函数和条件表达

0. 格式化字符串 格式 化字符串 print(1) print(1,2,3,4)a 1 b 2.1123 c hello s a %d b %f c %s % (a,b,c)s -- worldprint(s)s fa {a} b {b} c {c} print(s)s a {0:5d} b {1:.2f} c {0}.format(a,b,c) print(s)1. 函数概述 print() input() type() int…

C++菱形继承以及解决方法--虚继承 虚基表

目录菱形继承形成原因出现二义性变量的内存布局应对方案虚继承 vitrual解决二义性变量内存布局--虚基表感悟关于代码复用等的另一种关系-组合菱形继承形成原因 多继承&#xff0c;呈菱形状 菱形继承代码: class A { public:A() {}int _a ; }; class B :public A { public…

NAT技术原理、使用场景

随着Internet的发展和网络应用的增多&#xff0c;有限的IPv4公有地址已经成为制约网络发展的瓶颈。为解决这个问题&#xff0c;NAT&#xff08;Network Address Translation&#xff0c;网络地址转换&#xff09;技术应需而生。 NAT技术主要用于实现内部网络的主机访问外部网络…

JDK8 新特性之新增的Optional类

目录 一&#xff1a;以前对null的处理方式 二&#xff1a;Optional类介绍 三&#xff1a;Optional的基本使用 Optional的高级使用 小结 一&#xff1a;以前对null的处理方式 Test public void test01() { String userName "凤姐"; // String userName null; …

十八、Gtk4-Stateful action

有些动作action有状态。状态的典型值是布尔值或字符串。但是&#xff0c;如果你愿意&#xff0c;也可以使用其他类型的状态。 具有状态的动作称为有状态的。 Stateful action without a paramete 有些菜单被称为切换菜单。例如&#xff0c;全屏菜单有一个状态&#xff0c;它…

在甲骨文云容器实例(Container Instances)上部署edge

甲骨文云推出了容器实例&#xff0c;这是一项无服务器计算服务&#xff0c;可以即时运行容器&#xff0c;而无需管理任何服务器。 今天我们尝试一下通过容器实例部署edge。 Step1. 创建容器实例 在甲骨文容器实例页面&#xff0c;单击"创建容器实例"&#xff0c; …