OS: GNOME 3.30.2 on Debian GNU/Linux 10 (64-bit)
我的笔记本电脑的 HDMI 端口没有输出。监视器显示“未检测到输入”。之前我安装了 Kubuntu,之前安装了 Windows 10,两者都工作正常,这意味着这不是硬件问题。
我努力了:
使用“ARandR”包扫描新显示器。
插入不同的显示器和 HDMI 线。
在插入显示器的情况下启动机器。
眼镜:
LAPTOP: Acer Nitro 7 (AN715-51)
GPU: GeForce GTX 1650
CPU: Intel Core i7-9750H
输出xrandr
:
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
1920x1080 60.01*+ 60.01 59.97 59.96 59.93
1680x1050 59.95 59.88
1600x1024 60.17
1400x1050 59.98
1600x900 59.99 59.94 59.95 59.82
1280x1024 60.02
1440x900 59.89
1400x900 59.96 59.88
1280x960 60.00
1440x810 60.00 59.97
1368x768 59.88 59.85
1360x768 59.80 59.96
1280x800 59.99 59.97 59.81 59.91
1152x864 60.00
1280x720 60.00 59.99 59.86 59.74
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
1024x576 59.95 59.96 59.90 59.82
960x600 59.93 60.00
960x540 59.96 59.99 59.63 59.82
800x600 60.00 60.32 56.25
840x525 60.01 59.88
864x486 59.92 59.57
800x512 60.17
700x525 59.98
800x450 59.95 59.82
640x512 60.02
720x450 59.89
700x450 59.96 59.88
640x480 60.00 59.94
720x405 59.51 58.99
684x384 59.88 59.85
680x384 59.80 59.96
640x400 59.88 59.98
576x432 60.06
640x360 59.86 59.83 59.84 59.32
512x384 60.00
512x288 60.00 59.92
480x270 59.63 59.82
400x300 60.32 56.34
432x243 59.92 59.57
320x240 60.05
360x202 59.51 59.13
320x180 59.84 59.32
输出 xrandr --listproviders
:
Providers: number : 1
Provider 0: id: 0x43 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 3 outputs: 1 associated providers: 0 name:modesetting
输出lspci -nn | grep VGA
:
00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 630 (Mobile) [8086:3e9b]
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1f91] (rev a1)
输出aplay -l
:
card 0: PCH [HDA Intel PCH], device 0: ALC255 Analog
[ALC255 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
输出lshw -c video
:
*-display
description: VGA compatible controller
product: NVIDIA Corporation
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:154 memory:a3000000-a3ffffff memory:90000000-9fffffff memory:a0000000-a1ffffff ioport:5000(size=128) memory:a4000000-a407ffff
*-display
description: VGA compatible controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:128 memory:a2000000-a2ffffff memory:b0000000-bfffffff ioport:6000(size=64) memory:c0000-dffff
答案1
您有一台带有两个 GPU 的笔记本电脑,使用 Nvidia 的“Optimus”技术。
低功耗 CPU 集成的 Intel iGPU 通过物理连接输出到笔记本电脑的内部显示屏,而 HDMI 输出则连接到功能更强大的 Nvidia 独立 GPU。设备 ID 10de:1f91 表示 Nvidia GPU 是 GeForce GTX 1650 Mobile / Max-Q。该 GPU 的 Nvidia 代号是 TU117M。
笔记本电脑可能具有也可能不具有在 GPU 之间切换输出的能力;如果存在这样的功能,vga_switcheroo
是可以控制它的内核功能的名称。然后,您需要安装 Nvidia GPU 的驱动程序(免费驱动程序nouveau
或 Nvidia 专有驱动程序;由于 Nvidia GPU 型号相当新,因此对其的支持nouveau
仍在进行中),然后触发在启动 X 服务器之前切换到 Nvidia。
如果没有输出切换功能(称为“无复用 Optimus”),那么您需要将渲染图像从活动 GPU 传递到另一 GPU 才能使用所有输出。安装两个 GPU 的驱动程序(以及任何所需的固件)后,应该xrandr --listproviders
列出两个提供程序而不是一个,然后您可以使用xrandr --setprovideroutputsource <other GPU> <active GPU>
另一个 GPU 的输出可用于活动 GPU。
不幸的是,Nvidia 专有驱动程序似乎只能以活动 GPU 的角色参与此共享,因此在使用该驱动程序时,您可能希望保留两个不同的 X 服务器配置以供适当使用。
一种配置是使用外部显示器(也可能插入电源适配器),将 Nvidia GPU 作为活动显示器,通过 iGPU 为笔记本电脑的内部显示器提供数据
另一种配置适用于使用电池供电且不需要最大 GPU 性能的情况:在此配置中,您将使用 Intel iGPU 作为活动 GPU,并且可能需要完全关闭 Nvidia GPU 以节省电量(可通过该软件包实现bumblebee
)。如果您希望某些选定程序具有更高的 GPU 性能,您可以使用该primus
软件包使用没有物理屏幕的 Nvidia GPU 来渲染图形,然后将结果传递给 Intel iGPU 进行显示。
对于 Kubuntu,您可能会被问及是否在安装时使用专有驱动程序并回答“是”,因此它可能会为您设置上述配置之一。但 Debian 对开源软件的原则往往更加严格,因此使用专有驱动程序并不是那么无缝。
stable
一般来说, Debian 的发布(目前是 Buster)和最新最好的 Nvidia GPU的结合往往不是获得满意结果的简单方法,因为 Nvidia 专有驱动的 Debian 打包版本往往落后于 Nvidia 自己的版本:目前 Debian 10 非自由部分的驱动版本是 418.116,支持 GeForce GTX 1650 Mobile 所需的最低版本似乎是 430 。
但是,那buster-backports
存储库有可用的版本 440。要使用它,您需要将向后移植存储库添加到您的 APT 配置中。简而言之,将此行添加到/etc/apt/sources.list
文件中:
deb http://deb.debian.org/debian buster-backports non-free
然后apt-get update
以 root 身份运行。现在,您的常规包管理工具应该具有可用的反向移植存储库,并且您可以使用
apt-get -t buster-backports install nvidia-driver
安装足够新版本的 Nvidia 专有驱动程序来支持您的 GPU。
答案2
尝试跑步xrandr --auto
。
这将使用其第一首选模式启用已连接但已禁用的输出