Linux下nouveau操作和GPU的操作,nouveau拯救

时间:2024-03-04 09:53:23

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

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