opengl - 通过SSH转发加速的OpenGL GLX

标签 opengl ssh x11 mesa

我当前正在将开源OpenGL游戏移植到OpenGL ES。目标设备运行Linux,并且具有相对较弱的CPU(ARM11系列,带有FPU)。它具有OpenGL ES加速器,但没有OpenGL加速器。

最初,我想使用另一台Linux机器上的加速OpenGL实例(例如,带有Radeon X1650 Pro的Athlon X2)运行现有的OpenGL-GLX-X11实现。这将有助于验证没有严重的CPU瓶颈需要进行高层次的解决。

我设法设置了X11连接的SSH转发。 glxinfo和glxgears程序可以运行,但是与本地运行的glxgears(带vsync的60fps)相比,后者的性能(8fps)非常差。 glxinfo报告指出正在使用直接渲染,这告诉我正在使用本地(对于ARM设备)软件渲染器。

我想要发生的是将OpenGL命令发送到Athlon X2机器并使用Radeon进行加速。我相信我需要为此启用间接渲染。但是,设置LIBGL_ALWAYS_INDIRECT = 1不会更改任何内容。例如:

arm$ LIBGL_ALWAYS_INDIRECT=1 glxinfo | fgrep rendering
direct rendering: Yes
arm$

ARM设备正在运行Gentoo Linux。强制我想发生的最好的方法是什么?

最佳答案

The glxinfo and glxgears programs run, but the latter has very poor performance (8fps) compared to a locally running glxgears (60fps with vsync). The glxinfo report stated that Direct Rendering is being used, which tells me that the local (to the ARM device) software renderer is being used.



我对此有些疑惑。如果在远程显示器上看到OpenGL输出,则意味着将传输图片而不是GLX命令。但是,这意味着主机设备上的libGL.so对于X11知道其输出,但不会使用GLX。

您能否确定哪个软件包在您的ARM设备上提供了libGL.so。我建议您仅使用GLX命令生成和LD_PRELOAD安装单独的libGL.so。

可以配置Mesa3D来构建GLX命令流生成器库。

关于opengl - 通过SSH转发加速的OpenGL GLX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11334807/

相关文章:

ruby-on-rails - Capistrano 3 部署 : fatal: Could not read from remote repository

x11 - 在 Mavericks 上安装 Inkscape

c++ - 剪贴板选择传输不起作用

c++ - 基于四元数的第一人称视角相机

opengl - OpenGL 纹理的纵横比会影响性能吗?

c++ - Qt 5.3。 QWidget直接用OpenGL绘画

linux - 由于 401,无法执行 git pull

java - Android SFTP 可以吗?

linux - 解密 XLoadFont 使用的字体字符串

c++ - 用OpenGL绘制椭球时的问题