Today we released Wine Staging 1.7.35 which introduces the basis for further interesting features. This release is not as exciting as the last one from a user perspective, but contains quite some important changes for developers and contributors. We added a driver testing framework in Wine Staging which should help us to improve the ntoskrnl.exe component of Wine. Besides that Wine Staging 1.7.35 also contains various new patches and improvements, for example several improvements of CUDA support (which was added in the last release), patches to fix broken raw input in multiple games (upstream regression, which exists since 1.5.29 in upstream Wine), and also patches for Child of Light and Valiant Hearts.
Most hardware related device drivers do not work in Wine by design, because Wine executes them only with user mode permissions and they can't directly access the hardware. Nevertheless, there are also some drivers which work perfectly fine without communicating to hardware, for example anti cheat software or copy protection drivers. In order to improve the support for such drivers, we implemented a testing framework, which allows to write kernel driver tests. ReactOS already provides a similar testing framework since some time, but so far Wine developers didn't have any suitable solution yet. Hopefully this feature will allow developers to extend the functionality a bit faster in the future, while ensuring that it is still compatible with Windows.
Whereas generic hardware access is impossible, specific devices can be emulated by using equivalent Linux libraries. In the past there were already several interesting ideas like attempts to integrate USB driver support via
libusb into Wine, which were not accepted because of missing tests. We were planning to look at some of this previous work, and check if its possible to integrate that into our staging tree.
As usual you can find all remaining bug fixes in our changelog.
We also did several changes of our infrastructure. As you might have noticed this website looks a bit different now, and we're now also hosting our own bugtracker instead of using the github integrated one.