Why Don’t Windows Programs Run on Linux ?
Some people who decide to move to linux find it hard that most programs created for Windows do not execute under Linux. When it comes to gaming, especially, this happens even more often and almost all games for windows do not run. But is this a linux problem?
The short answer is no. The software that denies running on linux has been solely created for Windows(or other) operating system. This means that it uses the internal operating system API(applications programming interface) as a means to communicate with its environment. Therefore, if the game is only playable under windows, it was most probably coded using the windows API. On the other hand, Linux has its own API that it’s very much different from the windows counterpart.
As you can understand, you would need a way to simulate the windows environment under Linux in order to run games that were written for Windows. Imagine that if a windows 9x program cannot run under Windows Vista, what happens when we try to run it under Linux However, there’s always a way to at least try to execute some windows programs, some of them even successfully.
At the time i write this paper, i have managed to run Photoshop CS 2 under Wine. Wine is a windows programs emulator that attempts to execute such programs on Linux and i must admit that it managed many of them pretty well. There other commercial emulators like Cedega or Crossover and they are pretty good too. Most kinda old games, like age of empires 2 or counter strike 1.6 do play incredibly well under Linux and i’ve heard that some new ones like Call of Duty do too. More and more are added to the list as days go by and hopefully in the future, windows emulator will be that capable, that they will be able to run every program.
However, the process of including more and more programs is a very tough one, since in fact we’re creating an underlying windows environment on top of Linux. It remains to be seen if the new programs will have Linux versions too or emulators will not cease to exist