【发布时间】:2012-03-18 16:18:03
【问题描述】:
免责声明: 我看到针对完全相同的问题提出了一些建议,但是(类似的)帖子已迁移到 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 警告和分段错误。
【问题讨论】:
-
在 VM 配置中,您的 3D 加速设置是什么?
标签: opengl segmentation-fault virtualbox ubuntu-11.10