Here we are again time to stop and re-wine. Another development release of the Wine compatibility layer has become available with Wine 6.17 having the bottle popped open today.
For newer readers and Linux users here's a refresher - Wine is a compatibility layer built for operating systems like Linux, macOS and BSD. The idea is to allow other platforms to run games and applications only built and supported for Windows. It's also part of what makes up Steam Play Proton. Once a year or so, a new stable release is made.
What's new in Wine 6.17 includes:
- WineCfg program converted to PE.
- Better high-DPI support in builtin applications.
- More preparation work for the GDI syscall interface.
- Improved debugger support in Wow64 mode.
Since Wine is covering a massive amount of APIs from Windows, each time it gets something finished up we should see better application compatibility. GDI syscall should help even more applications run and display correctly. Microsoft explain that GDI "enables applications to use graphics and formatted text on both the video display and the printer. Windows-based applications do not access the graphics hardware directly. Instead, GDI interacts with device drivers on behalf of applications".
In regards to many things being "converted to PE" over multiple Wine releases: previously Wine has built its Win32 libraries (like DLLs and EXEs) as ELF but for many reasons (like better compatibility) they've started to move them over to use PE instead. So it's another change that will gradually improve compatibility as more is moved over.
This time around 12 bugs were noted as being solved. Usual here applies: some bugs were fixed previously, some only recently. The Wine team noted these were fixed:
23979 SMSDV's main window is empty
36887 Trusteer Rapport setup crashes on unimplemented function ntoskrnl.exe.PsGetCurrentProcessSessionId
37592 Filenames in themed file dialog change size
40700 Page Scrolling Bar of PDF Eraser not rendered with wine-mono
45133 Multiple applications need 'ntdll.NtQueryInformationProcess' to support 'ProcessSessionInformation' info class (ProcessHacker, NewProcessFromToken)
49625 winedbg --command 'info wnd' fails with Exception c0000005
51655 iphlpapi regression prevents Samsung SDK from working properly
51672 Imperiums: Greek Wars has small black window on launch (caused by wrong position).
51693 ntdll:info fails on Windows 7 64-bit
51702 AFxW: the working directory of launched Unix application isn't set
51726 wineserver crashes with an assert()
51728 copypasta in pwcache.c:ctox()