LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1637|回复: 9

[已解决]装了nvidia驱动opengl没有正常工作(程序无法调用opengl的兄弟可参考)

[复制链接]
发表于 2007-4-28 17:08:25 | 显示全部楼层 |阅读模式
我的显卡是nvidia geforce go 7700
emerge的nvidia-drivers 1.0.9755-r1
eselect opengl set nvidia也作了。
之前一直用的beryl,感觉beryl不太稳定,就卸了。

突然想玩quake3,就unmask了quake3,
装好,也复制了pak0.pk3,结果不能启动

报错信息如下:
  1. ...loading libGL.so.1:
  2. Calling SDL_Init(SDL_INIT_VIDEO)...
  3. SDL_Init(SDL_INIT_VIDEO) passed.
  4. QGL_Init: Can't load libGL.so.1 from /etc/ld.so.conf or current dir: No dynamic GL support in video driver
  5. failed
  6. ----- CL_Shutdown -----
  7. RE_Shutdown( 1 )
  8. -----------------------
  9. Sys_Error: GLimp_Init() - could not load OpenGL subsystem
复制代码


我google了好半天,查了nv还有ioquake3的论坛
按照找到的方法整了半天也没起作用。。
但是我运行glxinfo |grep dir
显示:direct rendering: Yes

运行glxgears,FPS在9000以上

于是我为了测试,使用opengl的USE emerge了supertux
但是supertux里不能设置opengl,一设置就弹出
运行 supertux --opengl
报错:
  1. The Simple DirectMedia error that occured was:
  2. X11 driver not configured with OpenGL

  3. Segmentation fault
复制代码


兄弟们有什么建议吗?
 楼主| 发表于 2007-4-28 18:34:03 | 显示全部楼层
自己顶一下。
回复 支持 反对

使用道具 举报

发表于 2007-4-28 21:35:05 | 显示全部楼层
错误报告是你没有libGL.so.1这个文件
或者说这个文件所在路径不在/etc/ld.so.conf里
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-28 21:50:49 | 显示全部楼层
locate libGL.so.1
  1. /usr/lib/libGL.so.1
  2. /usr/lib/opengl/xorg-x11/lib/libGL.so.1
  3. /usr/lib/opengl/xorg-x11/lib/libGL.so.1.2
  4. /usr/lib/opengl/nvidia/lib/libGL.so.1
  5. /usr/lib/opengl/nvidia/lib/libGL.so.1.0.9755
复制代码


cat /etc/ld.so.conf
  1. # ld.so.conf autogenerated by env-update; make all changes to
  2. # contents of /etc/env.d directory
  3. /usr/local/lib
  4. /usr/lib/opengl/nvidia/lib
  5. /usr/i686-pc-linux-gnu/lib
  6. /usr/lib/gcc/i686-pc-linux-gnu/4.1.1
  7. /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.6
  8. /usr/lib/nspr
  9. /usr/lib/nss
  10. /usr/lib/openmotif-2.2
  11. /usr/kde/3.5/lib
  12. /usr/qt/3/lib
  13. /usr/games/lib
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-4-28 22:33:39 | 显示全部楼层
no idea
回复 支持 反对

使用道具 举报

发表于 2007-4-29 09:28:31 | 显示全部楼层
nvidia驱动极易被破坏,无关痛痒的升级后有时都要重装过。一般我用opengl的屏保判断nvidia驱动是否损坏。emerge的驱动,我是从来没成功过,不妨试试sh。
前天升级了xorg-server,9755居然起不来,退回96xx又好了。
回复 支持 反对

使用道具 举报

发表于 2007-4-29 13:52:47 | 显示全部楼层
这个问题我遇到过,你看看你的libGL.so.1是不是链接到另外的文件了,不是链接到9755的那个。我遇到的就是,libGL.so都是对的,就这个.1的被改了,呵呵。
最好这样检测一下:
ls -l /usr/lib/libGL*
,看看对不对。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-29 17:29:12 | 显示全部楼层
三翻领兄说的sh是指下载驱动手动安装吗?
我刚才测试了下,kde下的opengl屏保确实打不开。。

不过我觉得Beryl能够正常工作至少说明nvidia驱动工作正常吧。。
我再试试看吧。
不管怎样,先谢谢大家的回复了~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-29 22:18:07 | 显示全部楼层
哈哈,终于我搞定quake3了。
不是驱动的问题。nvidia的驱动是好的。
我搜了下gentoo的forums,
在一个关于quake4的topic里找到的答案:
原来我emerge libsdl包的时候没有带opengl的USE

加了opengl的USE后我remerge了libsdl
现在quake3和supertux都正常了。

谢谢各位兄弟的关注及提醒。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-29 22:31:09 | 显示全部楼层
再罗唆一句,对于libsdl,emerge的时候注意不要有带no的USE,比如nojoystick,这样也会引起opengl相关的错误。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表