Nouveau是一个由爱好者组织的针对NVIDIA显卡开发第三方开源3D驱动的共同项目,并且Nouveau是在完全没有得到NVIDIA任何支持的情况下进行开发的,Nouveau算是X.Org基金会的一个项目(注:X.Org基金会是负责X Window System开发的社团,2004年1月22日在Open Group的X.org网站基础上建立。 )。开发所用方式我们也都很熟悉,和创新声卡kX驱动当年开发的方法类似,反编译NVIDIA的Linux显卡驱动,然后进行再加工深处理的进一步开发工作。
虽然 Nouveau Gallium3D 在游戏速度上还远远无法和 NVIDIA 官方私有驱动相提并论,不过却让Linux更容易的应对各种复杂的NVIDIA显卡环境,让用户安装完系统即可进入桌面并且有不错的显示效果,所以很多 Linux 发行版默认集成了 Nouveau 驱动,在遇到 NVIDIA 显卡时默认安装。
企业版的Linux 更是如此,几乎所有支持图形界面的企业 Linux 发行版都将 Nouveau收入其中。
系统重装完以后如果是只有一种分辨率可选,且分辨率变得特别小,那说明系统没有安装任何驱动。
打开一个Linux terminal
中输入以下指令,没有内容输出,说明没有Nouveau驱动,可跳过该章节直接进入到NVIDIA驱动安装;
反之,如果有打印nouveau信息,则需要先进行禁用nouveau;
$ lsmod | grep nouveau
为啥要禁用nouveau驱动?
从驱动介绍中我们知道Nouveau驱动的默认安装能让用户安装完系统即可进入桌面并且有不错的显示效果,但是对于个人桌面用户来说,处于成长阶段的Nouveau并不完美,与企业版不一样,个人用户除了想让正常显示图形界面外很多时候还需要一些3D特效,深度画面渲染等;Nouveau多数时候并不能完成,而用户在安装NVIDIA官方私有驱动的时候Nouveau又成为了阻碍,不禁用Nouveau安装时总是报错,错误通常如下:
ERROR: The Nouveau kernel driver is currently in use by your system. This driver is incompatible with the NVIDIA driver, and must be disabled before proceeding.
Please consult the NVIDIA driver README and your Linux distribution's documentation
for details on how to correctly disable the Nouveau kernel driver.
禁用nouveau驱动步骤
打开一个Linux terminal
中输入以下指令
$ sudo gedit /etc/modprobe.d/blacklist.conf
在文件最后加入以下内容
blacklist nouveau
options nouveau modeset=0
更新使其生效
$ sudo update-initramfs -u
重启设备
reboot
检查是否禁用nouveau成功
lspci | grep nouveau
若terminal
没有内容输出,说明禁用成功。
打开一个Linux terminal
中输入以下指令进行gcc以及cmake的安装
$ sudo apt-get install build-essential
$ sudo apt-get install cmake
检查是否安装成功:
$ gcc --version
$ cmake --version
Linux terminal
有版本号显示说明安装成功。
打开一个Linux terminal
中输入以下指令,检查系统推荐的驱动版本
$ sudo ubuntu-drivers devices
终端打印信息如下:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
vendor : NVIDIA Corporation
modalias : pci:v000010DEd00001C60sv0000103Csd000084DBbc03sc00i00
driver : nvidia-384 - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
driver : nvidia-430 - third-party free recommended
driver : nvidia-415 - third-party free
driver : nvidia-418 - third-party free
driver : nvidia-410 - third-party free
可以看到 driver 一行中共有推荐的驱动程序版本号;
通过确定系统推荐的驱动版本,选择其中一个版本进行apt install
打开一个Linux terminal
中输入以下指令,例如安装nvidia-415
$ sudo apt install nvidia-driver-415
该方法安装时间较长,在这里不推荐使用sudo apt install方式安装
安装成功后输入 lsmod | grep nvidia
终端打印信息如下:
holden@holden:~$ lsmod | grep nvidia
nvidia_uvm 786432 0
nvidia_drm 45056 6
nvidia_modeset 1040384 13 nvidia_drm
nvidia 16588800 627 nvidia_uvm,nvidia_modeset
drm_kms_helper 172032 1 nvidia_drm
drm 401408 9 drm_kms_helper,nvidia_drm
ipmi_msghandler 53248 2 ipmi_devintf,nvidia
正常情况下,采用添加源的方式安装Nvidia显卡驱动,是比较可靠的,而且还方便以后更新。
由于新版本Ubuntu(>=14.04)已内置驱动管理程序, 我们强烈建议通过该驱动管理程序来安装显卡驱动: 系统设置 -> 软件和更新 -> 附加驱动。
如果列表中没有相关的选项,请添加源后重试:
打开一个Linux terminal
中输入以下指令
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
通过驱动管理程序来安装显卡去驱动,这种方法比手动操作更安全, 因为手动安装可能会遇到黑屏问题导致必须重新安装操作系统才能解决。
在进入到NVIDIA官网下载驱动时需要知道设备的显卡型号
打开一个Linux terminal
中输入以下指令查看显卡型号
$ lspci | grep -i vga
终端会打印信息如下:
01:00.0 VGA compatible controller: NVIDIA Corporation GP106M [GeForce GTX 1060 Mobile 6GB] (rev a1)
00:02.0 VGA compatible controller: Intel Corporation Device 3e9b (rev 02)
01:00.0 VGA compatible controller: NVIDIA Corporation Device 2191 (rev a1)
GeForce驱动程序下载地址
NVIDIA所有驱动程序下载
以GeForce系列显卡为例
进入官网后,如下图选择手动搜索驱动程序,根据自己系统对应的驱动,并点击 “开始搜索” 进行下载。
同时按住 Ctrl+Alt+F1
进入tty1终端模式,并且输入下面命令关闭显示管理:
$ sudo service lightdm stop
进入到驱动目录下,在命令行终端运行刚才下载的驱动:
sudo ./NVIDIA-Linux-x86_64-430.64.run --no-opengl-files
安装过程按照下面步骤进行选择:
驱动安装后重启设备,输入 nvidia-smi
查看输出显示类似下面,就说明已经安装成功。
安装显卡驱动过程中出现以下报错:
提示:由于显卡驱动不支持在X-Windows服务运行时进行,所以需要进入运行级别3。
ERROR: You appear to be running an X server; please exit X before installing.
解决方案如下:
[1] 同时按键Ctrl、Alt和F2 键
Localhostlogin:
Password:
[2] 切换到根权限
$ sudo passwd
$ su su-
[3] 输入init3进入文本模式
$ init 3
[4] 找到驱动所在的文件夹进行驱动安装
$ sudo ./NVIDIA-Linux-x86_64-430.64.run --no-opengl-files
驱动安装后记得重启设备
按照以上进行显卡驱动安装八成可以安装成功
遇到问题不要慌,要相信你遇到的问题别人都遇到过,多谷歌;