Ubuntu 16.04 - 使用的是 nouveau 驱动程序还是 NVIDIA 驱动程序?

bar*_* 05 7 nvidia graphics nouveau drivers 16.04

我使用的是 lenovo Y 700 笔记本电脑,运行 Ubuntu 16.04,我正在尝试修复一些图形问题。我遇到的问题之一是,当我在“附加驱动程序”选项卡中选择 NVIDIA 二进制驱动程序时,等到安装完成并重新启动时,似乎没有使用驱动程序。

我知道它不是主要选择的图形卡(我试图选择 NVIDIA 卡作为要使用的主要图形适配器)并且输出lspci -k | grep -EA2 'VGA|3D'是这样的:

00:02.0 VGA compatible controller: Intel Corporation Skylake Integrated Graphics (rev 06)
    Subsystem: Lenovo Skylake Integrated Graphics
    Kernel driver in use: i915_bpo
--
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)
    Subsystem: Lenovo GM107M [GeForce GTX 960M]
    Kernel driver in use: nouveau
Run Code Online (Sandbox Code Playgroud)

所以,我想知道nouveau驱动程序是用于NVIDIA卡还是NVIDIA驱动程序?

cl-*_*box 8

首先回答您的问题,您使用的是开源nouveau而不是 NVIDIA 驱动程序。这意味着无论出于何种原因,您尝试安装专有 NVIDIA 驱动程序都失败了。如果您想使用 NVIDIA 驱动程序 - 使用与使用 GUI 尝试的方法不同的方法。

首先完全卸载您之前尝试安装的 NVIDIA 驱动程序。

启动笔记本电脑,在 GRUB 启动菜单中标记 Ubuntu 条目,然后按E键。在行尾
添加。按键启动系统。 不要错过在行中的最后一个字母和之间设置一个。nouveau.modeset=0linuxF10
Spacelinuxnouveau.modeset=0

当登录屏幕出现时,按Ctrl+ Alt+ F1。输入用户名和密码 - 执行:

sudo apt purge nvidia*
sudo reboot  
Run Code Online (Sandbox Code Playgroud)

现在nvidia-prime从 GPU 驱动程序 PPA安装最新的稳定版 NVIDIA 驱动程序 378.13 。

重启后再次在 GRUB 启动菜单中标记 Ubuntu 条目并按下E键。在行尾
添加。按键启动系统。 不要错过在行中的最后一个字母和之间设置一个。nouveau.modeset=0linuxF10
Spacelinuxnouveau.modeset=0

当登录屏幕出现时,按Ctrl+ Alt+ F1。输入用户名和密码 - 执行:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-378 nvidia-prime
sudo reboot  
Run Code Online (Sandbox Code Playgroud)

执行lspci -k | grep -EA2 'VGA|3D'...现在你会看到:Kernel driver in use: nvidia

如果您仍然无法让 NVIDIA 驱动程序正常工作,您应该考虑选择加入Ubuntu LTS 启用堆栈,它为现有的 Ubuntu LTS 版本提供更新的内核和 X 支持。这通常是一个好主意,因为您有一个相当新的笔记本。通过执行以下命令选择加入 Ubuntu 16.04 LTS - HWE - 启用堆栈:

sudo apt install --install-recommends linux-generic-hwe-16.04 xserver-xorg-hwe-16.04  
sudo reboot  
Run Code Online (Sandbox Code Playgroud)

在执行此操作之前,请按照步骤 1 中的说明删除所有 NVIDIA 软件,并在安装新内核并重新启动操作系统后按照步骤 2 中的说明重新安装驱动程序。

附加信息:启动进入 BIOS 以确保禁用安全启动启用NVIDIA 图形芯片和 NVIDIA Optimus(在某些机器上此选项可用)。