The Wine Staging release 2.8 is now available.
What's new in this release:
- Improved fake dll generation.
- Implement updating shared data time fields.
- Reset debug registers on thread creation.
- Added basic ACL viewer in file properties.
- Various smaller improvements and bug fixes.
In this release we have merged fixes for several fundamental Wine bugs which might be worth mentioning.
Starting with this release Wine Staging generates more functional 32-bit fake DLLs. For those unfamiliar with Wine internals, fake DLLs are used as a placeholder inside of Wine prefixes, whereas the real implementation resides in ELF/Mach-O libraries. The content of those placeholders does not matter unless applications try to load such files without using the Windows API, which some DRM / anticheat modules unfortunately do. With Wine Staging 2.8 you will now get a stub exception instead of a random crash when such a DLL is used. For ntdll functions starting with Nt or Zw prefix the fake DLL will correctly forward calls to the real implementation.
In this release we also implemented a mechanism to update the time fields inside the used shared data block periodically. On Windows this is done by the kernel itself during a timer interrupt, but for Wine it is necessary to do this manually. When an an application tries to read the time values for the first time, Wine Staging detects this and creates a thread to update these fields. This is required by applications like Star Wars: The Old Republic or the programming language Go. The change does not have any performance implications on other programs as the thread is only created when necessary.
It is now also possible to view the Windows access control list (list of permissions) in the security tab of the file properties dialog. You can see them, for example, when opening the properties by right clicking on a file or directory in the explorer. This can be useful when debugging access permission related problems. So far the dialog can only show the current permissions and does not allow modifications.
Besides the bigger changes, Wine Staging 2.8 also includes various smaller improvements, like clearing debug registers when creating new threads. One application that benefits from the new features is Starcraft I, which should now work properly in a default Windows 7 prefix.
In addition, Wine Staging users will also benefit from the following changes merged in the development branch:
- Better serial and parallel ports autodetection.
- Still more fixes for high DPI settings.
- System tray notifications on macOS.
- Various bug fixes.