Thursday, June 3, 2010

guild wars on linux

cool. got guild wars running with wine on linux. the install and running the game was no problem, but i did need a couple of tweaks to get performance up to a playable level.
this page on the wiki was important, as it pointed out things like the emulated hardware acceleration for the alsa audio. (winecfg) i found that the pixel shader was fine to leave on, even though my hardware ain't that great. the wiki page says to use the pbuffer for osr on low-grade hardware, which i guess means to use a pixel buffer for off-screen rendering. i couldn't see how to do that, but fortunately it wasn't needed. also, i had to check the 'allow the window manager to control the windows' or else my keyboard wouldn't work and i couldn't even log in. i had previously changed the windows version to 2000 and installed a few winetricks, but i don't think those are too important.
some of the other changes i'm not sure if they are essential in isolation, but they're part of the final solution: (regedit) UseGLSL disabled, Multisampling enabled, anti-aliasing 2x in game. OffscreenRenderingMode to backbuffer seemed to help a lot with freezing graphics when moving (loading new shaders), even though the wiki page says to do that when the screen turns black. also, setting the game to fullscreen with the same resolution as my linux xwindows (1280x1024, like i said my hardware ain't that great) seemed to get better performance than any other resolution, even than lower ones. (it also avoids the annoying problem of panning around the virtual screen when i move the mouse to the bottom or right.) i also used WINEDEBUG=-all to turn off the errors and warnings, but i doubt that matters much. and i didn't bother to use the -windowed flag.
EDIT: based on the wine db, looks like pbuffer is a registry setting for OffscreenRenderingMode. a few other suggested settings, but i don't think i'll need them.

No comments: