13

我在 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)

看“配置:驱动=”

4

2 回答 2

9

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

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

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

于 2011-12-17T14:49:48.883 回答
6

你可能需要大黄蜂。但这仅支持 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

重启

现在一切都应该好了。

于 2013-10-23T14:25:19.327 回答