Friday, January 17, 2014

GL Game Devs: Please Send Us Your Game Traces!

We're going through all games in the Steam Linux catalog to ensure they are compatible with our new GL tracer/debugger toolset (VOGL). But this is backwards looking: what we really want is to ensure our full-stream tracing and state snapshot/restore code is compatible and correct with your new (most likely unreleased) GL code.

So if you would like to help right now, please use apitrace (on any "big" GL platform: Linux/OSX/Windows) to make a 30-90 second trace of your app's gameplay:

The more representative the trace is of your actual (end-user) GL usage, the better. We're especially interested in advanced GL 3.x/4.x usage patterns, or any new extensions you use. We'll add your trace to our private correctness and regression testing repo. We'll replay your trace, capture it with our tools, and take it from there.

E-mail me (richg at valvesoftware dot com) with the location, or for very large traces that are too big for dropbox, etc. we'll set you up a private FTP site.

Also, if your game is already on Steam Linux and you're actively debugging GL issues I can move your app to the top of the testing list.

Hi Roger - We're releasing in stages, and we'll pay close attention to the feedback we get after each stage. We've been continually surprised (and sometimes overwhelmed) with how immense the GL API is, and how difficult it can be to trace/replay on all the drivers. So we're first going to get feedback from a bunch of driver devs at AMD/Intel/NVidia. After that we'll expand the beta to a few Linux game devs, and then go for the full public release. After each stage we'll be able to (hopefully) accurately gauge where we're *really* at with our GL compatibility.

Yes I understand the way you guys are developing opensource software. What I dont understand are the reasons Valve feels its necessary to develop FLOSS projects behind closed doors even if its only for a short time period.

In other words, why are you guys using the "cathedral" model? http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html#catbmain

I know im not the only linux developer that is frustrated by the lack of transparency.

@Roger Roach, they are working on it and it *will* be opensource, http://richg42.blogspot.com.br/2014/01/vogl-opengl-tracerdebugger-bonus-content.html?showComment=1389950449081#c343074267754586249

I'm also working on a desktop game with libgdx, and i would be happy to help you out guys with my traces, if they are what you are searching for, but since libgdx is mostly GLES-based due to Android, i would like to know if you are interested in this sort of thing as well: my game will be desktop-only at the moment, but not really that "advanced GL 3.x/4.x usage", is it fine anyway?

Also, it's worth noting that vogl's tracer/tools/UI work fine on non-Steam apps too. (You don't need Steam to even be installed.) Also, it's a GL debugger, not just a graphics oriented debugger. So you can debug compute apps, or apps that just link shaders and never render anything, etc.

About Me

Back in the day I worked for several years at Digital Illusions on things like the first shipping deferred shaded game ("Shrek" - 2001), software renderers, and game AI. Then, after working for Microsoft at Ensemble Studios for 5 years as engine lead on Halo Wars, I took a year off to create "crunch", an advanced DXTc texture compression library. I then worked 5 years at Valve, where I contributed to Portal 2, Dota 2, CS:GO, and the Linux versions of Valve's Source1 games. I was one of the original developers on the Steam Linux team, where I worked with a (somewhat enigmatic) multi-billionare on proving that OpenGL could still hold its own vs. Direct3D. I also started the vogl (Valve's OpenGL debugger) project from scratch, which I worked on for over a year. In my spare time I work on various open source lossless and texture compression projects: crunch, LZHAM, miniz, jpeg-compressor, and picojpeg.