Well, here’s a concrete proposal to start with: allow developers to apply predefined minimum requirement tags (MRTs) such as OpenGL, AMD64, storage, RAM, etc. Each tag has an associated slider with it that corresponds to the minimum version/volume of that feature. MRTs may also have a checkmark for marking as optional, and/or a checkmark for marking additional notes.
For example, the OpenGL tag may have one of 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 2.0, 2.1, 3.0, 3.1, 3.2, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6 be associated with it. Forget extensions, since they’re called extensions for a reason. If a game requires an extension to run, then the minimum version should be the earliest where the extension became a core feature. EDIT: after thinking about this part I’m not so keen on it.
The AMD64 tag may be processor codenames, or years of release, but something recognizable.
This ignores features that were added then removed like 3DNow machine instructions, or maxima like the 2GB RAM limit in Lego Racers 2, but those are pathological cases.