http://bugs.winehq.org/show_bug.cgi?id=5955
stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed| |1
------- Additional Comments From stefandoesinger@gmx.at 2006-20-08 14:22 ------- Well, we still use the old software rendering code for 2D games by default, except if the application lies to us and requests a D3D capable surface for no reason(worms world party does that). You can work around broken games by forcing gdi rendering. This won't help for applications which request a DDSCAPS_D3DDEVICE surface AND initialize a d3ddevice without needing it, but this is the same behavior as with old ddraw.
The crash that you are seeing is that the initialization code in wined3d determines the capatiblities of your opengl installation, and this init code apparently crashes if you don't have opengl. Additionally we always report to have 3D capatiblity altough we shouldn't. These are some things which I didn't have time for adding to wined3d yet, sorry about that.
So no, you do not need opengl by design to run 2D games, it is just missing error checking in createFakeGLcontext and GetDeviceCaps. (an if(something == NULL) return D3DERR_NOTAVAILABLE; check might do the job)