[Bug 39648] New: MTA: San Andreas cannot start in Wine64
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Nov 22 13:56:22 CST 2015
https://bugs.winehq.org/show_bug.cgi?id=39648
Bug ID: 39648
Summary: MTA: San Andreas cannot start in Wine64
Product: Wine
Version: unspecified
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ntoskrnl
Assignee: wine-bugs at winehq.org
Reporter: rafalh1992 at o2.pl
Distribution: ---
Created attachment 52850
--> https://bugs.winehq.org/attachment.cgi?id=52850
Log (+ntoskrnl)
Multi Theft Auto: San Andreas 1.5 cannot start in Wine64 (WoW64 mode) in Linux
Mint 17.1.
Wine stops logging with error "wine client error:37: partial write 57344".
I already debugged this issue.
MTA: SA is multiplayer mod for GTA: San Andreas.
MTA contains kernel mode driver named FairplayKD.sys. MTA installs it at
startup and then sends IOCTL to it from modded gta_sa.exe process. When driver
tries to process IOCTL it fails and sets ipr->IoStatus.Status to
STATUS_NOT_IMPLEMENTED. But when Wine interprets IRP structure in ntoskrnl it
reads the status as number of bytes (which is normally passed in
IoStatus.Information field). Then Wine tries to transfer 0xC0000002
(STATUS_NOT_IMPLEMENTED) bytes to gta_sa.exe process (process which sent
IOCTL). This obliviously fails and causes "wine client error:37".
Problem is caused by invalid definition of IRP structure in wdk.h header. Its
improperly marked as packed. It does nothing in 32-bit because structure
doesn't need any padding in such architecture. In 64-bit it causes displacement
of Status field by 4 bytes.
I already created patch for this issue and going to send it. Patched Wine
1.7.53 allows me to start MTA and play normally. Newer Wine has regression in
DirectX which makes MTA unplayable.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list