OpenGL + SDL + OpenAL is clearly the way to go, but I suppose developers are no longer willing to invest in building their tools from scratch.
Unreal Engine was ported by Ryan Gordon, but so far, Epic likes to ignore that it actually exists. Unreal 3 Linux ain't coming out and that's a damn shame.
The way to go should be: strong LSB platform definition allowing ISVs to deploy apps for the ecosystem (enforcing ONE GUI-SDK, ONE-multimedia library etc), distro-agnostic deployment methods (l, [url=http://portablelinuxapps.com]portablelinuxapps) and in general a clear commitment on binary and API/API stability on all levels (kernel, userland, etc). In short, get rid of the negative consequences of a highly fragmented distro & developer focussed ecosystem.
But I doubt the community and distros are really willing (or able, last 10 years told as not so) to take such hard changes in their ecosystem. Therefore maybe the only way to go is to select from the beginning a desktop OS system already fitting better: , [url=http://www.reactos.org]ReactOS.
A universal SDK is possible even with the amount of fragmentation. Boy, I don't want to be the guy who has to go around trying to get every distro to play nice.