GSoC/GCI Archive
Google Summer of Code 2009

The Wine Project

Web Page: http://wiki.winehq.org/SummerOfCode

Mailing List: wine-devel@winehq.org

Wine is a translation layer (a program loader) capable of running Windows applications on Linux and other POSIX compatible operating systems. Windows programs running in Wine act as native programs would, running without the performance or memory usage penalties of an emulator, with a similar look and feel to other applications on your desktop.

Projects

  • Direct3D - Implement D3DXAssembleShader function This project is meant to implement a subset of the API provided by the d3dx*.dll, used by many Windows programs, mainly videogames
  • DirectShow/GStreamer Bridge GStreamer is an element based multimedia framework very similar to the framework provided by DirectShow. GStreamer could be used to provide support for more media types to Wine's DirectShow without requiring Wine to include support for all that GStreamer supports.
  • Implement Texture, Mesh and Font handling in D3DX and get some DirectX SDK samples running in WINE The first step would be to stub the affected functions. After that I would implement the file loading routings to make it possible to load the most common file formats. Of course there need to be test cases for everything, too. As it's often used in the DirectX SDK samples, it is sensible to implement the ID3DX FontS interface, too. With this groundwork it's a good idea to make about 5-10 samples compileable with WINE-libs and running with WINE. This would prove that our implementation is solid
  • Improving JSctipt implementation Wine has recently added JScript implementation. JavaScript specification contains a lot of builtin APIs that are used by scripts. Most of them are missing in Wine. It's the most common reason why scripts don't work in Wine and I'd like to fix it.
  • Wine Application Test Suite Implement an application test suite for Wine. Wine currently lacks any infrastructure to automatically test any real world applications (currently is a relatively large code based regression test suite, but real world applications still often regress). This will be done by using AutoHotKey (http://www.autohotkey.com) to test windows programs. Scripts will be made to install a program, verify installed files with SHA1SUM, then test running the application, manipulating a file, etc. The test suite can then be used by anyone as part of a nightly build script, by Wine as a precursor to releases, or as a pre-screener to test patches before inclusion.