如何安装新的驱动程序
伴随PyTorch1.1.0的发布,CUDA10.0或者10.1成为标配,ubuntu自带的nvidia-drivers-390已经无法协调工作。
在给我msi笔记本和外星人笔记本安装最新版本的驱动过程中,遇到一个严重的怪问题:使用PPA安装驱动后,nvidia-settings里面看不到显卡的任何信息。
经过多方的查询和看调试记录,我的系统因为在编译一些软件的时候将gcc降低到了4.8,但是最新版的nvidia是没有办法通过编译的,因此总是失败。归结原因是:
- GCC版本太低导致安装过程没法编译内核模块;
- 390 ,410版本残留的内核模块(仅是怀疑,一并处理,未做验证)。
Tips: 不要尝试使用nvidia的官方驱动包,那个实在是没有任何安装成功的可能,使用PPA或者ubuntu基本源是最快和最稳定的方法。即使是离线的情况下也是可以的将cache拷贝进去进行离线安装(使用缓存重建本地源)。
具体的解决方案如下:
1.卸载所有nvidia驱动
我的当前驱动是安装失败的430,注意不要使用nvidia*的方式卸载,那样可能损坏nvidia-docker等软件 ,那样将导致一大顿的问题,正确的卸载方式是:
sudo apt-get remove nvidia-drivers-430 nvidia-drivers-dkms-430
sudo apt autoremove
2.屏蔽内核模块
之前安装的驱动可能已经注册了大量的dkms的模块,因为屏蔽之。这里是从网上抄的(去掉所有的#,装好后恢复)
sudo gedit /etc/modprobe.d/blacklist.conf
#blacklist vga16fb
blacklist nouveau
#blacklist rivafb
#blacklist rivatv
#blacklist nvidiafb
sudo reboot
3.在安装之前切换gcc到最新版本
我是因为版本切换导致的,再切会最新版gcc
sudo update-alternatives --config gcc
4.安装新驱动
没啥新意,照抄即可
sudo add-apt-repository ppa:graphics-drivers
sudo apt-get updatesudo ubuntu-drivers autoinstall
sudo reboot