Click to See Complete Forum and Search --> : Anybody use ZSNES (the SNES emulator)


Jomboni
02-16-2002, 12:57 AM
I just downloaded and compiled version 1.337 (I wonder if the version number is intentional) today. Now, I've always been an avid user of this under Windows, and it's great, the games run full speed and the sound is perfect 99% of the time. But under Linux, it's a bit slower and the sound is choppy, not too bad, but it's noticably worse than in Windows. Is this normal? I really don't know what else to say. I just did ./configure, make, make install and then ran zsnes. Any ideas? If I can get this working acceptably I can just about dump Windows :)

bwkaz
02-16-2002, 10:56 AM
It doesn't seem too bad on this machine.

In install.txt, it says you need SDL and SDL-devel installed, along with zlib, libpng (quoting from that file: "ZSNES will compile without PNG support, but I have found doing so makes ZSNES unstable for some weird reason"), and the NASM v0.98 found at http://www.kernel.org/pub/software/devel/nasm/

Without these, you might see a performance hit, but then again, maybe not. Are your 3D drivers installed correctly (i.e. you're using DRI for any cards that aren't nVidia, and you have nVidia's kernel and GLX drivers installed if you're using one of their cards)? Because zsnes uses the image it wants to display as a changing OpenGL texture, so if your texture mapping is done in software, that could cause the performance hit that slows down the sound processing and introduces chops.

The other thing might be the configure options. Try ./configure --with-opengl --with-png --disable-debug (these do appear to be the defaults, but you never know). Oh, one other thing might help too. If you set your CFLAGS and CXXFLAGS environment variables during configure, they'll be used as extra options to gcc and g++. I'd say try setting them both to "-O3 -march=i686", assuming you have a Pentium Pro/2/3 or compatible (I believe this means AMDs also) processor.

Did you use upx (whatever that is) to compress it? That might slow it down too, if it has to decompress before running.

Jomboni
02-16-2002, 11:52 AM
I have SDL 1.2.3 and the appropriate SDL-devel installed, and I have libpng 1.0.12-2. For my video card I've got a Geforce 2 and Nvidia's drivers installed. Not thinking that that may have had something to do with it, I just fired up Unreal Tournament and Wolfenstein, and they both ran silky smooth. I didn't compress it with upx.

I'll try compiling it with the options you mentioned and see what happens :)

Also - the documentation says to compile with gmake instead of make - is there any difference between these 2? It compiled successfully for me both ways.

bwkaz
02-16-2002, 01:12 PM
I'm not sure what it's talking about with gmake. It doesn't even exist on this system (of course, that's because this is LFS and I never compiled it or anything), but on other Unices it's sometimes the GNU version of make, as opposed to the vendor's make. On Linux, it's almost always just a symlink to make, because almost every Linux won't have anything different from GNU make.

Yeah, try the flags, otherwise I'm not really sure what to do. If UT and Wolfenstein both worked fine, then it's not the video card or anything like that.

Hmmmm......

Jomboni
02-16-2002, 02:18 PM
Ok, one thing. I've never had to set my CFLASGS or CXXFLAGS variables. I don't know how to do this! :( I did a search for them on this board and it brought up a bunch of posts about changing them but never actually says how. Drat.

I recently recompiled my kernel to support my cpu (athlon) but it is still compiling software for a normal i386 instead of i686 - could this be why?

bwkaz
02-16-2002, 02:58 PM
Could be. CFLAGS and CXXFLAGS are just normal shell variables that (most) configure scripts read when they get run. In bash, you set them like so:

export CFLAGS="-O3 -march=i686"
export CXXFLAGS=$CFLAGS

In csh or tcsh, it's like this:

setenv CFLAGS "-O3 -march=i686"
setenv CXXFLAGS $CFLAGS

You're most likely running bash, but if the shell complains that export isn't found, try the other syntax.

[ 16 February 2002: Message edited by: bwkaz ]