Skip to content

Wine Compatibility #36

@Qonfused

Description

@Qonfused

This issue tracks MTGOSDK's current compatibility under Wine, limited to Win32 APIs the SDK uses directly (from MTGOSDK.Win32) and the specific ClrMD APIs we invoke. The main blocker is the Windows Process Snapshot (PSS) API family (PssCaptureSnapshot / PssQuerySnapshot / PssFreeSnapshot) that ClrMD's DataTarget.CreateSnapshotAndAttach depends on, which is not implemented in Wine.

However, starting with Python 3.12 on Windows, os.getppid() also uses the PSS API (PssCaptureSnapshot) rather than the older Toolhelp APIs. Because the PSS API is a Windows 8+ feature, Python's depreciation for Windows 7 may further broaden the demand for PSS API support in Wine.

Legend:

  • Status: ✅ Supported | ⚠️ Partial | ❌ Unsupported
  • Priority: 🔴 Required (blocks core MTGOSDK APIs) | 🟠 Important | 🟢 Non‑blocking (a fallback exists in MTGOSDK)
DLL API Status Priority
kernel32 PssCaptureSnapshot
PssQuerySnapshot
PssFreeSnapshot
Unsupported 🔴Required
OpenProcess Supported 🔴Required
ReadProcessMemory Supported 🔴Required
VirtualQueryEx Supported 🔴Required
K32GetModuleFileNameExW Supported 🔴Required
GetProcessId Supported 🔴Required
CloseHandle Supported 🔴Required
CreateRemoteThread Supported 🔴Required
advapi32 CreateProcessWithTokenW ⚠️Partial 🟢Non‑blocking
OpenProcessToken
DuplicateTokenEx
AdjustTokenPrivileges
LookupPrivilegeValue
⚠️Partial 🟢Non‑blocking
user32 GetShellWindow
GetWindowThreadProcessId
Supported 🟢Non‑blocking
ShowWindow
SetForegroundWindow
⚠️Partial 🟢Non‑blocking
WaitForInputIdle Supported 🟠Important
ntdll NtQueryInformationProcess (ProcessBasicInformation) Supported 🟠Important

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions