EverQuest2.exe and context.c

Stefan Dösinger stefan at codeweavers.com
Wed Jul 23 11:10:02 CDT 2008


> 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).







More information about the wine-devel mailing list