【问题标题】:OpenGL GLX extension not supported不支持 OpenGL GLX 扩展
【发布时间】:2012-01-22 15:16:32
【问题描述】:

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

对于过剩:

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

仅适用于 OpenGL:

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

我尝试了一些事情:

$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".

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

这是来自 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

编辑 2: 看来我已经为此安装了驱动程序。

$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)

看“配置:驱动=”

【问题讨论】:

    标签: opengl ubuntu glut xlib glx


    【解决方案1】:

    这些消息只是告诉您,您的图形驱动程序没有正确安装。 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(或仅使用软件光栅化器,您的系统上也未正确安装)。

    【讨论】:

    • 我只有板载图形。没有显卡。
    • @SparrowG:这没什么区别。你也需要一个驱动程序。
    • 经过一番研究,似乎已经安装了图形驱动程序。我也在更新这个问题。
    • @SparrowG:lshw 只告诉您要安装哪个驱动程序,而不是是否已安装。在您的情况下apt-get install xserver-xorg-video-intel libgl1-mesa-dri libgl1-mesa-glx 并重新启动 X 应该可以解决问题。
    • @Ekevoo:我们可以排除最后一个libgl1-mesa-glx,因为它首先检测到了问题(它正在实现 GLX 客户端,它会通知您,它缺少 GLX服务器上的功能)。查看/var/log/Xorg.<n>.log 文件。 X 服务器会告诉您那里缺少什么。忽略警告(WW),因为总会有一些警告,寻找错误(EE)。
    【解决方案2】:

    你可能需要大黄蜂。但这仅支持 12.04 和 13.10 以上。 官方说明:https://wiki.ubuntu.com/Bumblebee

    您需要打开终端并输入以下命令。

    如果在 12.04.3 上,请将 linux-headers-generic 替换为 linux-headers-generic-lts-raring

    sudo add-apt-repository ppa:bumblebee/stable

    启用 Universe 和 Multiverse 存储库(分别用于 bumblebee 和 nvidia 软件包)。

    sudo apt-get update

    使用默认的专有 nvidia 驱动程序安装 Bumblebee:

    sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic

    重启

    现在应该没事了。

    【讨论】:

    • 在运行 Chrubuntu 运行 12.04.3 LTS 的 Acer C710 上为我工作。
    • 我在 xubuntu 15.10 上运行 cura 时遇到了问题(它挂在渲染上),并且通过一些令人难以置信的奇迹,这解决了它。真的。奇迹。这样的事情永远不会得到解决。
    猜你喜欢
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多