我有一台 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 系统有时如果设置方式不同,可能会发生参数冲突....