Software 44753 Published by

Wine Staging 11.16 has arrived, tracked to upstream Wine's 11.16 development branch and released by maintainer Alistair Leslie-Hughes. The release's centerpiece is the new ws2_32-af_unix patchset, which finally brings AF_UNIX socket support for local inter-process communication, replacing the obsolete wintrust-WTHelperGetProvCertFromChain patch. On the graphics front, six vkd3d-latest commits introduce HLSL shader codegen enhancements and IR optimizations, complemented by a rebase of upstream fixes for X11 rendering, Kerberos auth, and kernel-mode transitions. This update expands the 383-category patchset to better support Linux services like D-Bus, Wayland compositors, and database clients that depend on Unix domain sockets.



Wine Staging 11.16 lands with long-awaited AF_UNIX socket support and fresh shader tweaks

Wine Staging 11.16 dropped today, adding AF_UNIX socket support to the compatibility layer for the first time. Maintainer Alistair Leslie-Hughes tracking upstream Wine's development branch at version 11.16.

If you run Windows games or older software on Linux, you've likely waited for Wine Staging to fix something upstream hasn't caught yet. The new release focuses on local inter-process communication. That matters. AF_UNIX sockets handle local IPC efficiently, something native Linux apps use constantly but Windows apps typically rely on named pipes for.

Wine Staging

New networking patchset

The headline change is the ws2_32-af_unix patchset. It brings nine patches covering bind, connect, listen, accept, sendto, and recvfrom for Unix domain sockets. This replaces the wintrust-WTHelperGetProvCertFromChain patchset, which had to be pruned to make room.

The diff touches 25 files. You get +897 insertions and −509 deletions for the changes. The server side handles socket file deletion and POSIX error codes, while the ntdll layer reports bound sockets as NTFS reparse points. That's a solid compatibility bridge.

AF_UNIX socket support enables local inter-process communication via Unix domain sockets on Wine. It's critical for applications that use Unix sockets for local service communication. Think D-Bus, Wayland compositors, and database connections like PostgreSQL or Redis.

Shader pipeline updates

It's not just networking. The vkd3d-latest patchset received six update commits. VKD3D translates Direct3D calls to Vulkan. It's the same tech powering DXVK under the hood, just maintained separately for staging-specific fixes.

The new commit 9a673d0b adds HLSL shader codegen improvements. That's 123 lines of code. Another commit, d11d4471, focuses on IR and TPF shader optimizations. If you're pushing frames in older titles, this might shave off a few.

Upstream sync

Leslie-Hughes rebased the staging tree against three upstream Wine commits between v11.15 and v11.16. One of them fixes X11 rendering on offscreen surfaces. Another addresses Kerberos auth buffer handling. The third tweaks kernel-mode transitions before returning to the user-mode emulation dispatcher. It keeps the base solid while staging adds its own layer on top.

Patch inventory

Wine Staging 11.16 ships with 383 unique patch categories. That's roughly 492 individual patches. They cover DirectX, networking, audio, and ActiveX. The dcomp subsystem alone has over 70 patches. The rest of the inventory includes fixes for PulseAudio, GTK theming, and joystick input.

Building from source

Building from source requires applying the patchset on top of a Wine source tree. The script staging/patchinstall.py handles the heavy lifting.

./configure && make depend
./staging/patchinstall.py DESTDIR="/path/to/wine" --all
make -j$(nproc)

For most users, the WineHQ downloads handles the heavy lifting across distros and macOS. It installs to /opt/wine-staging on most systems.

The bottom line

The long wait for Unix socket support is over. It's a welcome addition for applications that rely on local service communication. If you're running Wayland compositors or database connections like PostgreSQL locally, this matters. The patchset remains large, but that's how staging works. You get the experimental stuff, and hopefully, it makes its way upstream eventually.

Keep in mind that AF_UNIX support is experimental. The patchset marks the address family before bind operations, but edge cases with path traversal are still being hardened. It's a step forward.

Head here to the Wine Staging GitHub repo for the source.