首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xlib:显示":0“上缺少扩展"GLX”

Xlib:显示":0“上缺少扩展"GLX”
EN

Stack Overflow用户
提问于 2013-11-21 15:28:44
回答 1查看 35.6K关注 0票数 1

我正在尝试在Ubuntu 12.04中使用Point Cloud Library。但是,当我执行点云可视化程序时,我得到以下错误:

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

以下是我的系统信息:

代码语言:javascript
复制
$ glxinfo
name of display: :0
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Error: couldn't find RGB GLX visual or fbconfig

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

$ sudo lshw -C display
  *-display
       description: VGA compatible controller
       product: GF106M [GeForce GT 555M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:16 memory:f2000000-f3ffffff memory:d0000000-dfffffff memory:e0000000-e3ffffff ioport:d000(size=128) memory:f4000000-f407ffff
  *-display
       description: VGA compatible controller
       product: 2nd Generation Core Processor Family Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:49 memory:f4400000-f47fffff memory:c0000000-cfffffff ioport:e000(size=64)

因为我的笔记本电脑配备了英伟达Gt555m显卡和擎天柱,所以我试着安装了大黄蜂。但是当我执行apt-get install bumblebee时,我的电脑就会停止并变成黑屏。

我该如何解决这个问题呢?我真的要安装Bumblebee吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-21 19:19:43

有几种方法可以处理Linux - IMHO上Optimus的混乱,所有这些方法现在都取代了使用Bumblebee。来自同一作者的bbswitch (见下文)则是另一回事。

使用PRIME和开源驱动程序的

PRIME总结了David Airlie在GPU1.4中所做的更改,以便能够使用开源驱动程序堆栈将内容卸载到专用XrandR。

对于精确的穿山甲(12.04LTS),你首先需要确保安装了所谓的LTS Hardware Enablement Stack。如果您刚刚安装了最新的LTS单点版本,即12.04.3,那么软件包应该已经是最新版本了。

然后,您需要做的就是调用一些需要使用NVIDIA GPU的程序,如下所示(如glxinfo所示):

代码语言:javascript
复制
DRI_PRIME=1 glxinfo | grep OpenGL

这应该会打印出来

代码语言:javascript
复制
OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on XXXX
OpenGL version string: 3.0 Mesa 9.0
OpenGL shading language version string: 1.30

其中XXXX是您系统中的实际GPU。

仅使用NVIDIA GPU的

此解决方案并不是Optimus的真正用途,即将要求苛刻的3D任务卸载到专用GPU,而所有2D内容和桌面合成都由英特尔GPU处理。使用上述解决方案,您将使用NVIDIA GPU永久渲染。因此,渲染的所有内容都要经过NVIDIA GPU,并且只会使用英特尔GPU显示在屏幕上。

有一个名为nvidia-prime的包,它在12.04.3版本中可用,就我所知,目前还不能对其进行测试。

从驱动程序版本319.12开始,您可以使用XRandR 1.4和专有驱动程序手动配置系统。有关如何执行此操作的信息,请参阅331.13版的最新README

打开和关闭NVIDIA GPU:

要真正从Optimus建议的实际效果中受益,您需要能够在不使用时关闭专用GPU。为此,Bumblebee的作者提出了一个名为bbswitch的内核模块。

bbswitch可用于打开和关闭NVIDIA GPU而无需重新启动X,如果您使用nouveau和PRIME,这是完美的;如果您更喜欢第二种解决方案,则使用X重新启动,即,您可以编写脚本在英特尔和NVIDIA GPU之间来回切换,具体取决于您当前的需求。对于后者,请参阅此页面底部的说明(恐怕是德语的,但您应该能够看到要做什么)。

显然,第一种方案更可取,因为它有点类似于擎天柱,但正如我们所看到的,第二种解决方案并不是真正的按需卸载,因此您不需要在X11会话期间切换GPU,而是在会话之间切换GPU。这就是交换脚本的用武之地。因此,对于浏览、办公和其他工作,您可以在NVIDIA GPU离线时使用英特尔GPU,如果您想做一些OpenGL工作,如游戏或自己的图形开发,您可以切换到NVIDIA GPU。

在能源消耗方面,第二种解决方案并不是那么有害,因为专有驱动程序已经做得很好了-这是开源驱动程序在过去臭名昭著的糟糕之处,因为如果没有逆向工程和社区的帮助,NVIDIA不会发布所需的硬件文档来真正实现正确的电源管理。这是越来越好的now

我希望这是足够的。如果您需要进一步的帮助,请留下评论。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20114918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档