升级了 Nvidia 官方驱动后, Mesa代码编译的库使用有问题

CaspianSea 2013-05-19 11:35:00
最近升级了显卡驱动,程序是NVIDIA-Linux-x86-319.17.run
然后,使用 Mesa源代码(MesaLib-9.1.2)编译出的opengl用起来就有问题了。
如果执行 一个 demo 程序,会报错:
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib/swrast_dri.so
libGL error: dlopen /usr/lib/swrast_dri.so failed (/usr/lib/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib/tls/swrast_dri.so
libGL error: dlopen /usr/lib/tls/swrast_dri.so failed (/usr/lib/tls/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
freeglut (./a.out): ERROR: Internal error <FBConfig with necessary capabilities not found> in function fgOpenWindow

ldd a.out
linux-gate.so.1 => (0xb779b000)
libGLU.so.1 => /usr/local/private/lib/libGLU.so.1 (0xb7713000)
libGL.so.1 => /usr/local/private/lib/libGL.so.1 (0xb76b2000)
libglut.so.3 => /usr/local/private/lib/libglut.so.3 (0xb7676000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74b1000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7485000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb739b000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb737e000)
libglapi.so.0 => /usr/local/private/lib/libglapi.so.0 (0xb735e000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb734c000)
libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xb7348000)
libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xb7342000)
libX11-xcb.so.1 => /usr/lib/i386-linux-gnu/libX11-xcb.so.1 (0xb733f000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb720a000)
libxcb-glx.so.0 => /usr/lib/i386-linux-gnu/libxcb-glx.so.0 (0xb71f2000)
libxcb-dri2.so.0 => /usr/lib/i386-linux-gnu/libxcb-dri2.so.0 (0xb71ed000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb71cc000)
libdrm.so.2 => /usr/lib/i386-linux-gnu/libdrm.so.2 (0xb71bf000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb71a3000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb719e000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb7195000)
libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb7185000)
libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xb717c000)
/lib/ld-linux.so.2 (0xb779c000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb7177000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb7170000)
libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb7166000

如果不使用 mesa源代码编出来的库,则没有问题:
ldd a.out
linux-gate.so.1 => (0xb777c000)
libGLU.so.1 => /usr/lib/i386-linux-gnu/libGLU.so.1 (0xb76e9000)
libGL.so.1 => /usr/lib/libGL.so.1 (0xb75e7000)
libglut.so.3 => /usr/local/private/lib/libglut.so.3 (0xb75ab000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7402000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb73d6000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb72ec000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb72cf000)
libnvidia-tls.so.319.17 => /usr/lib/tls/libnvidia-tls.so.319.17 (0xb72ca000)
libnvidia-glcore.so.319.17 => /usr/lib/libnvidia-glcore.so.319.17 (0xb5303000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb51cf000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb51bd000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb51b8000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb51ae000)
libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb519e000)
libXrandr.so.2 => /usr/lib/i386-linux-gnu/libXrandr.so.2 (0xb5195000)
/lib/ld-linux.so.2 (0xb777d000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb5174000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb5159000)
libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb514e000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb514a000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb5143000)

是不是因为在安装 Nvidia官方驱动的时候,把 Nvidia 的开源驱动 nouveau blacklist了,结果导致 Mesa不支持 在 Nvidia卡上 DRI的功能了?
...全文
359 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010775584 2013-05-21
  • 打赏
  • 举报
回复
感觉好复杂啊
ri_aje 2013-05-21
  • 打赏
  • 举报
回复
有可能吧,我也不是专家,不过 nv 的 linux 驱动确实不爽。
CaspianSea 2013-05-20
  • 打赏
  • 举报
回复
重编了。 而且试了好几个版本。都不行。我怀疑是因为开源的 Nvidia DRI驱动不能了导致的。
ri_aje 2013-05-20
  • 打赏
  • 举报
回复
更新驱动以后,有没有把 Mesa 也重新编译了?

4,446

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧