Ubuntu 11.04 最近的 X11 更新破坏了 OpenGL

Ubuntu 11.04 最近的 X11 更新破坏了 OpenGL

在安装最新的 X11 更新(使用更新管理器)后,似乎 OpenGL 支持已从我的计算机中消失。我有一块 NVIDIA GeForce 9600M 显卡,并安装了专有的 NVIDIA 驱动程序(270.41.06)。通过先前的研究(特别是Ubuntu 论坛上的这篇文章) 我开始相信,最近对 X11 的更新和我重新安装的 NVIDIA 显卡驱动程序的某种组合破坏了我计算机上 OpenGL 库的链接。

glxinfo 的输出:

$ glxinfo
name of display: :0.0
Error: couldn't find RGB GLX visual or fbconfig

我的系统上安装的 OpenGL 库列表(我认为):

$ find /usr -name libGL.*
/usr/lib/nvidia-173/libGL.so
/usr/lib/nvidia-173/libGL.so.173.14.30
/usr/lib/nvidia-173/libGL.so.1
/usr/lib/libGL.so
/usr/lib/nvidia-current/libGL.so.270.41.06
/usr/lib/nvidia-current/libGL.so
/usr/lib/nvidia-current/libGL.so.1
/usr/lib/mesa/libGL.so.1.2
/usr/lib/mesa/libGL.so
/usr/lib/mesa/libGL.so.1
/usr/lib/libGL.so.1

当我以 root 身份运行时,我得到了相同的输出。我认为答案可能在我发布的链接中 - 不幸的是我无法解析正在讨论的内容。我会将我对 Linux 的了解归类为“足以非常危险”。

任何想法如何解决这一问题?

更新:根据要求,提供更多信息

$ldd /usr/bin/glxinfo

linux-gate.so.1 =>  (0xb7830000)
libGL.so.1 => /usr/lib/libGL.so.1 (0xb77c4000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb76a9000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7547000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb7538000)
libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xb7534000)
libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xb752e000)
libXxf86vm.so.1 => /usr/lib/i386-linux-gnu/libXxf86vm.so.1 (0xb7528000)
libdrm.so.2 => /lib/i386-linux-gnu/libdrm.so.2 (0xb751d000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7504000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7500000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb7415000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb73ef000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb73d2000)
/lib/ld-linux.so.2 (0xb7831000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb73b9000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb73b0000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb73ac000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb73a6000)


$lsmod | grep nvidia
Module                  Size  Used by
cryptd                 19801  0 
aes_i586               16956  2 
aes_generic            38023  1 aes_i586
binfmt_misc            13213  1 
parport_pc             32111  0 
ppdev                  12849  0 
vesafb                 13449  1 
snd_hda_codec_hdmi     27535  1 
snd_hda_codec_realtek   255882  1 
nvidia               9766978  32 
snd_hda_intel          24140  4 
snd_hda_codec          90901  3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep              13274  1 snd_hda_codec
snd_pcm                80042  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_seq_midi           13132  0 
arc4                   12473  2 
snd_rawmidi            25269  1 snd_seq_midi
snd_seq_midi_event     14475  1 snd_seq_midi
snd_seq                51291  2 snd_seq_midi,snd_seq_midi_event
snd_timer              28659  2 snd_pcm,snd_seq
snd_seq_device         14110  3 snd_seq_midi,snd_rawmidi,snd_seq
iwlagn                284778  0 
iwlcore               148965  1 iwlagn
mac80211              257001  2 iwlagn,iwlcore
cfg80211              156212  3 iwlagn,iwlcore,mac80211
snd                    55295  17     snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
psmouse                59039  0 
uvcvideo               66851  0 
videodev               75143  1 uvcvideo
soundcore              12600  1 snd
snd_page_alloc         14073  2 snd_hda_intel,snd_pcm
video                  18951  0 
serio_raw              12990  0 
joydev                 17322  0 
lp                     13349  0 
parport                36746  3 parport_pc,ppdev,lp
usbhid                 41704  0 
hid                    77084  1 usbhid
usb_storage            43946  0 
uas                    17676  0 
ahci                   21591  3 
atl1e                  32576  0 
libahci                25548  1 ahci

如果我可以提供任何其他信息,请告知我。

答案1

不幸的是,Ubuntu 和 Windows 很像,所以我建议你卸载然后重新安装 nvidia 驱动程序。你可以用两种方法做到这一点。

1) 卸载 Nvidia 驱动程序,然后让 Ubuntu 重新安装它们。我通常从终端执行此操作

sudo su
dpkg --get-selections | grep -i nvidia
apt-get --purge remove nvidia-pkg

注意:nvidia-pkg 应该用 get-selections 的输出替换。

然后我会重新启动,Ubuntu 会提示你安装 NVidia 的限制驱动程序。我喜欢 nvidia-current(目前有 5 个版本可供选择)。

2) 您可以尝试使用 Nvidia.com 上的安装程序,这可能能让一切顺利进行,但它会覆盖 Ubuntu 管理的内容。一般来说,如果可以的话,我会尽量避免安装包管理器之外的任何东西,但 Nvidia 驱动程序是我通常会打破这条规则的一件事。

希望它能对你有所帮助。

相关内容