So recently, I had this problem with GTA:SA where it would tell me it needed DirectX 9 or above. I searched a long time for the anwser, and saw that a lot of
people posted to change it to compatibility mode, or to run it as administrator, or even to force install DirectX 9, none of those worked for me however. But many like me still couldn't fix it, and had the same problem. After a while of playing around with it, I figured out how to fix it.
In your GTA:SA folder, you may see a file called d3d9.dll, this is the DirectX 9 file required, however, GTA:SA doesn't detect it. To fix this problem, rename it to d3d9_32.dll. This fixed the problem for me. I hope this helps anyone else who has this problem.