Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to a proper PE module #130

Open
evelikov opened this issue Mar 27, 2022 · 4 comments
Open

Switch to a proper PE module #130

evelikov opened this issue Mar 27, 2022 · 4 comments

Comments

@evelikov
Copy link

As you may have seen, upstream wine is switching from fake PE modules to proper ones. One of the benefits is that you no longer need 32bit/multilib linux libraries.

Lower-level modules like wine-nine are usually split in a PE file on the user-side, which talks to the kernel-side linux DSO via NT style syscalls.

As of Wine 7.5 only 4 modules (of 600+) are fake-PE - openal32.dll.so, opengl32.dll.so, wineusb.sys.so, winex11.drv.so.

Please consider porting wine-nine over.

@axeldavy
Copy link
Collaborator

I admit I have been following this change in wine from very far, as I fail to see why the change matters.
In the case of d3d9 most games are 32 bits, and you'll need 32 bits gallium nine anyway, right ?

But yeah I guess makes sense we switch to follow the trend.

@evelikov
Copy link
Author

Err.... wrong?

The goal is to have not require 32bit/multilib gallium nine (or mesa or anything else) when the Windows programs are 32bit.

Basically:
32bit Windows game <-> 32bit wine dll <-> nt syscall <-> conversion to native <-> native (64bit) wine DSO (winex11.so) <-> native (64bit) system libraries (mesa, nine, others)

@axeldavy
Copy link
Collaborator

axeldavy commented Mar 27, 2022

Hum I see.

I wonder how some details work though. How are allocations handled ? (Possibly nine will have to use wine's allocator).
Is there a performance hit ?

EDIT: Also are 64bit code mapped into the 32bits program virtual space ? Because 64b code takes more space I guess, so that would be bad for the 2GB limit

@evelikov
Copy link
Author

Bth I'm not 100% with the memory allocation and ownership semantics. Instead of misleading you, it would be better to check with the upstream wine team

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants