snes9x-gtk is a GTK port of the Super Nintendo Emulator, Snes9x. It has a full featured GUI, working netplay, controller support, OpenGL or Xvideo rendering plus much more.
Building Instructions:
Building from Patch
Extract the patch tarball over your extracted copy of the Snes9x source. Then from the source directory run:
snes9x-1.51-src$ patch -p1 < snes9x-gtk.diff
snes9x-1.51-src$ autoconf
Continue building from source.
Building from Source
Run the configure script from the source directory with the --with-gtk flag. If you want OpenGL support, also add the --with-opengl flag. For example:
snes9x-1.51-src$ ./configure --prefix=/usr --with-gtk --with-opengl
You can also add whatever other flags you like.
Depending on where your OS puts certain things, and if you've built some dependencies from source, you may need to specify some pkg-config paths. If you experience errors, use a configure command like this instead:
snes9x-1.51-src$ PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/local/lib/pkgconfig" ./configure --with-gtk --with-opengl
Then run 'make'
snes9x-1.51-src$ make
This'll produce a snes9x-gtk executable file in the source directory. Copy it, run it, whatever. If you want to install everything, execute the following with super-user privileges:
snes9x-1.51-src# make install
Notes:
Generally, it works like Snes9x does. If you can't find an option in the relatively simple GUI, you can use the same command-line arguments as you normally would in, for example, the unix port.
OSS/ALSA issue with PortAudio
If PortAudio is built with ALSA support, ALSA will need to be installed to function. If you use OSS only and have removed some ALSA packages from your system, you will need to make sure PortAudio isn't compiled with ALSA support. See http://www.snes9x.com/phpbb2/viewtopic.php?t=3703&start=141.
Joystick Support
Previously, this port used libjsw for joystick support. As it turns out, libjsw supports very few operating systems, so I switched to SDL. libjsw will mess with your kernel joystick calibration on Linux, so you'll probably need to restart if you've calibrated on your current boot.
Product's homepage
Requirements:
· GTK 2.10 or greater
· PortAudio
· gtkglext
· SDL 1.2.12 or greater
What's New in This Release: [ read full changelog ]
· Rebuilt IRQ handling.
· Improved overall timings.
· Improved screen interlace and sprite interlace supports.
· Fixed Hi-Res pixel plotter.
· Fixed C4 for Mega Man X2's "weapon get" screen.
· Fixed Super Buster Bros. graphics after reset.
· Improved SA-1 support.
· Added SA-1 CC2 support.
· Fixed SA-1 NMI override mode.
· Fixed Dual Orb 2 sound glitch.
· New APU timing hack, fixes various games that exhibit problems with Blargg's SNES_SPC library.
· Fixed the problem that echo buffer breaks IPL ROM.
· Fixed movie snapshot unfreeze inconsistency.
· Faster config file saving.
· Fixed BlockInvalidVRAMAccess config file option. (windows port, unix port and gtk legacy config)
· Remove POSIX dup and access calls, and rename qword to fix compilation with Cell SDK.
· Fixed PS3 version save state crash by using heap allocation for soundsnapshot.
· Fixed crash relating to double-closed descriptor.
· Removed CPUShutdown speedhack, DisableHDMA and DisableIRQ options.
· Removed remaining outdated asm code.
· JMA 64 bit support.
· GTK+, Win32, Mac: Added optional Hi-Res blending.
· GTK+, Win32: Support for bsnes-style XML shaders.
· Unix : Fixed segfault and hang-up with -DNOSOUND.
· GTK+ : Added ability to set specific folders for SRAM, patches, snapshots, etc.
· GTK+ : Fixed many permissions issues with config folders.
· GTK+ : Updated compatibility with latest GTK+ and GtkBuilder. Added experimental support for GTK+ 3.x.
· GTK+ : Updated software output to use cairo and added the ability to use bilinear-filtering with it.
· GTK+ : Fixed issues where cheats wouldn't stay enabled.
· GTK+ : Fixed focus issue when there is no window manager.
· GTK+ : Fixed X Visual incompatibilities and expose problems in the Xv and OpenGL outputs.
· GTK+ : Fixed vsync with new X Server and NVIDIA drivers.
· GTK+ : Added "Reduce input lag" option to OpenGL output.
· GTK+ : Added a visual indication of the expected video refresh rate for the currently selected sound input rate.