...The major focus of this release was cleaning up the code even more, and greatly enhancing the Linux port to be an equal with the Windows port.
For Linux users, please note that the safest drivers were chosen by default, rather than the most full-featured drivers. The active driver can be changed by editing settings->configuration->advanced->system.(video, audio, input), and then restarting bsnes. You can also edit the drivers by hand, by editing ~/.bsnes/bsnes.cfg
Available Linux drivers are: video ("opengl", "xv", "sdl" (default)), audio ("openal", "oss", "ao" (default)), input ("sdl" (default), "x"). In particular, the SDL video driver and libao audio driver are very poor performers. The SDL video driver lacks hardware accelerated scaling, and runs tremendously slow. The libao audio driver has horrendous, ~150ms+ latency.
OpenGL is the best video driver, but it requires OpenGL graphics libraries to be installed to use. These do not typically come with open-source video drivers. The Xv driver will at least allow hardware accelerated scaling, offering a tremendous speedup, but some ATI drivers have poor (or even missing) X-Video implementations.
OpenAL is the best audio driver, but ALSA works very poorly with it. OSS4 works far better with the OpenAL driver. The OSS driver has the lowest latency (~15-20ms), but requires the most CPU power. It too has problems when using the ALSA emulation layer.
While the SDL input driver is superior to the X driver (and is the default), if your joypad fails to work correctly and prevents you from mapping any keys (highly unlikely), you can always revert to the keyboard-only X driver. The SDL input driver also appears to cause a ~5-8% performance penalty, so if you don't have any joypads, the X driver may be a better choice.
At any rate, I strongly encourage you to try out each driver and choose the ones that work best for you.
OpenGL (with hardware filter mode support) and SDL video drivers added to Linux port
OpenAL (with speed regulation disable support) and OSS audio drivers added to Linux port [Nach]
SDL input driver (with joypad support) added to Linux port
Emulator pause option added
Added option to select behavior of bsnes when idle: allow input, ignore input or pause emulator
Added support to remap common GUI actions to key/joypad presses on the "Input Configuration" screen
bsnes will now clamp the video output size when it is larger than the screen resolution
GUI library has been enhanced, and renamed to hiro
Fullscreen mode now always centers video, rather than approximates
Fullscreen mode now works correctly on Linux/Openbox
Extra layer of abstraction in src/ui has been removed, as GUI lib unifies all ports anyway
Video, audio and input drivers unified into standard library, named ruby
All custom headers have been merged into a new template library, named nall
Makefile rewritten, vastly improved. Allows quick toggling of compiled-in drivers
Makefile: all object files now placed in /src/obj, binary placed in /
libco greatly enhanced, no longer requires an assembler to build [byuu, blargg, Nach]
libco SJLJ driver added; bsnes should now build on any Unix-derivative now (Solaris, OS X, PS3, etc) [Nach]
Fixed register $213e.d4 PPU1 open bus behavior [zones]
Windows port will not activate screensaver while bsnes is running [Nightcrawler]
Visual C++ target no longer requires stdint.h
And lots more -- mostly code refactoring related
Get it here: