Wine Patches Coming To Allow UMIP Emulation - Works Around Issues For Ryzen 3000

Written by Michael Larabel in WINE on 22 November 2019 at 12:00 AM EST. 3 Comments
Coming up this weekend with the Linux 5.4 kernel is emulation/spoofing of the SGDT/SIDT/SMSW instructions around UMIP for allowing newer 64-bit Windows games to run on Wine and Steam Play (Proton). With newer CPUs like the AMD Ryzen 3000 series that support UMIP, these instructions are not allowed to run in user-space with Wine due to UMIP. So while the first stable kernel release is about to land with this support, some Wine-based emulation not contingent on the kernel patches is also in the works.

For being able to run newer Windows programs/games without having to mandate Linux 5.4+ usage, Wine-based emulation for UMIP is coming. Also pushing this along is the discovery that some 32-bit applications are using the SLDT instruction, which in the Linux 5.4 kernel is only 64-bit emulation support. Steam's own web-helper and GTA IV are among the 32-bit software using that instruction and thus running into problems with UMIP-enabled processors.

CodeWeavers' Brendan Shanks posted the set of patches emulating the relevant instructions protected via the UMIP functionality for avoiding the Linux 5.4 kernel requirement and also handling 32-bit processes. Hopefully this code will soon make it into a Wine release.

Besides being used by AMD Ryzen 3000 (Zen 2) processors, UMIP on the Intel side is supported by Ice Lake (and Cannonlake) processors so far.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week