I haven't wrote about GSoC 2015 yet, but the Wine Project already was on the news with it. We have four projects which are already in the coding period: Direct3DRM - Implement rendering backend for D3DRM - Project by Aaryaman Vasishta Thank you for inviting me to this opportunity! I will try my best to keep it short, though it might be a bit long for some. There's a TL;DR at the end, though. :) A bit about myself. My name is Aaryaman Vasishta and I'm currently studying in my third year of Computer Engineering in Pune Institute of Computer Technology, India. My interests lie in game programming and computer graphics. My project focuses on implementing the rendering backend for the D3DRM API [1]. D3DRM (Direct3D Retained Mode) is basically a scene graph API running on top of Direct3D's Immediate Mode API. You can say it's more like a rendering engine API which encapsulates Immediate Mode functionality in order to make it easier for programmers to develop 3D scenes using it, making it a possible competitor to OpenGL at the time. At the moment wine's implementation of this API is mostly full of stubs, and there's quite a bit of work left before something can be drawn on the screen. My role here mainly focuses on implementing object Creation/Initialization functions for some of the main interfaces, mainly devices, textures and viewports, all of which are COM based. If time permits, I will also work on implementing some frequently used frames and lighting functions. The API is quite old (it has been removed since DX 8 SDK, and the dll doesn't come included with vista onwards) but there are a few popular games that used it. Namely, Lego Rock Raiders and Steel Beasts, and applications as well, like FMS (Flying Model Simulator). So there is some merit in working on this. Implementing these functions will help accelerate further development of this API to get some long-awaited apps to run on wine (I can see quite a few threads on google of people trying to get FMS running, and a couple for LRR too, so there is some demand for it). As an added bonus, I also get to interact with wine's ddraw implementation for this one, which could potentially help ddraw's implementation via possible bug detection/fixes and implementing any ddraw functionality that d3drm requires. TL;DR: I'm implementing a main chunk of a graphics API called Direct3D Retained Mode, which is based on Direct3D Immediate Mode. The API is mostly a stub in wine and this project should help get things going. [1] - https://www.google-melange.com/gsoc/project/details/google/gsoc2015/jam/5750085036015616 Implement the Visual C++ iostream library - Project by Iván Matellanes I'm looking forward to contributing to Wine. My project consists on implementing part of the legacy Visual C++ iostream runtime, which was shipped with Visual Studio versions up to 6.0 and is currently a stub. I'll work on as many functions as time permits, and one of the key points is to reuse code from the modern Visual C++ runtime library that is already implemented. Some old applications and games (like MS Reader and Tron 2.0) would benefit from this, as they would run with the built-in library. A quick search on Bugzilla for 'msvcirt' shows several bugs related to unimplemented functions. Implementing functions from tr2 namespace - Project by YongHao Hu My project focuses on implementing all the functions from tr2 namespace, which was included in the header and being proposed for standardization. Though there are many methods to implement the functions like _File_size and _Equivalent etc, the hard part is finding the most appropriate one. New applications like MSVC12[1] would benefit from this. [1]: bugs.winehq.org/show_bug.cgi?id=35774 Improve mshtml.dll - Project by Zhenbo Li I'm glad to working on Wine GSoC this year. My project's focus is IHMLTXMLHttpRequest. Many websites would use hacks to determine whether the browser was IE6.0 or IE 7+. As XMLHttpRequest object identifier was shipped in IE 7.0[0], the web developers would use ActiveX to access IXMLHttpRequest object. Wine IE implements some new features, so it is common that Wine IE is treated as a IE 7+ browser(like Firebug Lite[1]) Mozilla has implemented nsIXMLHttpRequest[2], and my approach is to call the wine-gecko functions from wine code. I can't tell how many applications' status on appdb will change from "garbage" to "silver/gold", but IMHO, implementing XMLHttpRequest is necessary to make wine IE more usable. [0]: http://en.wikipedia.org/wiki/XMLHttpRequest [1]: https://getfirebug.com/firebuglite [2]: https://developer.mozilla.org/en-US/docs/nsIXMLHttpRequest