And I still don't understand why this changing compatibility don't work (never did on every win os). Because if it did I wouldn't need a virtual system. BTW if I put win xp back on my system all hardware get found and those games work perfect so it's not my hardware. The only thing xp will not do. Is installing it on my newest HD because its format gpt (win7 will ether)
To ensure compatibility with future hardware and operating systems application developers must follow the rules established by Microsoft. There are many specific rules but they generally mean not making use of undocumented information and not making unwarranted assumptions about the hardware and operating system the application will be running on. This is necessary because these things have changed over the years, often in very significant ways.
Many well written applications designed for XP, Windows 2000, Windows 9x, and prior will run with no issues on Windows 10, even without compatibility settings. There are even many 16 bit applications that are even older that run on Windows 10 (32 bit). The developers of these applications followed the rules.
Microsoft tries very hard to maintain compatibility with older applications, even when their developers knowingly violated the rules. For such applications even the most trivial changes in the OS or hardware can cause them to fail. Such changes include optimizations and even bug fixes. The only way Microsoft could assure complete compatibility with older applications is to never change
anything. That obviously isn't possible. The compatibility settings are provided to help such programs to run. And there is much that is not visible to the user. Windows has a long list of troublesome applications and will often change it's behavior to accommodate such programs. But in many cases there is nothing that can be done.
Microsoft has received much criticism for doing this. It is said that such applications should be allowed to fail, thus forcing the developers to fix the problems and ensure they are not repeated in the future. But Microsoft is realistic and recognizes that many of these problems will never be fixed and that developers will continue in their old ways. The developers of some applications have been known to rely on compatibility features rather than fix known problems.
Of all application types games tend to have the most compatibility problems. The reason, the developers for the most part just don't care about future compatibility. They will do whatever it takes to get the last bit of performance and an edge over the competition. The rules are viewed as suggestions and will be bent or broken if they can get away with it, with the current OS. They care little if the game will run on the next OS and nothing about the one after that.
That is why compatibility features are needed, and why they often don't work.
Note: I have been programming as an amateur since the 1970's and have personal experience with the problems of compatibility.