因此,我全新安装了 Ubuntu 22.04 和 Windows 10(在单独的驱动器上)。我有 Nvidia GTX1050 GPU 和 Dell U2414H 显示器(通过 HDMI)。除了一个小问题外,一切都运行正常。在启动时,当它进入登录屏幕时,我的显示器反而变黑了。我在启动时看到的唯一消息是
[...] mtd device must be supplied (device name is empty)
[...] mtd device must be supplied (device name is empty)
奇怪的是,我可以通过执行以下操作之一轻松修复黑屏:
- 重新连接HDMI线;
- 打开或关闭显示器;
- 通过 ctrl+alt+F3 转到 tty3,然后通过 ctrl+alt+F1 返回登录屏幕;
- 黑屏时,按回车键,盲输入密码,然后再次按回车键。
所有这些都使屏幕正常工作。我在注销时也遇到了这个问题(黑屏而不是登录)。我可以看到显示器背光亮着,但不知何故显示器按钮(打开带有亮度和输入源等设置的菜单)不起作用。
查看 dmesg 我发现一些 nvidia 错误:
[ 51.343044] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
[ 51.343149] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
[ 51.343214] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
[ 51.343278] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
[ 51.388125] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
[ 51.388243] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
[ 51.388310] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
[ 51.388376] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
[ 51.419391] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
只有在使用 Nvidia 驱动程序时才会发生此问题(我尝试过清除并重新安装多个版本 - 470、510 和 515)。使用 Nouveau 时,它运行正常。无论使用 Wayland 还是 XOrg,都会发生这种情况。这并不严重,但每次启动/注销时都要经历这些动作,这让我很烦恼。
以下是一些信息:
:~$ inxi -Gx --display
Graphics:
Device-1: NVIDIA GP107 [GeForce GTX 1050] vendor: Gigabyte driver: nvidia
v: 515.65.01 bus-ID: 01:00.0
Display: x11 server: X.Org v: 1.21.1.3 driver: X: loaded: nvidia
unloaded: fbdev,modesetting,nouveau,vesa gpu: nvidia
resolution: 1920x1080~60Hz
OpenGL: renderer: NVIDIA GeForce GTX 1050/PCIe/SSE2
v: 4.6.0 NVIDIA 515.65.01 direct render: Yes
:~$ sudo lshw -c video
*-display
description: VGA compatible controller
product: GP107 [GeForce GTX 1050]
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:37 memory:fd000000-fdffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:e000(size=128) memory:c0000-dffff
*-graphics
product: EFI VGA
physical id: 1
logical name: /dev/fb0
capabilities: fb
configuration: depth=32 resolution=1024,768
:~$ nvidia-smi
Mon Sep 19 18:44:10 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.65.01 Driver Version: 515.65.01 CUDA Version: 11.7 |
|-------------------------------+----------------------+----------------------+
| 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 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |
| 38% 36C P0 N/A / 75W | 402MiB / 2048MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1086 G /usr/lib/xorg/Xorg 123MiB |
| 0 N/A N/A 1292 G /usr/bin/gnome-shell 110MiB |
| 0 N/A N/A 2942 G ...0/usr/lib/firefox/firefox 164MiB |
+-----------------------------------------------------------------------------+
也许有人遇到过类似的情况?有什么解决办法吗?
答案1
我遇到了类似的问题,只不过它对我来说运行良好,直到有一天我遇到了黑屏。对我唯一有用的方法是将我的 NVIDIA 驱动程序降级到 510。
但是,由于我使用的是 CUDA,这破坏了nvidia-smi
工具和pynvml
Python 包,所以这不是一个完美的解决方案。我稍后可能会尝试将其更新回来。
如果您想尝试根据自己的情况进行操作,请一步一步进行(我正在回忆,所以这里可能有错误):
- 在 GRUB 中,选择 Ubuntu(高级选项)
- 选择具有恢复模式的选项。
- 启用网络
- 启动 root shell
- 找到您的 nvidia 驱动程序版本:
sudo apt list --installed | grep nvidia-driver
。注意它使用的数字。在我的情况下是 515。 - 卸载 nvidia 驱动程序:
sudo apt-get remove nvidia-driver-515 nvidia-dkms-515
- 安装不同的版本:
A)sudo add-apt-repository ppa:graphics-drivers/ppa
b)sudo apt-get install nvidia-drivers-510 nvidia-dkms-510
- 我不得不再次设置安全启动密码。
- 重启。
如果您遇到困难,希望这能有所帮助。
答案2
这对我有用:
按 Ctrl++Alt进入F5tty
登录
键入以下命令
cd /etc/gdm3 sudo nano custom.config
取消注释此行
Enable wayland=false
保存文件
然后重启
sudo systemctl reboot
此答案位于以下链接:登录循环-Ubuntu
答案3
我也遇到了同样的问题。登录后我看到一个空白屏幕。
我能够正确登录恢复模式,因此问题肯定出在正常模式中使用的 Nvidia 驱动程序上,因为恢复模式使用 Nouveau 驱动程序。
因此,重新启动后,进入 root shell 提示符(通过 GRUB 菜单或 CTRL+ALT+Fn)(Fn 可以是 F1 到 F6)并运行:
sudo ubuntu-drivers autoinstall
上述命令将自动安装适合您的机器的驱动程序并更新它们。然后,使用以下命令进行验证:
nvidia-smi
然后运行:
sudo reboot
现在,您将能够使用更新的驱动程序正确重新登录到您的桌面。