Remote X Server在通过`ssh -X`相对于远程端`/ usr / bin / X`启动时使用不同的OpenGL渲染器-为什么?

问题描述 投票:0回答:1

[我们试图通过Nvidia GPU和驱动程序在远程Ubuntu服务器上运行glxinfoglxgears,同时通过XQuartz将显示转发到本地Mac。

[我们已经注意到OpenGL使用不同的渲染器(专用GPU与板载图形),具体取决于是通过Mac上的ssh -X还是通过远程sudo /usr/bin/X内部的per this tutorial启动远程X服务器。

案例1

如果我们在服务器上执行sudo /usr/bin/X :0 &,然后在DISPLAY=:0 glxinfo |grep -i OpenGL上执行,则OpenGL渲染器将指向我们想要的NVIDIA GPU:

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 418.67

但是DISPLAY=:0 glxgears显然会在名为Display 0的远程X服务器上呈现glxgears,这与在Mac上运行ssh -X时启动的远程X服务器不同(根据情况2)。

这意味着我们无法看到转发的输出,因为XQuartz未连接到Display 0。

案例2

[当我们在Mac上通过ssh -X -i ~/.ssh/publickey [email protected]在远程计算机上通过some.ip创建显示,然后运行glxinfo | grep -i OpenGL时,OpenGL渲染器将指向板载图形:

OpenGL renderer string: AMD Radeon Pro 560 OpenGL Engine

我们可以在遥控器上运行echo $DISPLAY,并且注意到该X服务器(通常)称为Display 10。

因此,运行DISPLAY=:10 glxgears或仅运行glxgears确实允许我们将齿轮转发到Mac端XQuartz客户端,但是通过远程计算机的机载图形进行渲染很慢。

为什么在这两种情况下X服务器会选择不同的OpenGL渲染器?它们不是都通过/etc/X11/xorg.conf进行配置吗?

运行ssh -X时是否有强制XQuartz连接到特定显示器的方法?谢谢!

opengl ssh nvidia xorg xserver
1个回答
0
投票

在XQuartz中

$ xhost +$ ssh -Y用户名@服务器

xauth必须安装在服务器上

© www.soinside.com 2019 - 2024. All rights reserved.