I have my integrated Intel graphics working fine for everyday usage, both in the TTY and for X server. When I try to run OpenGL applications (mostly trying games), things get a bit dicey; refusing to launch, rendering issues, that sort of thing. Granted, some things do work as intended.

Things I've tried and work:
glxgears
Extreme Tux Racer
OpenArena

Things I've tried and don't work:
Star Wars JKII: Jedi Outcast (runs, rendering issues, can try to post screenshot if pointed in the direction how to. May be an issue with the port though since this machine is known to be able to play the game on Windows and it uses a similar engine to OpenArena)
Xonotic (doesn't launch, see output at the end)
eduke32 with duke3d-demodata (launches, sound effects in menu play but only black screen is shown, both with OGL and software rendering)

This got me wondering whether I have the driver set up properly. The wiki is, quite frankly, unclear on what exactly is currently supported by what and what is deprecated. Can I use the "modesetting" driver in xorg.conf with it only being the default for Gen 4 and beyond or is it only an option for Gen 4+? How can I tell which driver I'm using? Does mesa provide a graphics driver? Is the graphics driver part of xorg-drivers or is it just a meta-package? Which driver is recommended? So many questions!

Here's the things I could think of being relevant, can provide more if requested:

I think you should turn off gallium USE flag for mesa, also dri3 and llvm.
Last two don't matter with your problem but you don't need them with that gpu.
Could be wrong though, on one machine I have 945G and I think I had similar problem, until I disabled gallium, I think that started with mesa 18.X , with 17.X and earlier it worked fine.

I think you should turn off gallium USE flag for mesa, also dri3 and llvm.
Last two don't matter with your problem but you don't need them with that gpu.
Could be wrong though, on one machine I have 945G and I think I had similar problem, until I disabled gallium, I think that started with mesa 18.X , with 17.X and earlier it worked fine.

Brilliant, everything works as expected: eduke32 shows stuff, xonotic launches, mupdf-gl works and Jedi Outcast renders the game properly!

I guess I should trust my own judgement a bit more since I was already thinking of disabling both Gallium since the Intel driver doesn't and won't support it (at least on i915) and dri3 since dri2 is the latest GMA 900 supports. However, I do have classic USE flag enabled; I though having them both would result in compiling on both the classic and Gallium architectures so it wouldn't be any harm, even if my driver didn't support Gallium. Looks like I was wrong, would be nice to have that on the Gentoo wiki.

Also, why disable llvm support? The mesa page doesn't help me figure out whether I need it or not. I'm not complaining, llvm is an ugly beast that takes 3 hours to compile and since mesa is the only package requiring it I'll be happy to purge it from the system. What difference does it make though?_________________

Glad it worked!
Took me some time to figure it out month or two ago when I had that problem.

As for dri3, I see you have it disabled in intel driver, so I thought you wouldn't need it in mesa then.
I didn't notice any difference when I disabled llvm, so like you said it's just much quicker mesa compile, at least I think there's no difference, same games I was running still run with no visible problems.
Told you in previous message that dri3 and llvm are not related to the problem you had, but maybe you should turn them off too, it's up to you
When I disabled gallium and it solved the problem, I was looking at some other USE flags and for testing I just thought I should try it without llvm and see how that goes, because I knew it's a monster of a package and I don't need it for anything else, turned out I don't need it, so you will have to judge that one for yourself.

However, I do have classic USE flag enabled; I though having them both would result in compiling on both the classic and Gallium architectures so it wouldn't be any harm, even if my driver didn't support Gallium.

You are right, that both are compiled, but you have to select the active driver with "eselect mesa set opengl ..." (can't check the syntax that at the moment). As kajzer already mentioned, the i915 gallium driver is horribly broken and is unmaintained for quiet a while. It's a pitty as the gallium driver has been way better than the classic driver.

i915 hardware doesn't do vertex shading in hardware, and this is where the Gallium driver is better. It uses LLVM to build shaders and executes the JIT-compiled programs on the CPU. The classic driver runs the shaders through a software interpreter.