As a PC Gamer you expect to upgrade, you expect that at some point your hardware will not run the latest games acceptably. Battlefield 2 does not even give you that option. It attempts to make all non DirectX 9 compatible video cards obsolete. Which means all GeForce 4 and older video cards will not run Battlefield 2. You cannot even start up the menu. Neither Electronic Arts nor the game's developer DICE have any plans to fix this. Even though the GeForce 4 line of video cards has enough horsepower to render the game it is not compatible with Pixel Shader 1.4. Emulation to Pixel Shader 1.3 would easily make the game playable on these cards but redundant texture checks make this difficult to implement.
The response from Electronic Arts on the Issue was:
"We've been talking to Benjamin Smith on the development team about this. There are no plans to implement GeForce 4 support in a patch. The engine was not built to run acceptably (performance or appearance-wise) on the GeForce 4 series of cards."
Then why does it run on slower cards such as the ATi Radeon 8500? The performance of this card is no better then the GeForce 4 line except for the inclusion of Pixel Shader 1.4 support. (read more)