Linux下nouveau操作和GPU的操作,nouveau拯救
之前也提到了,旧机器上有一块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=0 alias nouveau off alias lbm-nouveau off
执行以下命令来禁止内核中nouveau
echo options nouveau modeset=0 | 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
结果令人欣喜,又出现了熟悉的