之前也提到了,旧机器上有一块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. Spring Annotations

    @Bean 这是一个方法注解,作用是实例化一个Bean并使用该方法的名臣命名.

  2. T89379 【qbxt】复读警告

    T89379 [qbxt]复读警告 题解 这是一道DP题 设置状态  f[ i ][ j ]  前 i 个数中所选数字之和 % key 得 j 的最大方案数 当前我们该选择第 i 个数字了,那么这个数 ...

  3. OpenCV学习笔记(12)——OpenCV中的轮廓

    什么是轮廓 找轮廓.绘制轮廓等 1.什么是轮廓 轮廓可看做将连续的点(连着边界)连在一起的曲线,具有相同的颜色和灰度.轮廓在形态分析和物体的检测和识别中很有用. 为了更加准确,要使用二值化图像.在寻找 ...

  4. StackTraceElement 源码阅读

    StackTraceElement 属性说明 /** * 每个 StackTraceElement 对象代表一个独立的栈帧,所有栈帧的顶部是一个方法调用 * @since 1.4 * @author ...

  5. Kibana 创建索引 POST 403 (forbidden) on create index

    一.问题描述: Kibana创建索引:kibana > management > index patterns > create index pattern 索引名称: mercha ...

  6. python 将视频转换成音频

    安装库 sudo pip install moviepy 代码 index.py from moviepy.editor import * video = VideoFileClip('test.mp ...

  7. 在vue中后台返回的文本包含标签时候解析为html代码

    1.数据格式: str=‘<p>11111</p>' 解析方式一: <p v-html="str">{{str}}</p> 解析方式 ...

  8. 服务器iptables规则记录

    很多时候,我在我自己的VPS上面部署了Cobalt Strike,可是网上很多叼毛就会扫描我们的VPS,然后发现我们的Cobalt Strike,如果你还建有web delivery,还会被人家下载上 ...

  9. OI模板のpoke流[大型考试复习必备/kl]

    数论 快速乘: ll qmul(ll x,ll y,ll mod) { ll ans=0; while(y) { if(y&1) (ans+=x)%=mod; y>>=1; (x+ ...

  10. Android layout_marginBottom无效

    layout_marginBottom属性无效的原因可能是顶部没有View组件(进行相对绘制)