when Intel introduced a cpuid instruction, around 1998 or so

there was a debate on the Linux kernel mailing list as to whether Linux should provide a way to call that instruction

you know, because of its potential uses for surveillance and how that was sharply at odds with the idea of computers being owned by their users

the resolution, at least for a while, was that Linux would implement an interface for programs to invoke the instruction, but would also add an interface that allows the user to instruct the kernel to lie and return a user-specified identifier instead
@ireneista that's kind of funny. i'm glad we can use cpuid though, a lot of my performance gaming relies on it.
@dysfun sure, but you understand it relies on it in the sense that DRM and anticheat look at it, right? it's not a feature that helps with graphics or anything like that

@ireneista @dysfun cpu-specific optimisation is a thing and dysfun does it fwiw

(and I was playing games that took advantage of it in the late 90s)

@ireneista @dysfun (you're not wrong about the DRM, but games weren't doing it that way for a lot longer)
@ireneista @dysfun (see also: most gamers don't want to recompile with every patch released!)
@flippac @ireneista @dysfun distribute your games as source, you cowards!
Original thought was DKMS for games, but that’s just distribute as source with an extra wrapper to rebuild as needed.
@c0dec0dec0de @flippac @ireneista @dysfun as an additional consideration, this would actually make it even easier to fingerprint users, since you'd have access to the build environment on their machine as well as the runtime environment. you can fingerprint the compiler :) and it still leaks the same information since you can just ask what features are enabled at compile time.
@dotstdy @flippac @ireneista @dysfun and in a competitive environment, those optimizations would just go to the people least in need of them.
Would be nice to try to decimate some meshes or reconfigure render pipelines to make things more potato-computer friendly
@c0dec0dec0de @flippac @ireneista @dysfun it doesn't quite work like that, even "old" CPUs still support modern instruction sets and SIMD. even something new-ish like avx2 has been around for a decade at this point, and if you're running something modern on a decade old CPU you're going to want to get all the advantage you can. You still don't want to *require* avx2, since there's a few parts around still functional that don't support it, and a few very low end skus that don't support it either.
@c0dec0dec0de @flippac @ireneista @dysfun For anything competitive the main barrier for low end is actually competitive advantage. Everyone playing the game competitively will almost always set their settings to the lowest, so it runs a bit better, and maybe things are more clear at low settings because extraneous detail is removed. But e.g. a bush you can hide in cannot be LODed to no longer hide you, or turning that setting down would break the game - everyone would be visible in bushes.
@dotstdy @c0dec0dec0de @flippac @dysfun right so like the thing to notice here is, this is no longer about CPU feature checks or any of that, it's more of a general topic around how capital interacts with performance
@ireneista @c0dec0dec0de @flippac @dysfun it's not even about capital, these issues are exacerbated by access to capital (e.g. pay-to-win) but the general problem is that if you make something which is designed for X amount of computational power, then minimizing the impact of running with less or greater computational power is more or less required unless you're shipping the hardware and software together. there's just a fundamental problem about how large a window it is possible to cater to.

@dotstdy @c0dec0dec0de @flippac @dysfun well no, like, we do think the choice in what level of computing power to target is entirely made by reference to the needs of capital

once again, we don't have spoons for this right now

@dotstdy @c0dec0dec0de @flippac @dysfun we realize we're the ones who started the conversation, and normally we only do that when we'll be able to follow up, that just didn't work today. sorry.