Ubuntu 22.04 中未检测到第二个监视器

afr*_*era 6 display nvidia multiple-monitors 22.04

我刚刚在笔记本电脑上安装了 Ubuntu 22.04 作为双引导,但它无法识别我的第二台显示器。如果我使用 Windows,它工作得很好。

显卡是 Nvidia GTX 960m

安全启动已禁用

我已经搜索了很长一段时间,但在任何以前/类似的线程中都找不到解决方案。

设置->显示图片

输出xrandr

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 381mm x 214mm
   1920x1080     60.00*+  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  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
Run Code Online (Sandbox Code Playgroud)

sudo lshw -C 显示

*-display                 
       description: 3D controller
       product: GM107M [GeForce GTX 960M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a2
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:133 memory:93000000-93ffffff memory:50000000-5fffffff memory:60000000-61ffffff ioport:4000(size=128)
  *-display
       description: VGA compatible controller
       product: HD Graphics 530
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       logical name: /dev/fb0
       version: 06
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=i915 latency=0 resolution=1920,1080
       resources: irq:131 memory:92000000-92ffffff memory:a0000000-afffffff ioport:5000(size=64) memory:c0000-dffff

Run Code Online (Sandbox Code Playgroud)

我尝试从“软件和更新”->“其他驱动程序”安装不同的驱动程序,

sudo ubuntu-drivers autoinstall

还添加了 PPA 并安装了推荐的驱动程序

sudo add-apt-repository ppa:graphics-drivers/ppa 
sudo apt-get update

sudo ubuntu-drivers devices
Run Code Online (Sandbox Code Playgroud)

然后我安装了另一个驱动程序,但这并没有改变任何东西。

运行这些命令后,监视器处于镜像模式,但在 xrandr 中显示为已断开连接

sudo xrandr --output HDMI-1 --auto
sudo xrandr --addmode HDMI-1 1920x1080
sudo xrandr --output HDMI-1 --mode 1920x1080 --pos 0x0
Run Code Online (Sandbox Code Playgroud)

我还安装了 lightdm,没有任何更改。

有人有任何可能的想法吗?如果您需要更多信息,也请评论

小智 3

我也尝试不同的方法,你可以用不同的驱动程序进行测试,我尝试使用525-open,但它不起作用,所以我更改为515,我重新启动它,它起作用了

在此输入图像描述


小智 1

这似乎是一个非常普遍的问题,也是非常具体的情况。

就我而言,我有内置 Intel 显卡和外置 nvidia 显卡。在让它正常工作之前,我尝试了多种方法。

脚步

  1. 从 lightdm 切换到 gdm - 使用 lightdm 作为显示管理器而不是 gdm 的有效性已在此处记录(尽管这只是不同风格的 Linux 中的问题)。请注意,这不是绝对必要的步骤。
  2. HDMI 很可能会断开连接,这就是无法检测到外部显示器的原因。您可以使用 xrandr 检查这一点。
  3. 安装适当的 nvidia 驱动程序。ubuntu S/W 中心推荐的那个不适合我。相反,我使用该命令sudo ubuntu-drivers list检查兼容驱动程序列表,然后使用sudo apt install nvidia-driver-[your_version].
  4. sudo prime-select nvidia从 Intel 显卡切换到 NVIDIA 显卡 - 正如之前的评论中提到的,这可以通过重新启动来完成。如果没有驱动程序,您将无法切换。如果安装了不正确的驱动程序,即使在主屏幕上也无法打开 GUI。
  5. 如果安装了不正确的驱动程序版本,GUI 可能无法打开。使用导航到终端Ctrl + Alt + F1并使用清除所有当前驱动程序版本sudo apt-get remove --purge nvidia*并重新安装不同版本的驱动程序。请注意,强烈建议使用单一驱动程序版本并删除所有其他版本。nvidia-smi理想情况下,正确安装后您应该能够运行。找到正确的驱动程序版本对我来说似乎是关键的一步。
  6. 安装正确的驱动程序后 xrandr 的输出
Screen 0: minimum 8 x 8, current 3840 x 1260, maximum 32767 x 32767
HDMI-0 connected 1920x1080+1920+180 (normal left inverted right x axis y axis) 521mm x 293mm
   1920x1080     60.00*+  59.94    50.00 ... 

eDP-1-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1920x1080    144.00*+ 144.00    60.00 ...  

Run Code Online (Sandbox Code Playgroud)