Software 44096 Published by

A new Wine development release (version 11.2) has been launched to improve startup speed and compatibility with modern MSVC-style constructors, allowing developers to shave off milliseconds from their launch time. The update focuses on optimizing PDB loading by reducing buffering costs, letting the C library call MSVC constructors without crashes, and streamlining version resource creation for easier custom Wine fork building. With this release, a dozen high-profile bugs have been fixed, including issues with osu! on Wayland no longer freezing and GTA San Andreas intro videos finally rendering instead of staying white. To install the update, users can download source tarballs from the official location or use binary packages available for various Linux distributions, following simple steps to get up and running.



Wine 11.2 Release: Optimized PDB Loading and New MSVC Constructor Support

A fresh Wine development release just landed, and it’s all about shaving a few milliseconds off startup while finally getting the C runtime to play nicely with modern MSVC‑style constructors.

Wine

What You’ll Find in This Update

The new release tightens three core areas: parsing PDB files faster, letting the built‑in C library call MSVC constructors, and streamlining the creation of version resources. On top of that, a dozen high‑profile bugs are squashed—think osu! on Wayland no longer freezes, and GTA San Andreas intro videos finally render instead of staying white.

Optimized PDB Loading

Windows applications often ship with symbol tables (PDBs) that Wine needs to read at launch. The new code walks through the file in a single pass, dropping the extra buffering that used to cost a few hundred milliseconds on slow disks. If you’re running a heavily debug‑enabled build on an SSD, you’ll notice your “Wine is starting” screen disappear faster.

MSVC Constructors in the C Runtime

A long‑standing annoyance: when a program compiled with Microsoft’s compiler calls __declspec(noreturn) constructors, Wine would silently ignore them and crash later. The patch now hooks into winecrt0 to run these constructors before any user code runs. Users who rely on embedded DLLs that perform static initialization should see fewer “unexpected behaviour” messages.

Easier Version Resource Creation

Creating a proper \_Version resource used to involve editing raw binary data or writing a separate helper tool. The makefile now accepts a single variable (WINE_VERSION) and writes the resource automatically. That means if you’re building a custom Wine fork, you can bump the version string in one place and have it propagate everywhere.

Bug Fixes That Matter
  • osu!stable on Wayland: the crash that happened after the 2024‑11‑19 update has been patched, so rhythm fans can get back to osu! without a full re‑install.
  • GTA San Andreas/Vice City intro video: the white screen problem is fixed, thanks to better handling of DirectX8 textures in wined3d.
  • Serial port baud rates: values above 115200 now work on Debian 12, which means you can finally talk to your old microcontroller from Wine without dropping packets.
How to Install

Source tarballs are available at the usual location:

wget https://dl.winehq.org/wine/source/11.x/wine-11.2.tar.xz
tar xf wine-11.2.tar.xz
cd wine-11.2
./configure
make -j$(nproc)
sudo make install

Binary packages for various Linux distributions can be found here.

Quick Tips
  • Speed up launch on Windows‑style apps: if you’re running a game that loads a lot of PDBs, add WINEDEBUG=-all to suppress debug output. It may sound counterintuitive, but fewer messages mean less I/O and a snappier start.
  • Verify MSVC constructor support: compile a tiny test app with /EHsc and /MD, then run it under Wine. If you see the constructor message printed before main(), the feature is working.

If you’ve been frustrated by slow starts or mysterious crashes, give 11.2 a whirl. It’s not a groundbreaking overhaul, but for everyday users, those incremental tweaks can make a noticeable difference.