Linux 5.10 To Bring SLDT/STR Emulation To Help Some Windows Games On Wine
Written by Michael Larabel in Linux Kernel on 22 August 2020 at 07:22 AM EDT. 4 Comments
LINUX KERNEL --
Last year Wine itself added emulation for some CPU instructions now blocked by UMIP, the User-Mode Instruction Prevention functionality found in the latest Intel and AMD processors. Now slated for Linux 5.10 is the emulation/spoofing of two of those instructions by the kernel as another attempt to help a small number of Windows programs relying on those instructions.

Brendan Shanks of CodeWeavers who was responsible for the Wine UMIP patches last year has now added support to the UMIP kernel code for emulation/spoofing of SLDT and STR instructions. Those are two of the instructions protected by UMIP as found on Intel Cannonlake and newer or more prominently in AMD Zen 2. This patch is now queued in the x86 code ahead of the Linux 5.10 merge window later this year.

The patch allows the Store Local Descriptor Table Register and Store Task Register instructions to be spoofed by the kernel on UMIP-enabled Intel/AMD platforms. The emulation is returning the values that the kernel programmatically assigns. Previously these instructions were not emulated as they are "not commonly used in programs that run on WineHQ or DOSEMU2." But while still uncommon, there is enough usage that CodeWeavers is adding the emulation to the kernel.

So the change is sitting in the x86/cpu tree until the Linux 5.10 cycle. The patch confirms, "Wine users have found a small number of Windows apps using SLDT that were crashing when run on UMIP-enabled systems."

Since last year with the launch of the Ryzen 3000 series have been bug reports on WineHQ and the Proton issue tracker pertaining to several different games that have had issues running on UMIP-enabled systems.
Related News
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com 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 OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter or contacted via MichaelLarabel.com.

Popular News This Week