We do often include affiliate links to earn us some pennies. See more here.

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()

Article taken from GamingOnLinux.com.
16 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
The comments on this article are closed.
8 comments

fagnerln Sep 10, 2021
Hey Liam, just a complain:

I (and I bet that some others too) clicked in this post because "GDI Syscall" sounds interesting, you explained for the 234th time what is Wine, but don't put a word (or a link at least) about this syscall, as it's on the title, it should be important right? 😜
rcrit Sep 10, 2021
View PC info
  • Supporter Plus
As I understand it, the conversion to PE format (Portable Executable) helps with some copy protection schemes that check that modules on-disk and in-memory are identical.

This thread on the Fedora development list also mentions that it improves compatibility with some applications (again it could be copy protection but the author isn't explicit about it).

https://lists.fedorahosted.org/archives/list/[email protected]/thread/SL4IPD2VBMJ2XVGXRYFPDXZIC4YIYPWY/#FQ5UO3BJHFST7YC3H3X3GKCOGQLBMGHN

The thread gets pretty technical and Fedora-specific.
TheRiddick Sep 11, 2021
Can anyone list some specific use cases for this GDI system? do games even benefit or is this more of a application thing? (which is ok imo, applications under wine are always finicky)
rcrit Sep 11, 2021
View PC info
  • Supporter Plus
Quoting: TheRiddickCan anyone list some specific use cases for this GDI system? do games even benefit or is this more of a application thing? (which is ok imo, applications under wine are always finicky)

From https://zetcode.com/gui/winapi/gdi/

QuoteThe GDI insulates the programmer from the hardware. From the programmer's point of view, the GDI is a group of API functions for working with graphics. The GDI consists of 2D Vector Graphics, Fonts and Images.

As I said, they didn't implement GDI in this release, they converted it to PE. Based on a 10-second review of the commits consists it was mostly of code re-organization (because it was already implemented).
FinixFighter Sep 11, 2021
I agree with other user, you could try to briefly explain what GDI syscall is and why it's important :)
dindon Sep 11, 2021
Quoting: fagnerlnHey Liam, just a complain:

I (and I bet that some others too) clicked in this post because "GDI Syscall" sounds interesting, you explained for the 234th time what is Wine, but don't put a word (or a link at least) about this syscall, as it's on the title, it should be important right? 😜

I was also hoping to see an explanation of what is a GDI syscall but hopefully the comment section rocks.
Liam Dawe Sep 11, 2021
It's a fair point, added.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.