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 usingf 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.
>> Source Link