【问题标题】:Error when running OpenGL application in Cygwin: GLXBadFBConfig在 Cygwin 中运行 OpenGL 应用程序时出错:GLXBadFBConfig
【发布时间】:2015-07-31 12:41:14
【问题描述】:

我正在 Cygwin/X 中运行一个带有 glew 和 freeglut 的演示程序。程序请求 OpenGL 3.3。我收到了这个错误:

X Error of failed request:  GLXBadFBConfig
  Major opcode of failed request:  149 (GLX)
  Minor opcode of failed request:  34 ()
  Serial number of failed request:  386
  Current serial number in output stream:  385

导出LIBGL_DEBUG=verbose时,返回如下:

libGL: enabled GLX_SGI_make_current_read
libGL: enabled GLX_SGI_swap_control
libGL: enabled GLX_MESA_swap_control
libGL: enabled GLX_SGIX_pbuffer
libGL: enabled GLX_ARB_multisample
libGL: enabled GLX_SGIS_multisample
libGL: enabled GLX_ARB_create_context
libGL: enabled GLX_ARB_create_context_profile
libGL: enabled GLX_MESA_copy_sub_buffer
X Error of failed request:  GLXBadFBConfig
  Major opcode of failed request:  149 (GLX)
  Minor opcode of failed request:  34 ()
  Serial number of failed request:  386
  Current serial number in output stream:  385

我在一个 Xterm 中运行程序,它是随环境启动的

export LIBGL_USE_WGL=1

glewinfo | grep OpenGL 返回如下:

OpenGL version 4.5.13397 Compatibility Profile Context 15.200.1046.0 is supported

但如果我使用 Mesa,它只支持 OpenGL 3.0。

我使用指定 OpenGL 版本

glutInitContexVersion(3, 3)

,GLSL着色器中的版本字符串为

#version 330

我已经升级了 Windows 中安装的所有驱动程序。

该程序在提供here 的 SDK 下运行良好,没有 glew,它使用 SDK 加载 OpenGL 函数。但我希望它在没有 SDK 的情况下运行,所以我使用 glew。

我想在 Windows 中运行这个程序,所以我想继续使用 Cygwin/X。我是否必须安装一些额外的 Cygwin 软件包或使用一些额外的参数配置 Cygwin/X?

【问题讨论】:

  • 你有英特尔 GPU 吗?我在带有 HD5500 的 i5 上的 10.5 Mesa 在兼容性配置文件中不支持 OpenGL 3.3,仅支持核心。您是否尝试过添加 glutIntContextProfile(GLUT_CORE_PROFILE)?
  • @HughFisher 不,我使用 AMD Radeon HD 7660G。而且我已经指定了一个核心配置文件。

标签: opengl cygwin x11


【解决方案1】:

您尝试通过 Cygwin X11 服务器使用 GLX 运行 OpenGL。 Windows GDI 服务器上的 Cygwin X.org 根本不支持您请求的 OpenGL 配置文件。

当涉及到访问 GPU 的 API 时,您应该始终使用 native 端口,在您的情况下,这意味着链接到普通的 Windows opengl32.lib(而不是 Cygwin 的 libGL.so)和使用使用 WGL 而不是 GLX 的 FreeGLUT 和 GLEW 构建。

最简单的方法不是使用 Cygwin,而是使用 MinGW。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 2011-05-25
    • 2015-02-08
    • 1970-01-01
    相关资源
    最近更新 更多