Keep in mind that DirectX is far more than just a competitor to OpenGL. That's just the Direct3D component. There's also XInput (keyboard, mice, Xbox controller, generic joystick support, etc.), DirectSound (OpenAL competes with it), DirectCompute (OpenCL competes with it), DirectDraw (2D GPU acceleration), DirectMusic, and DirectPlay (networking). DirectX is pretty much all inclusive for game development and there's nothing unifying like it in the open source community. The API used on consoles always has to be unique from PC because of the hardware differences in the consoles. Sure, it makes it easier to port between similar APIs but the fact they are still different results in a lot of costly debugging. That's not going away. What Valve needs to do is get a licensing agreement with Microsoft to get a stripped-down copy of Windows NT for cheap (maybe like $20-30 per unit). If they could, its success would likely be assured.