NVIDIA Optimus、混合显卡系统,如何配置它们以满足我的期望

NVIDIA Optimus、混合显卡系统,如何配置它们以满足我的期望

过去一周,我一直在尝试在我的双显卡笔记本电脑上安装 nvidia 驱动程序。

目前我正在使用 Debian 9 stretch -rc 3。在此之前,我使用的是 Ubuntu 16.04 和 Windows 10(双启动)。之前的设置不符合我的预期,因此我完全切换到了该amd64架构下的 Debian 9 stretch -rc 3。

在制造商的网站上,我找不到适合我的笔记本电脑型号的规格,因此我提供了一个链接亚马逊页面。此页面提供了我在网上能找到的最详细的技术规格。我希望我没有违反任何规则……我发布此页面只有一个目的:为您提供技术数据。


我的问题从何而来?

我以前经常使用 Ubuntu (14.x、16.x)。为了正确安装 nvidia 驱动程序,我必须执行以下操作:

sudo systemctl set-default multi-user.target

# reboot laptop to enter text mode...

sudo apt-add-repository ppa:graphics-drivers/ppa

# This is a repository with proprietary GPU drivers. 

sudo apt-get update

sudo apt-get install nvidia-XYZ

# XYZ is driver version.

sudo systemctl set-default graphical.target

# reboot laptop to start x-server.

# In Ubuntu "Additional Driver Utility" chose nvidia driver.

# Reboot one more time.

并且一切运行正常!

我确信这一点,因为我将笔记本电脑用于科学目的,所以我总是安装后者CUDA toolkit

至少对我来说,这强烈表明我没有NVIDIA Optimus进行设置。但我也可能错了...


我如何在 Debian 上尝试安装驱动程序以及出现了什么问题:

首先我必须允许使用contribnon-free软件/etc/apt/sources.list。然后我只需运行以下命令:

sudo apt-get update
sudo apt-get upgrade

sudo apt-get install nvidia-driver

如果我在这里停下来并重新启动计算机,我会看到
如果我继续并运行nvidia-xconfig,我将会毁掉 Debian(重启后,除了闪烁的光标外什么都没有)。


更多信息:

以下是几个“信息收集”命令的结果。它们均在 上启动Debian 9 stretch -rc3

# Result of 'lspci':
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)

# Result of 'nvidia-detect':
No NVIDIA GPU detected.

在 Debian 中Settings > Details > Graphics我看到我正在使用英特尔集成卡(Intel® Haswell Mobile)。

目前我没有办法检查它(除了安装 ubuntu 代替 debian),但我记得在 Ubuntu 的Software & Updates实用程序(在 中Additional Drivers)中,我可以看到有关无法识别的英特尔设备的条目(CPU 被正确识别)。现在我相信,但我可能错了,这是关于英特尔 gpu 的。

我还记得在 Ubuntu 上我的 nvidia gpu 被识别为 VGA,而不是 3D。


问题:

  1. 你认为我已经NVIDIA Optimus设置好了?即使在 Ubuntu 上我也能正常使用显卡?

  2. 如果没有,我该如何强制我的 Debian 将我的 nvidia 显卡识别为非VGA controller3D controller(Ubuntu 可以做到这一点)。

  3. 你认为我可以在 Ubuntu 上正常使用 nvidia 卡吗? 仅有的是不是因为我的英特尔卡无法被识别?

  4. 我想将笔记本电脑视为一个multi-graphics系统,而不是一个hybrid-graphics系统。我该怎么做?

  5. 是否有可能在 Debian 安装过程中,我的硬件被错误检测,因此被解释为NVIDIA Optimums设置?

答案1

我想我破解了这个神秘盒子,所以让我自己回答这个问题吧。
现在我有点忙,无法一次写完所有内容……因此我将在未来更新这个答案……


你认为我安装了 NVIDIA Optimus 吗?即使在 Ubuntu 上我也能正常使用显卡?

回答:是的,我已经NVIDIA Optimus设置了。

我怎么知道的?

  1. lspci并且nvidia-detect输出必须与我的问题相同。
  2. 可以在bios选项中检查。如果有名为的选项switchable-graphics,则可以确定已设置。但这不是强制性的。没有此选项也是NVIDIA Optimus可以的。名称也可以不同。hybrid-graphics
  3. 采用该技术的 NVIDIA GPU 列表

如果没有,我该如何强制我的 Debian 将我的 nvidia 显卡识别为 VGA 控制器而不是 3D 控制器?(Ubuntu 可以做到这一点)。

回答:因此,无法hybrid-graphics强制将我的 nvidia 卡识别为VGA controller。至少在 intel 卡工作时无法。

一般来说,如果我想让我的 nvidia 卡被识别,VGA controller我必须在 bios 级别禁用我的英特尔卡(我相信有一种方法可以在启动时禁用它,但这可能会产生一些意想不到的后果 - 不确定)。

但我必须指出,在 bios 级别禁用英特尔卡可能会不是是可能的。因为两张卡连接在一起的方式(在硬件级别),或者因为bios没有此选项。

如果我以某种方式成功禁用英特尔卡,我将不得不重新安装我的OS(识别 nvidia 卡和配置软件的最安全方法)或重新安装与相关的所有内容x-server

如果事实证明可以在启动时或系统运行时禁用显卡(可能性很小),理论上我可以准备bash script在两种设置之间切换我的笔记本电脑:single-graphics系统(任一 nvidia 卡将在线或者英特尔卡)或hybrid-graphics系统(当两张卡都在线时)。


您是否认为我之所以能够在 Ubuntu 上正常使用 nvidia 卡,只是因为我的英特尔卡无法被识别?

回答:是的,事情就是这样的。


我想将我的笔记本电脑视为多显卡系统,而不是混合显卡系统。我该怎么做?

回答: NVIDIA Optimus意味着我的英特尔 GPU 和我的 nvidia GPU 连接在一起。它们使用单​​个输出通道(在硬件级别)。如果我想在软件级别将它们配置为两个独立的设备,这将是不可能的。


在 Debian 安装过程中,是否有可能错误地检测我的硬件,因此将其解释为 NVIDIA Optimums 设置?

回答:否,我的设置被正确检测到。

相关内容