Direct Rendering Access on Linux

After steam migrating to Linux, I dare to ask this again.

Is there any way in the nvidia drivers that would let my program enumerate connected displays on the computer and start OpenGL context into them? And maybe even composite surfaces from other running processes.

I know X.org does this for me, but I’d like to see if I could design nicer linux desktop to work with. It involves lot of effort to start context in X.org, and there’s already huge layer of mess on top of it that makes it easy to open the context, but really hard to implement some features that are expected from a good desktop app.

I tried this on Raspberry Pi, but it turned out to have slightly too slow graphics hardware for display compositing. helium-desktop -project in github contains my attempt to cope anyway.

It’s enough if it works on newer nvidia hardware such as GTX460 or better. I also only need the newest OpenGL API.

I’ve also ordered developer kit for Oculus Rift, and it’s obvious that X.org is entirely useless middle layer that needs redesign anyway if head mounted displays become popular. So here’s another reason to look for such API from driver layer.