使用 Nvidia 驱动程序时无法检测到内置笔记本电脑屏幕

使用 Nvidia 驱动程序时无法检测到内置笔记本电脑屏幕

我有一台 HP Omen 15,搭载 AMD Ryzen7 和 Nividia Geforce RTX 2060,Ubuntu 20.04.2 LTS

一段时间以来,双启动 (Ubuntu + Windows) 和双屏幕 (内置 + 外置) 一直运行良好。突然,今天,内置屏幕似乎无法再被识别,而外置显示器运行良好。内置屏幕显示启动选项(在 Windows 上也可以使用),但在登录时会“冻结”,屏幕显示黑屏 + Omen 符号。登录屏幕显示在外置显示器上。

这显然是系统配置问题。所以我尝试了一天能找到的所有解决方案,其中大多数建议的解决方案似乎都是删除/更改内容,/etc/X11/xorg.conf 例如请参见此处:使用 Nvidia 驱动程序时无法检测到笔记本电脑内部屏幕. 什么都没起作用。

我已经没有什么可尝试的了,似乎无法找到解决这个问题的方法......有人能帮帮我吗?

我的 NVIDIA Xserver 设置似乎没有找到内置屏幕。

我的 nvidia-smi 输出:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.80       Driver Version: 460.80       CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce RTX 2060    Off  | 00000000:01:00.0  On |                  N/A |
| N/A   41C    P8     2W /  N/A |    324MiB /  5934MiB |      3%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1004      G   /usr/lib/xorg/Xorg                 29MiB |
|    0   N/A  N/A      1740      G   /usr/lib/xorg/Xorg                 97MiB |
|    0   N/A  N/A      1878      G   /usr/bin/gnome-shell              107MiB |
|    0   N/A  N/A      4793      G   ...AAAAAAAAA= --shared-files       79MiB |
|    0   N/A  N/A      5417      G   /usr/bin/nvidia-settings            0MiB |
+-----------------------------------------------------------------------------+

编辑1:

更换为英特尔显卡后,内置屏幕恢复,但外接显示器停止工作。

sudo prime-select intel 
reboot

这是否表明问题在于我的 NVIDIA 卡无法检测到内置屏幕?

答案1

正如我所怀疑的,这是一个配置问题。以下是我发现的对我的情况有用的方法:

1 -编辑我的文件的内容/lib/modprobe.d/nvidia-graphics-drivers.conf

blacklist nouveau
blacklist lbm-nouveau
alias nouveau off
alias lbm-nouveau off
options nvidia-drm modeset=1

然后在终端运行:sudo update-initramfs -u

参考:https://askubuntu.com/a/1310431/1175096

2 -我把 的内容清空了/etc/X11/xorg.conf

参考:使用 Nvidia 驱动程序时无法检测到笔记本电脑内部屏幕

3 -/usr/share/X11/xorg.conf.d/我在 中创建了一个名为 的新 conf 文件30-nvidia-prime-overwrite-fucker.conf。这是因为 gpu-manager 通常会11-nvidia-prime.conf在启动时覆盖。名称实际上并不重要,只要在开头使用较大的数字即可。我的新文件包含:

Section "OutputClass"
    Identifier "Nvidia Prime"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    # Option "IgnoreDisplayDevices" "CRT"
    Option "PrimaryGPU" "Yes"
    ModulePath "/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection

这与 的内容完全相同,11-nvidia-prime.conf但被Option "IgnoreDisplayDevices" "CRT"注释掉了。

参考:https://askubuntu.com/a/689505/1175096

4 -我在我的文件中/etc/default/grub写道:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

然后在终端上更新 grub:

sudo update-grub

我的内置屏幕回来了,我的外接显示器正在作为扩展屏幕工作!

答案2

我也有一台带外接显示器的笔记本电脑。通常情况下,当您选择(或它自己选择)外接显示器作为主显示器并在X Server XVideo Settings语音下检查时,就会发生这种情况。如果您可以从下面的图片中看到,我也将外接显示器作为唯一选择,但如果我切换或更改参数,内置显示器仍可正常工作。

还要检查第一个语音选择X Server Display Configuration,从您的图片中我可以看到第一个语音选择的向下箭头是彩色的,可以显示一些其他监视器;请尝试按照我在图片中所做的方式打开。并仔细检查监视器部分下的 Ubuntu 设置。因为 Nvidia 和 Ubuntu 系统有时如果设置方式不同,可能会发生参数冲突....

在此处输入图片描述

相关内容