On Fri Jul 18 12:51:01 2025 +0000, Jinoh Kang wrote:
IMHO this option is confusing to users, since this envvar only affects the CPUID as viewed by Wine, not by the program or any of our Unix-side dependencies (e.g., glibc / gstreamer / ...) that may invoke CPUID directly. It's reasonable to expect that some users find that the envvar works around their issue, share their "fixes," and we'd get a bug reports from a bunch of confused users that the envvar doesn't actually "override the CPUID." Also, this seem quite easy to bitrot: we would have to ensure that *all* places that might call CPUID directly stays up to date. Otherwise the CPUID view would be inconsistent across callsites—debugging that doesn't sound straightforward. I wonder, instead, if we can use (or make) a separate LD_PRELOAD library that hooks cpuid instruction via ARCH_SET_CPUID.
Thanks for looking into it. This is not intended for users, more for developers trying to reproduce bug reports. (Except enabling the cpuid debug channel and providing the values to the developer.)
The ARCH_SET_CPUID looks interesting, I will try to generalize this, thanks.