Quote:
Even with older versions, I experienced the problem that AVX2 is not active on the Linux version. However, if I start the Windows version under Linux (with Wine), AVX2 is active there.
Tested with AMD Ryzen 5 5600X CPU on Debian 11 64bit.
We have some code that checks whether the CPU and OS support AVX2 (for the CPU) and AVX (for the OS). So one of the two must fail. I see that I get the same result on my Linux VMware build image here, so I'll look into it.
Edit: Found it, and I can't fix it unfortunately. It does actually accurately detect AVX2 support, but the compiler that we're using for Linux does not allow automatically generating multiple code paths for different CPU's. Which means 2 things:
- We cannot make it generate AVX-specific code.
- Even in places where we have manually written AVX2 code, the compiler refuses to compile it if we don't let it generate code for AVX2 by itself.
If I were to make it add AVX2 code, it would stop working on all systems that don't support AVX2.
So unfortunately I cannot easily fix this. The only easy solution appears to be to create separate binaries.