Feature Request: Add a built-in pre-configuration profile for legacy 32-bit strategy games (e.g., Medieval II: Total War massive mods)

Hello Lutris Development Team,

After extensive testing (over 40+ hours) on modern Linux distributions (specifically Zorin OS/Ubuntu layouts) with low-to-mid specs (8GB RAM, AMD/Intel integrated and discrete graphics), we discovered a highly stable configuration formula for legacy 32-bit strategy engines running massive community modifications (such as Divide & Conquer or Tsardoms for Medieval II: Total War).

Currently, these mods are completely unplayable on modern Windows 10/11 due to rigid OS memory management structures and broken DirectX 9 allocations, leading to constant “Out of Memory” runtime errors and graphic crashes. Linux via Lutris handles these games beautifully, but only if very specific, non-standard variables are manually applied.

We kindly request the integration of a toggle or a pre-configured profile inside Lutris tailored for “Legacy 32-bit / Heavy Modded Strategy Games” that automatically applies or suggests the following runtime parameters:

  1. Core Environmental Variables to Automate:
    • WINE_LARGE_ADDRESS_AWARE=1 — Absolutely critical. While the 4GB patch executable bit is modified manually, Wine frequently ignores the memory extension unless this exact flag forces a true 4GB virtual memory address space.
    • PULSE_LATENCY_MSEC=256 — Legacy engines suffer from massive audio buffer overflows on modern Linux audio servers during battles with thousands of units firing projectiles and triggering simultaneous sound effects. Forcing a safe buffer window between 128 and 256 completely stops the hard crashes caused by the audio subsystem. Our tests show that with this variable, whenever the AI triggers sudden heavy voice lines (like general deaths or army status updates), it only results in a minor, harmless audio stutter instead of an instant desktop crash.

• STAGING_SHARED_MEMORY=1 — Crucial for smooth texture and asset streaming between the Wine layer and Linux subsystem, removing micro-stutters during heavy computational frames (like AI “End Turn” processing cycles).
• LC_ALL=C — Prevents localized decimal/string formatting errors within older game engines that cause unintended string read crashes.

  1. Recommended Runner Defaults:
    • DXVK: Enabled (Stable v1.10.3 preferred for DX9 wrappers).
    • VKD3D: Disabled by default for DX9 profiles to save sub-allocator overhead.
    • Esync / Fsync: Disabled or optional. Surprisingly, our practical tests showed that modern synchronization protocols conflict with these specific unoptimized legacy engines, leading to engine lockups. Keeping them OFF yields 100% stability.

Implementing an easy-to-use profile template like this within Lutris would make Linux the ultimate, definitive refuge for retro PC strategy gaming communities who are currently being locked out of their favorite games by Windows updates.

Thank you for your incredible work on Lutris!