1) A large proportion of the games that I own for Linux are developed using the Unity engine. This has many advantages for an indie developer (ease of use, cheap license), but is especially useful because it can cross-compile to Windows/Mac/Linux/Android/iOS/Xbox/PS. Even Blackberry! This is a godsend for indie developers trying to reach as large a market as possible.
So the challenge isn't necessarily to get developers to stop using DirectX, but to get the major engine developers (eg. Unreal) to ensure good cross-compilation support. They already have to a certain extent, because the PS3 is already using a form of OpenGL. All we really need is a little extra effort from them to make sure it's compatible with Linux. This would immediately add a large proportion of the current game releases to the Linux market.
2) Driver optimisation isn't as important as you might think. The average PC graphics card vastly overtook consoles in graphical power a very long time ago. Certainly within a year or two of the current generation of consoles. Even without optimised drivers, they are still far more powerful than the Xbox360 or PS3.
All in all, the obstacles are very surmountable. The biggest problem that I can see lies in convincing the big game engines, like Unreal, to bother with such a small market. But if Valve leads the way with the Source engine, they could start eating away at the likes of Unreal - simply by being the only AAA choice on Linux.
Overall, it is a huge pain in the ass. I oh-so-wish that graphics cards would "just work" like wireless cards now do.
But if you're on a desktop and get a well-supported card, you're right. It's not a big deal.
2) You take some of the graphic card company engineers and put them into a room with game engine engineers. Valve had some spectacular success with this technique lately [0]. Unfortunately, this is not viable for Indies or Free Software devs, but only AAA games need the high end anyways.
You make something better.