Unofficial Gnash 0.8.1 build for Win32

Back in July, I ranted about Flash and mentioned Gnash, the GNU Flash movie player. Since then, I’ve gotten into the source and have been working on producing Win32 builds Gnash. You can try these unofficial builds out, if you’re interested:

As of this moment, 0.8.1 is the latest release. Everything “works” although not very well (jittery sound, etc.) — it’s a great start, though.

To get started, just unzip the archive into your Program Files directory–the archive contains the files in a Gnash subdirectory. There’s no self-executing installer for Win32 yet, nor have I built the npgnash.dll browser plugin for Win32, either. I’ll work on those for a future release.

I just discovered that on Win32 in MSYS and/or Cygwin, executing fltk-gnash.exe with no arguments gives you program usage output but under WinXP’s cmd.exe, you get nothing. So, here’s the text you should have gotten from the 0.8.1 build:

Error: no input file was specified.

usage: gnash [options] movie_file.swf

Plays a SWF (Shockwave Flash) movie

  -h, --help    Print this info.
  -s <factor>   Scale the movie up/down by the specified factor
  -c            Produce a core file instead of letting SDL trap it
  -d num        Number of milliseconds to delay in main loop
  -v            Be verbose; i.e. print log messages to stdout
  -va           Be verbose about movie Actions
  -vp           Be verbose about parsing the movie
  -m <bias>     Specify the texture LOD bias (float, default is -1.0)
  -x <id>       X11 Window ID for display
  -w            Produce the disk based debug log
  -j <width>   Set window width
  -k <height>   Set window height
  -1            Play once; exit when/if movie reaches the last frame
  -g            Turn on the Flash debugger
  -r <0|1|2|3>
                0 disables both rendering & sound (good for batch tests)
                1 enables rendering & disables sound
                2 enables sound & disables rendering
                3 enables both rendering & sound (default)
  -t <sec>      Timeout and exit after the specified number of seconds
  -b <bits>     Bit depth of output window (16 or 32, default is 16)
  -u <url>      Set "real" url of the movie
                (useful for downloaded movies)
  -U <url>      Set "base" url for this run
                (used to resolve relative urls, defaults to movie url)
  -P <param>    Set parameter (ie. "FlashVars=A=1&b=2")
  -V, --version Print gnash's version number and exit

  CTRL-Q, CTRL-W, ESC   Quit/Exit
  CTRL-P          Toggle Pause
  CTRL-R          Restart the movie
  CTRL-[ or kp-   Step back one frame
  CTRL-] or kp+   Step forward one frame
  CTRL-B          Toggle background color

Feel free to give the 0.8.1 binaries a try–I’d love to hear how it works for you.

Tags: , , ,


  1. i wonder if compiling with -mwindows is what killed the gnash console output? hmmm

    btw , if you could get gnash to stop creating these gnash-dbg.log files in every directory, that would be great ;)

  2. compn: Thanks, good call! I replaced “-mwindows” with “-lgdi32” and fltk-gnash.exe linked just fine, and now you get program usage text from a cmd.exe prompt! For the 0.8.2 binaries, I’ll try to remember this … :-)

    The issue with the gnash-dbg.log files being written isn’t a Win32-specific thing–the LogFile class (libbase/log.cpp) would need to be “fixed.” Perhaps log this as a bug at Savannah and discuss the change?

  3. well done on getting sound working! :)
    gnash-dbg.log bug reported:

  4. do we need ffmpeg dlls’s as well (libav*) cuz it’s not working for me.

  5. Mark: If you’re using the 0.8.1 build, yes, you’ll need all the ffmpeg DLLs. I forgot to include them since they were in my PATH.

    I grabbed my ffmpeg Win32 build from here:

    Looking there now, I see there’s lots of newer builds than what I’m using, but for reference, I’m using

  6. In the future, could releases of Gnash for Win32 be compiled with a toolkit OTHER than FLTK? For some reason, FLTK apps don’t seem to respond to my mouse or keyboard bindings very well. And at least GTK+ apps look partially native. I’m not harshing on ya, its a great build, but if a build were made to use GTK instead of FLTK, that would be great!

  7. King InuYasha: I’ll see if I can get a GTK+ build for Win32. I recall there being some problem when I tried, which is why I ended up with FLTK, but now I don’t remember why. :-)

  8. According to Gnash release information, in 0.8.1 it is possible to have multiple toolkit targets, such as building GTK+FFmpeg, SDL+FFmpeg, and FLTK+FFmpeg along with AGG renderer for all of them all at once. So try to build all these targets.

    Renderer: AGG
    Backend: FFmpeg

    It is merely a suggestion, I still am quite happy someone is making good builds of Gnash on Win32

  9. I also offer to make installers for your Gnash builds if you want them.

  10. Yes, I know about the various build options. I’ve tried getting GTK+ and SDL to build, and there were issues on Win32. As you can see, I couldn’t build 0.8.0 with ffmpeg, but 0.8.1 would.

    As Gnash gets closer to 1.0, more of the builds will work on Win32.

    Also, I’ve got a simple NSIS-based installer script ready for when Gnash is further along and more suitable for more mainstream users.

  11. Well done ;)

    It would be great if u could give some guidelines of how to build gnash on win32

  12. nico: I build Gnash on Win32 with MinGW. It’s quite a long process to obtain and build all the necessary prerequisites.

  13. Dossy,

    thanks, in fact i currently work on a game engine on win32 that uses openGL and SDL has rendering system.

    On previous projets , Adobe flash was used as an ATL object, but we dont want ATL anymore in the projet.

    Could u tell me on which part on the gnash project i have to focus on to get this done ?

    Thanks in advance.

  14. I have a copy of 0.8.2 for Win32 on an old WinMe machine. I’ve used fltk-gnash.exe stand-alone and as a Firefox plug-in. I’d be very interested in trying a 0.8.5 executable.

Leave a Reply to compn Cancel reply