过去一周,我一直在尝试在我的双显卡笔记本电脑上安装 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 上尝试安装驱动程序以及出现了什么问题:
首先我必须允许使用contrib
和non-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。
问题:
你认为我已经
NVIDIA Optimus
设置好了?即使在 Ubuntu 上我也能正常使用显卡?如果没有,我该如何强制我的 Debian 将我的 nvidia 显卡识别为非
VGA controller
?3D controller
(Ubuntu 可以做到这一点)。你认为我可以在 Ubuntu 上正常使用 nvidia 卡吗? 仅有的是不是因为我的英特尔卡无法被识别?
我想将笔记本电脑视为一个
multi-graphics
系统,而不是一个hybrid-graphics
系统。我该怎么做?是否有可能在 Debian 安装过程中,我的硬件被错误检测,因此被解释为
NVIDIA Optimums
设置?
答案1
我想我破解了这个神秘盒子,所以让我自己回答这个问题吧。
现在我有点忙,无法一次写完所有内容……因此我将在未来更新这个答案……
你认为我安装了 NVIDIA Optimus 吗?即使在 Ubuntu 上我也能正常使用显卡?
回答:是的,我已经NVIDIA Optimus
设置了。
我怎么知道的?
lspci
并且nvidia-detect
输出必须与我的问题相同。- 可以在
bios
选项中检查。如果有名为的选项switchable-graphics
,则可以确定已设置。但这不是强制性的。没有此选项也是NVIDIA Optimus
可以的。名称也可以不同。hybrid-graphics
- 采用该技术的 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 设置?
回答:否,我的设置被正确检测到。