之前也提到了,旧机器上有一块NVIDIA的显卡,装了ubuntu16.04后一直没有安装驱动。这周算是有点时间,就差点作了死。

首先必须澄清,这个不是正确的安装过程,起码我就报了memory error问题,没有成功,同样屏幕显示也不正常了,分辨率被调到了2048*4196这个奇葩的数字。

本来是想安装gpu driver的,利用命令

lspci | grep VGA

发现自己的显卡是GT216,属于GeForce GT220系列的。因此上NVIDIA官网上下载了对应的驱动,有个GeForce 200 serials的,可以选择

下载下来后,发现是.run文件。查询了下别人的安装过程,应该是一个安装文件。在这之前需要先安装其他的依赖库

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

并不清楚这些库哪些是必须的,还是有很多事根本没有必要的,我只是提示我的过程。

如果有图形化界面则需要禁用x-window服务(请注意,从这一步开始,请不要使用x-window界面)

sudo service lightdm stop

禁用 nouveau

安装好依赖包后需要禁用 nouveau,只有在禁用掉 nouveau 后才能顺利安装 NVIDIA 显卡驱动,禁用方法就是在 sudo vim /etc/modprobe.d/blacklist.conf文件中添加几条禁用命令

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=
alias nouveau off
alias lbm-nouveau off

执行以下命令来禁止内核中nouveau

echo options nouveau modeset= | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

之后按照教程重启

sudo update-initramfs -u
reboot

我的.run文件是从浏览器中下载下来的,文件名是xxx.run,因此使用

/home/userxxx/Download/xxx.run

来运行,提示必须使用root权限。因此重试

sudo /home/userxxx/Download/xxx.run

能够编译,但是报错了,强制重启后,分辨率变成了640*480, X-window都正常启动了,很明显不正确

这一步如果没启动X-window的话,建议切换到其他窗口,使用

sudo service lightdm start

来启动。

查看GPU的使用命令,也不成功。这就很明显了,GPU driver安装失败,这个时候,需要换一种方法,但是在换方法之前,我觉得我的操作应该还可以拯救下。

想使用xrandr命令来切换分辨率,结果发现只有640*480的分辨率,因此决定重新操作回去,因为我的X-window启动了,所以这里没有列X-window的启动,请看前边。

启用 nouveau

当然,就是把刚才写的都注释或者删掉

执行以下命令来启用内核中nouveau,很明显,把0改成1也许好使

echo options nouveau modeset=1 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

之后按照教程重启

sudo update-initramfs -u
reboot

结果令人欣喜,又出现了熟悉的

Linux下nouveau操作和GPU的操作,nouveau拯救的更多相关文章

  1. Linux 下的 netfilter 认识与常规操作

    Linux 下的 netfilter 认识与常规操作 前言 博客写到今天,1年7个月.可是包含所有写作经历,这个时间线可以达到三年. 上次更新了一篇 "镇站之宝" ,也是本站阅读量 ...

  2. linux下文件压缩与解压操作

    对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rap.可 ...

  3. Linux下MySql的登陆和管理操作

    一.mysql数据库启停1.linux下启动mysql的命令:    mysqladmin start/ect/init.d/mysql start (前面为mysql的安装路径)2.linux下重启 ...

  4. Linux下部署Samba服务环境的操作记录

    关于Linux和Windows系统之间的文件传输,很多人选择使用FTP,相对较安全,但是有时还是会出现一些问题,比如上传文件时,文件名莫名出现乱码,文件大小改变等问题.相比较来说,使用Samba作为文 ...

  5. linux下各种形式的shell加法操作总结

    linux 下shell加法操作总结: #!/bin/bash   n=1;echo -n "$n "   let "n = $n + 1" echo -n & ...

  6. Linux下TFTP的安装,配置和操作

    注:转载他人,仅供自己研究学习使用 TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现.嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支 ...

  7. linux下vi的一些简单的操作

    前言 在嵌入式linux开发中,进行需要修改一下配置文件之类的,必须使用vi,因此,熟悉 vi 的一些基本操作,有助于提高工作效率. 一,模式 vi编辑器有3种模式:命令模式.输入模式.末行模式.掌握 ...

  8. Linux下使用指定网卡进行ping操作

    目录   1. 为什么要使用知道那个网卡ping操作   2. 使用指定网卡ping操作   3. 总结 1. 为什么要使用指定网卡ping操作 现在很多服务器都拥有双网卡甚至多网卡,有些是为了保持高 ...

  9. redis 从0到1 linux下的安装使用 数据类型 以及操作指令 一

    安装 redis 到 /usr/目录下 我这里安装的是redis-3.2.9.tar.gz tar zxvf  redis-3.2.9.tar.gz  -C  /usr 然后进行 执行编译命令 mak ...

随机推荐

  1. java实现几种常用排序:冒泡排序

    一.冒泡排序介绍 冒泡排序是我们得最多的排序方式之一,原因是简单易实现,且原理易懂.顾名思义,冒泡排序,它的排序过程就像水中的气泡一样,一个一个上浮到水面. 二.冒泡排序原理分析 三.冒泡排序代码实现 ...

  2. Win10 的微软输入法输入稍快竟然会导致死机

    一周前,新装机器一次,竟然死机两三次,多发生在敲字时,最近逐步排查发现的这个问题,查阅了一下网上方案,果断采用了第三方输入法,至今没再死机过. 不过第三方输入法也不安分,是不是推送点头条新闻过来,和驱 ...

  3. ModuleNotFoundError: No module named '_sqlite3'的解决办法:pipenv的用法

    export PIPENV_VENV_IN_PROJECT=1pipenv --venvpipenv --where pipenv install -r requirements.txtpipenv ...

  4. 1.1 从零搭建Go语言开发环境

    一.下载 下载地址: Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://golang.google.cn/dl/ 版本的选择 Windows平台和 ...

  5. html5内容快速学习

    accessKey 快捷键 <input type="text" accessType="m"/> <!-- chrome按下快捷键alt+m ...

  6. jq 实时监听input输入框的变化

    项目需求中有时候需要实时监测 input 的值变化,虽然 input 自身有 focus 和 blur 事件,但是有时候跟需求不符合. 所以实时监听 input 值变化的代码为: $("#i ...

  7. mariadb数据库(4)集群

    [主从架构]确保主从的两个数据库一致. um配置 [mariadb] name=MariaDB baseurl=http://mirrors.ustc.edu.cn/mariadb/yum/10.3/ ...

  8. jdk1.8-stack 栈源码分析

    一:类的继承关系 UML图: 类的继承关系: )) { ) { ) );} 分析:栈的peek()方法,其实就是返回栈顶部的元素值,即数组末尾元素值. peek()方法只是返回下标的值,但并不删除该元 ...

  9. golang struct结构体初始化的几种方式

    type User struct { Id int `json:"id" orm:"auto"` // 用户名 Username string `json:&q ...

  10. KCP - A Fast and Reliable ARQ Protocol

    KCP - A Fast and Reliable ARQ Protocol README in English 简介 KCP是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均 ...