不支持 OpenGL GLX 扩展 [英] OpenGL GLX extension not supported

查看:45
本文介绍了不支持 OpenGL GLX 扩展的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 Ubuntu 10.04 中安装了 OpenGL 和 freeglut,它在 10.04 和 10.10 中运行良好.但是在我升级到 11.04 之后,我使用 OpenGL 开发的应用程序无法正常运行.它们编译时没有错误,但是当我尝试执行它们时,出现错误:

对于 GLUT:

Xlib:显示:0.0"上缺少扩展GLX".freeglut (./a.out): 显示 ':0.0' 不支持 OpenGL GLX 扩展

仅适用于 OpenGL:

Xlib:显示:0.0"上缺少扩展GLX".main: X server 没有 OpenGL GLX 扩展

我尝试过的一些事情:

<块引用>

$glxgearsXlib:显示:0.0"上缺少扩展GLX".错误:无法获得 RGB、双缓冲视觉效果$glxinfo显示名称::0.0Xlib:显示:0.0"上缺少扩展GLX".Xlib:显示:0.0"上缺少扩展GLX".Xlib:显示:0.0"上缺少扩展GLX".Xlib:显示:0.0"上缺少扩展GLX".Xlib:显示:0.0"上缺少扩展GLX".错误:找不到 RGB GLX visual 或 fbconfigXlib:显示:0.0"上缺少扩展GLX".Xlib:显示:0.0"上缺少扩展GLX".Xlib:显示:0.0"上缺少扩展GLX".Xlib:显示:0.0"上缺少扩展GLX".Xlib:显示:0.0"上缺少扩展GLX".Xlib:显示:0.0"上缺少扩展GLX".Xlib:显示:0.0"上缺少扩展GLX".

这不太可能是因为我没有显卡驱动程序,因为我只有板载显卡.

这是我从 sysinfo 获取的系统图形信息

<块引用>

$sysinfo显卡VGA控制器英特尔公司 Mobile 4 系列芯片组集成图形控制器(修订版 07)(prog-if 00 [VGA 控制器])子系统:Toshiba America Info Systems Device ff50

看来我为此安装了驱动程序.

<块引用>

$lshw -C 显示*-显示:0描述:VGA兼容控制器产品:Mobile 4 系列芯片组集成图形控制器供应商:英特尔公司物理 ID:2巴士信息:pci@0000:00:02.0版本:07宽度:64位时钟:33MHz功能:msi pm vga_controller bus_master cap_list rom配置:驱动程序=i915 延迟=0资源:irq:44 内存:f4000000-f43ffffff 内存:d0000000-dffffff ioport:1800(大小=8)

查看配置:驱动程序="

解决方案

这些消息只是告诉您,您的图形驱动程序安装不正确.GLX 是 X11 协议的扩展,用于使 OpenGL 在 X11 窗口中工作.启用 GLX 的系统由 3 个部分组成:

  • 一个内核模块,与 GPU 进行通信(这可以是 Linux-Kernel DRM,也可以是 ATI/AMD 的 fglrx 或 NVidia 的 nvidia).
  • 一个 X 服务器 GLX 扩展模块,与内核模块通信,将 OpenGL 操作转换为 GPU 特定的命令.
  • 客户端 libGL.so 也实现了 GLX 协议.Mesa 有基于 DRI2 的 libGL,以及 ATI/AMD 或 NVidia 的专有 libGL.so.

要使 OpenGL 正常工作,必须正确安装和加载这三个组件才能协调工作.如果不是这种情况,您将无法使用 OpenGL(或只能使用软件光栅化器,该软件在您的系统上也未正确安装).

I had installed OpenGL and freeglut in Ubuntu 10.04 and it worked fine in 10.04 and 10.10. But after I upgraded to 11.04, the applications I've developed using OpenGL is not running properly. They're compiling without errors, but when I try to execute them, I get there errors:

For GLUT:

Xlib:  extension "GLX" missing on display ":0.0".
freeglut (./a.out): OpenGL GLX extension not supported by display ':0.0'

For just OpenGL:

Xlib:  extension "GLX" missing on display ":0.0".
main: X server has no OpenGL GLX extension

A few things I tried:

$glxgears
Xlib:  extension "GLX" missing on display ":0.0".
Error: couldn't get an RGB, Double-buffered visual


$glxinfo
name of display: :0.0
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Error: couldn't find RGB GLX visual or fbconfig

Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".

Edit: It is unlikely that this is because I don't have the graphics drivers as all I have is on board graphics.

This is my system graphics information from sysinfo

$sysinfo
GRAPHIC CARD
      VGA controller
    Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) (prog-if 00 [VGA controller])
    Subsystem: Toshiba America Info Systems Device ff50

Edit 2: And it seems I have a driver installed for that.

$lshw -C display
  *-display:0             
       description: VGA compatible controller
       product: Mobile 4 Series Chipset Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 07
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:44 memory:f4000000-f43fffff memory:d0000000-dfffffff ioport:1800(size=8)

Look at "configuration: driver="

解决方案

Those messages simply tell you, that your graphics drivers are not installed properly. GLX is the extension of the X11 protocol for making OpenGL work in X11 windows. There are 3 parts to a GLX enabled system:

  • A kernel module, doing the talking to the GPU (this is either the Linux-Kernel DRM, or fglrx of ATI/AMD or nvidia from NVidia).
  • A X server GLX extension module, talking to the kernel module, converting OpenGL operations into the GPU specifric commands.
  • The client side libGL.so which also implements the GLX protocol. There's the DRI2 based libGL of Mesa, and the proprietary libGL.so of either ATI/AMD or NVidia.

For OpenGL to work properly those three components must be properly installed and loaded to work in harmony. If that's not the case you won't be able to use OpenGL (or only use a software rasterizer, which is not properly installed either on your system).

这篇关于不支持 OpenGL GLX 扩展的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆