我目前正在将开源 OpenGL 游戏移植到 OpenGL ES。目标设备运行 Linux,CPU 相对较弱(ARM11 系列,带 FPU)。它有一个 OpenGL ES 加速器,但没有一个 OpenGL 加速器。
最初,我希望使用另一台 Linux 机器上的加速 OpenGL 实例来运行现有的 OpenGL-GLX-X11 实现 - 例如,带有 Radeon X1650 Pro 的 Athlon X2。这将有助于验证是否存在需要从高级别解决的严重 CPU 瓶颈。
我设法设置了 X11 连接的 SSH 转发。glxinfo 和 glxgears 程序运行,但与本地运行的 glxgears(60fps 和 vsync)相比,后者的性能非常差(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。强迫我想要发生的事情的最好方法是什么?