FS#67326 - [wine,wine-staging] Switch to PE builds

Attached to Project: Community Packages
Opened by Maciej Stanczew (stanczew) - Sunday, 19 July 2020, 17:54 GMT
Last edited by freswa (frederik) - Sunday, 19 July 2020, 18:25 GMT
Task Type Feature Request
Category Packages: Multilib
Status Closed
Assigned To No-one
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Since Wine 5.0, most Wine DLLs can be built in PE format:
https://www.winehq.org/announce/5.0
This will be the case if during compilation MinGW is available.

As it turns out, PE builds are the default now:
https://bugs.winehq.org/show_bug.cgi?id=49436#c27
Official release packages from WineHQ are built that way:
https://bugs.winehq.org/show_bug.cgi?id=49436#c30

The issue comes up now because in Wine 5.12 ntdll was moved to PE format. As a result of this, Staging patchset winebuild-Fake_Dlls was disabled (and eventually removed). This patchset was required by many games to run (for example, almost all Blizzard games).
From what I understand, the functionality of winebuild-Fake_Dlls is now implemented partially in PE ntdll itself, and the remaining pieces are in a new patchset, winebuild-pe_syscall_thunks (introduced in Staging 5.13). However for the games to work like before, ntdll needs to be in PE format; they will not work with non-PE builds.

Here's an example of a bug that is fixed in Staging 5.13 -- but not in Arch, because it uses a non-PE build:
https://bugs.winehq.org/show_bug.cgi?id=45349#c14

Building a wine-staging package with added mingw-w64-gcc dependency produces a Wine installation that can successfully run impacted games.
This task depends upon

Closed by  freswa (frederik)
Sunday, 19 July 2020, 18:25 GMT
Reason for closing:  Duplicate
Additional comments about closing:   FS#67317 

Loading...