天天看点

解决Nvidia显卡的电脑安装Ubuntu及驱动的各种坑

最新更新(快速安装NVIDIA驱动):

1、先把Ubuntu自带的那该死的驱动禁用了:

打开黑名单:

sudo gedit /etc/modprobe.d/blacklist.conf
           

添加禁用组件(在黑名单文件末尾加入并保存):

# for nvidia display device install
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
           

刷新一下设置,再重启一下系统:

sudo update-initramfs -u
sudo reboot
           

2、再添加源来安装,如果是20系列的卡,最好就装410的比较新,10系列的就无所谓了,384、396都行:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-410
           

重启一下完事。

目前以上方法我在Ubuntu 16.04上亲测完美,在18.04上,添加源后安装不了驱动,各种依赖出问题,暂时没去考究原因,所以18.04的话建议还是直接下NVIDIA官网的驱动手动安装,详情可以参考:https://my.oschina.net/u/2306127/blog/2877804。

最近给游戏本装双系统(对没错,我就是用游戏本搞开发的那个人),由于是N卡+Intel核显的电脑(并且是1920*1080及以上的高分屏),装Ubuntu前后遇到各种坑。

下面我们慢慢道来如何爬出这些坑。

我遇到的这些坑目前如下,大家可以对号入座:

(1)用U盘安装Ubuntu系统,卡死在logo界面(下面那一排进度点根本不动),死活进不去;

(2)好不容易把(1)解决了,发现分辨率降低成了800*600,安装过程中部分按钮都点不到;

(3)安装成功后进系统发现没法调节屏幕亮度(甚至连系统设置-亮度里的条都没了);

(4)装上N卡官方驱动后发现在登录界面无限循环,死活进不去桌面;

(5)虽然系统正常了,驱动也装好了,但怎么莫名其妙又失效了(表现为亮度又不能调了)。

好,我们逐个解决这些问题,其实这些问题的出现逻辑也大致是上述的顺序。

(1)原因分析: 你会发现在logo界面其实分辨率很正常,这恰恰就是卡死的原因,因为Ubuntu默认内置了Nvidia的第三方开源驱动nouveau(不是官方的,有点坑,尤其是对桌面用户),所以导致在系统安装过程中就因识别到N卡而加载了第三方驱动,具体为什么卡死不太清楚,总之就是禁用掉。

解决办法:

(a)卡死在logo界面时,直接强制关机,回到最初的步骤;

(b)在黑白的grub引导界面(第一行是Try Ubuntu… 第二行是Install Ubuntu的那个界面),先用方向键选到第二行Install,但不要立即按回车,而是按E,就进入参数配置编辑界面;

(c)找到开头是linux的那行,一般来说是倒数第二行,在末尾quiet splash的后面先空一格再加上

acpi_osi=linux nomodeset

如果quiet splash后面发现有- - -这串符号,直接删了就是,只要保证上述添加的参数在splash后面即可;

(d)然后按F10即可进入正常的安装流程。

(2)原因分析: 因为我们在第一个问题中把显卡驱动给禁用了,所以这个时候分辨率会下降到800*600,安装过程的前几步还没什么,到分区那一步就坑死了,下面的菜单和按钮都被遮住了,看不见也点不到。

解决办法: 这个时候你按下Alt+F7,或者直接在标题栏点右键会看见有一个Move选项,然后鼠标会变成一个手指的图标,此时你用方向键或者鼠标拖动就能把窗口往上拖出屏幕边缘,下面的部分自然就看得见了。

(3)原因分析: 无法调节亮度,系统设置里压根不给你调节的拖动条,并且有些同学在用Unity Tweak Tool进行主题美化后发现一些透明度也失效了,这都是因为没有正确安装N卡官方驱动。

解决办法: 这个问题和(4)合在一起解决。

(4)原因分析: 在登录界面输入密码后进不去桌面,又跳回了登录,无限循环,这个问题主要原因其实也是因为没有正确地安装Nvidia官方显卡驱动导致的(英伟达工程师还专门给出了解决办法的,大概是因为OpenGL的一些问题)。

解决办法: 下面就给大家一个正确的姿势在Ubuntu上安装Nvidia驱动:

(a)首先去N卡官网下载自己显卡对应的驱动:www.geforce.cn/drivers

(b)下载后好放在英文路径的目录下,怎么简单怎么来,然后最好是把文件名改成自己记得的名字,等会儿要用到,因为默认下载下来后面带了一串版本号,比如我就改成了Nvidia-Linux.run

(c)为了避免后面各种麻烦,直接给驱动程序赋最高权限:

sudo chmod 777 Nvidia-Linux.run

(d)然后我们去把那个第三方驱动给拉入黑名单,先编辑文件:

sudo gedit /etc/modprobe.d/blacklist.conf

在文件末尾加上 blacklist nouveau

然后刷新配置:

sudo update-initramfs -u

(e)到这一步时最好重启一下系统,然后正式进入官方驱动的安装流程。按下Ctrl+Alt+F1进入非图形终端;

(f)禁用X服务:

sudo service lightdm stop

(g)带参数安装驱动(这个地方我的驱动程序直接在Home目录下,所以很方便):

sudo ./Nvidia-Linux.run -no-opengl-files

(h)重启X服务:

sudo service lightdm restart

然后重启系统吧,驱动问题一切OK。

(5)原因分析: 这个问题一般不会出现,一旦出现其实也不知道是什么情况下造成的,反正还是grub参数的问题。

解决办法:

编辑grub文件:

sudo gedit /etc/default/grub

找到**GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash nomodeset”**这一行,把nomodeset这个参数和它前面相邻的空格删掉,即改成:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

保存后,更新grub配置:

sudo update-grub

再重启电脑,显卡驱动又恢复效果了。

参考文章:

http://blog.csdn.net/u012759136/article/details/53355781

http://blog.csdn.net/ssmixi/article/details/73483795

继续阅读