我希望能够xrandr
识别我的两张 RTX 3070 Nvidia 显卡。
但是,xrandr 不返回任何内容。
xrandr --listproviders
Providers: number : 0
我正在使用nvidia-prime
和nvidia-driver-530
。
我相信这是由于Xwayland
在其上运行 X 合成层wayland
而不是xorg
直接运行造成的。
虽然我真的不知道这是否真的wayland
是根本原因,但我相信我想wayland
在我的服务器机器(Ubuntu Server 22.04)上禁用所有并xorg
只运行。ssh -X
我正在通过Ubuntu 桌面客户端访问服务器。
xrandr --listmonitors
Monitors: 1
0: +*XWAYLAND15 3840/620x2160/330+0+0 XWAYLAND15
xinput
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ xwayland-pointer:16 id=6 [slave pointer (2)]
⎜ ↳ xwayland-relative-pointer:16 id=7 [slave pointer (2)]
⎜ ↳ xwayland-pointer-gestures:16 id=8 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ xwayland-keyboard:16 id=9 [slave keyboard (3)]
echo $XDG_SESSION_TYPE
tty
loginctl show-session 1 -p Type
Type=tty
我需要什么设置或配置才能xrandr --listproviders
显示 Nvidia 显卡?
我很乐意根据需要提供更多详细信息。
您应该使用像
lshw
和nvidia-smi
when using这样的应用程序ssh -X
,因为它们实际上会在您的远程系统上运行,向您显示该系统中的硬件。 在远程系统上运行ssh -X
时只会显示您的本地显示器和视频卡。xrandr
原因是您在运行这些命令时将显示调用转发给本地主机。lshw
并将nvidia-smi
在远程系统上正常运行并向您展示您拥有的硬件。举个例子,我这里有两位主人并排坐着。一个有 GTX 1060,另一个有 GTX 1650:
本地系统:
远程系统(通过连接
ssh -X
):如您所见,
xrandr
在我的本地主机和远程主机上运行时,该命令将显示完全相同的内容。但是lshw
和nvidia-smi
显示了我需要在两台主机上看到的内容。最终,我试图做的事情似乎是不可能的。
因为我不认为图形软件应该以这种方式在无头 Ubuntu 服务器上运行,所以我安装了
lightdm
这样我可以访问服务器机器上的 GUI,并通过直接视频连接将其直接连接到显示器。安装 GUI 后,所有 Nvidia 卡都被识别,一切似乎都运行良好。