免责声明:我看到针对完全相同的问题提出了一些建议,但是(类似的)帖子已迁移到 SuperUsers 并且似乎已被删除。但是,我仍然想在这里发布我的问题,因为我认为它与软件/编程相关的程度不足以在 SuperUsers 上发布(有时软件和硬件问题之间的界限很模糊)。
我在 VirtualBox 中的 Code::Blocks 中运行一个非常简单的 OpenGL 程序,Ubuntu 11.10 安装在 SSD 上。每当我构建和运行程序时,我都会收到以下错误:
- OpenGL 警告:XGetVisualInfo 为 0x232dbe0 返回 0 个视觉效果
- OpenGL 警告:使用 0x802 重试返回 0 个视觉效果
- 分段故障
从我到目前为止收集到的信息来看,这与 VirtualBox 相关。我需要设置
- LIBGL_ALWAYS_INDIRECT=1
换句话说,通过 X.org 启用间接渲染,而不是直接与硬件通信。这个问题可能与我拥有 ATI 卡这一事实无关,因为我有一台笔记本电脑,其 ATI 卡可以完美地运行相同的程序。
不过,我不敢说我的 GPU 是 ATI 的事实根本没有任何作用。我也不确定驱动程序是否安装正确(它在系统信息->图形->图形驱动程序下显示:Chromium。)
任何有关如何设置 LIBGL_ALWAYS_INDIRECT=1 的帮助将不胜感激。我只是不知道在哪里放置这个命令或在哪里/如何在终端中执行它。
资料来源:
编辑:在终端类型中:
export LIBGL_ALWAYS_INDIRECT = 1
要验证直接渲染是否关闭:
glxinfo | grep direct
但是,问题仍然存在。我仍然会提到 OpenGL 警告和分段错误。