Category: SNESbsnes v0.028 has been released. 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
:: bsnes Official Site