Ok I did a clean install.. rebuilt wine from the base 1.1.1 code put the above patch into the context.c and reran EverQuest2.exe I put export WINEDEBUG=+d3d,+sed before running and am attaching the trace. (If you need more just send me a message and I will retry it. I still get the card does not have pixel shader error (and yes the card has pixel shaders (its an ATI FIREGL5200)). I am attaching the log and the screenshot.
Don't let yourself be fooled by the pixelshader error message. It most likely has nothing to do with pixel shaders at all. Most likely the game does something like this:
try { do_init_1(); do_init_2(); do_init_3(); } catch(all_stuff_that_can_go_wrong) { /* Initialization fails. This usually means that the card doesn't have the features * we need */ MessageBox("NO PIXEL SHADERS!!!!! GO BUY A BETTER CARD!!11!1!!\n"); }
Of course the app isn't prepared for other things to go wrong, e.g. a Wine bug or a driver bug, and fails to write as much details about the problem as it can. Writing proper error paths is a pain in the ass, and so on.
wine: Unhandled page fault on read access to 0x016c6580 at address 0xa3502f (thread 0021), starting debugger..
This line is much more suspicious. The app seems to crash somewhere, and as far as I can see in the log long after initializing the opengl context. It does a reset call, but the Reset call succeeds. If changing the pixel format loading changes the behavior, it's most likely because it avoids triggering some crash in the graphics driver(doesn't mean it is a driver bug though).