QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1512|回复: 13

一个困扰了我很久的问题(关于nvidia和xmame的)

[复制链接]
发表于 2004-5-30 23:11:27 | 显示全部楼层 |阅读模式
大家有没有遇到这个问题,就是装了nvidia的3d驱动后,他会把一些opengl的库文件换成自己的,这样再把xmame编译成xgl时,会有一部分游戏无法玩.

比如我的mx440装了nv-5336的驱动后,用xgl作为gui api的xmame就无法玩cps1和neogeo的游戏了,不过较新的一些基板,比如采京的1945ii和1945iii还有gunbird2(武装飞鸟2)以及最新的dragon blaze(龙之光辉)就没问题,但是1945一代和gunbird一代就不行了.老是说

GLINFO: cannot access GLX library libglut.so directly ...
GLERROR: dlerror() returns [libglut.so: cannot open shared object file: No such file or directory]
GLINFO: loaded OpenGL library libGL.so!
GLINFO: loaded GLU    library libGLU.so!
段错误

如果用x11作为api来编译就一点都没问题,但是x11的效果没xgl好,画面很多锯齿,如果打开2xsai等等画面增强效果的话,虽然画面好看了,但是速度下降得很利害.
SDL也差不多,svgalib就就没试过了,估计也应该没xgl好.

记得在以前用比较老的内核和nvidia驱动得时候没有这个问题,但是现在随着驱动升级这个问题就冒出来了.我现在用fc2+xorg+nv5336很是郁闷.

不知道有没有什么解决之道?比如把nvidia的库文件改回公用的?
发表于 2004-5-31 18:16:10 | 显示全部楼层
这只能说明 NV 的驱动支持X11,不支持 xGL …………

卸载记得可以用 ./NVIDIA-XXXXX.run --uninstall

不过我不相信没有 NV 驱动,GL 的性能可以正常……
回复

使用道具 举报

发表于 2004-6-1 09:23:34 | 显示全部楼层
nv的显卡都支持x11的xv特性(无论配合的是XFree86自带的nv驱动——版本4.3以上——还是nv的3d驱动)的,看你的mame的makefile有没有打开xv特性,支持xv特性的mame在x11模式下,可以任意放大窗口而图像没有锯齿,类似sai效果,最重要是,CPU的占用几乎一点都没有增加,因此这个图像放大功能是显卡的硬件计算的

mame的xgl版本一直有兼容性的问题(也许是我一直用NV3d驱动的原因),建议尽量用x11版本
回复

使用道具 举报

 楼主| 发表于 2004-6-1 14:33:32 | 显示全部楼层
xv特性在makefile文件中默认就已经打开了.
在不打开画面增强效果的情况下,x11画面确实比xgl差很多.
x11在打开2xai画面增强效果后画质才能和xgl默认画质相比.

我是说有没有什么办法可以让xgl的mame能够运行所有的游戏?
最好是既使用nvidia的3d驱动,又能让mame用opengl跑得了所有游戏.
回复

使用道具 举报

 楼主| 发表于 2004-6-1 22:30:26 | 显示全部楼层
刚才一时兴起,又去弄了一套windows的mame源码和windows下的gcc等编译工具,再编译一个windows的mame出来(api当然用directx了),不用任何图像增强效果时,和linux下的xgl差不多,比x11强多了.速度上也和xgl差不多,感觉不出区别来.唉,看来linux和windows的图形界面之争归根到底还是directx和opengl这两大图形api之争啊.

但是windows的directx可以玩所有的游戏,而linux用了nv的3d驱动后,xgl就有些游戏不能玩了.也许用ati显卡的朋友们就不存在这个问题吧.

大家都进来看看,帮帮忙出谋划策嘛.
回复

使用道具 举报

发表于 2004-6-2 10:33:55 | 显示全部楼层
你们说的问题怎么我都没有遇到过?

amd 1800+ / geforce 4 ti
P4 2.8 / geforce fx 5900

all compiled xgl with NVIDIA glx hearders, runs quite smoothly.

The documentation about the mame.glx is quite good, in my opinion.
回复

使用道具 举报

 楼主| 发表于 2004-6-2 21:01:01 | 显示全部楼层
可以玩拳皇,stiker 1945一代和gunbird一代吗?
回复

使用道具 举报

 楼主| 发表于 2004-6-3 09:02:54 | 显示全部楼层
实在是没有办法,只好尝试装打了补丁的老驱动了.
先弄一个4463,呵呵,不用不知道,一用吓一跳,glxgear的值由3040fps升到了3222fps,看来windows下面关于nvidia老显卡用老驱动,新显卡用新驱动的理论一样适用啊!
不过仍然有glx的兼容性问题.
再试试3123的驱动,这下好了,glx无法加载了.
我已在硬件版发了帖子,希望有人帮我解决.我记得以前用redhat8的时候,当时用的
nv驱动是没有这个glx的兼容性问题的.
回复

使用道具 举报

 楼主| 发表于 2004-6-4 14:03:58 | 显示全部楼层
探索中...............

今天仔细研究了一下xmame的Makefile,发现了如下一段代码
# Uncomment depending on which is supplying GLX functions.  nVidia uses
# libglx, Mesa/SGI use libglut
GLCFLAGS+=-DGLXLIB_NAME='\"libglut.so\"'
# GLCFLAGS+=-DGLXLIB_NAME='\"libglx.so\"'

惊喜之余马上将GLCFLAGS+=-DGLXLIB_NAME='\"libglut.so\"'注释掉,
改用GLCFLAGS+=-DGLXLIB_NAME='\"libglx.so\"'这一行,重新编译一遍.

可是,又让大家失望了!!!!!!!!!!!!
neogeo的游戏仍然不能play.

马上狂find,功夫不负有心人,居然在4463的驱动目录中找到了glx.h,gl.h和glxtoken.h这3个头文件!!!!在细看readme,原来驱动在默认情况下不安装这3个头文件,除非加了参数指明或者手动拷贝到/usr/include/GL/下,马上将原文件备份,再copy过去,不过这次问题又来了,编译无法通过!!!!!!
提示如下:
Compiling src/unix/video.c ...
In file included from /usr/include/GL/glx.h:27,
                 from video-drivers/gltool.h:53,
                 from video-drivers/glmame.h:35,
                 from video.c:10:
/usr/X11R6/include/X11/Xmd.h:132: error: conflicting types for `INT32'
osd_cpu.h:46: error: previous declaration of `INT32'
make[1]: *** [../../xneomame.obj/unix.xgl/video.o] 错误 1
make[1]: Leaving directory `/usr/local/src/games/xmame/xmame-0.77.1/src/unix'
make: *** [osdepend] 错误 2
看来只要把这个'INT 32'类型搞定,就应该可以了,解决问题的目标已经很明显了,就是这几个头文件和libGLU有调用上的问题.
我编程不是很好,主要是没有学过opengl编程,所以查看源码搞了半天也没有解决问题.希望哪位搞开发的大虾能解决一下这个问题.那么,我想nvidia驱动的glx兼容性问题也就算是彻底解决了.

继续探索中..........



路漫漫其修远兮,吾将上下而求索.
回复

使用道具 举报

 楼主| 发表于 2004-6-8 13:11:05 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2004-6-14 08:39:34 | 显示全部楼层
再顶
回复

使用道具 举报

发表于 2004-6-14 09:49:36 | 显示全部楼层
…………
回复

使用道具 举报

发表于 2004-6-15 12:11:28 | 显示全部楼层
用SDL阿。。。很好的...
回复

使用道具 举报

 楼主| 发表于 2004-6-16 11:42:57 | 显示全部楼层
SDL的画质好垃圾哦,又不能随窗口一起放大缩小,全屏也不爽.
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-2 18:27 , Processed in 0.067332 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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