What if Valve expanded "Source" from an engine to more of a platform? If you create your game for Source you can release on Win, Mac, Linux, and a SteamBox/console with relative ease?
It's pie-in-the-sky, but that would be a game changer. A linux steam client would be one piece of that plan.
Yes, a lot of people throughout the world are working on write once run everywhere and they're the Java, Go, Python, Ruby, Lua... language developers.
And I have to imagine that what you're proposing is Valve write some virtual Steam-Machine that they port to every major OS, then they write a compiler that outputs Steam-Machine byte code. And maybe that could work (though different graphics libraries seem like a very hard problem to overcome). And maybe it would work really well for smaller indie games like Super Meat Boy, Braid, etc.
But I don't think it will work for AAA, computation intensive games life LFD2 or Portal 2. I don't know much about game development but from what I've heard, if you're making a game with whoa-mygod graphics then you're doing some really close-to-the-metal programming trying to save every cycle you can. And all the effort (and results) are for naught if you're running your super optimized code on a virtual machine. Portability would be amazing, but are people willing to cooperate and say "I'll live with a game that looks last generation because so someone running a different OS than me can also enjoy it."
I don't think so.
Disclaimer: I'm not a game developer, I could be wrong about the technical challenges, and if so, please correct me.
Much as a game built on Unreal or Frostbite can trivially support Windows and a variety of consoles, a game built on a future version of Source could easily support OSX and Linux.
Platform-specific code tends to be in the guts of the engine, not the content and gameplay code that characterizes a particular game running on it.
I'm not proposing a virtual machine or a new language; C++ and the Source engine seems to be working fine for LFD2 and Portal 2 and other AAA titles.
I'm proposing liberal licensing for the engine and adding a simplified API for 2D games. You are correct that you can't optimize for every platform at once, but that's what #ifdef is for. Extra work is still required on each platform... if you need the extra performance.
Mostly I can't imagine Valve putting the effort into Linux if they don't have a plan for getting more games onto Linux. I was just trying to guess at that plan.
It's pie-in-the-sky, but that would be a game changer. A linux steam client would be one piece of that plan.