Thursday, May 21, 2009

Quake on Windows 7

Today I've been mostly testing out the Windows 7 RC. Quake-wise, it seems reasonably compatible...

I did a fresh install of stock ID Quake from a "Quake: The Offering" set as a baseline, then initially fired up WinQuake, which worked almost perfectly first time. There was some slight palette corruption on occasion, but this is documented in ID's "readme", and the solution is to issue a "bf" command at the console to clear it (must add that to DirectQ...)

Stock GLQuake (0.95, the version on the CD) was a mixed bag. After renaming the opengl32.dll in the Quake folder, I launched it, and it died almost straight away. I then decided to try out windowed mode, which worked perfectly. Following that, I went for a fullscreen mode with some application compatibility settings, but it continued to die. Fullscreen dying was expected, and even XP has issues with stock GLQuake, but I really didn't expect windowed mode to work.

The next test was a modified engine, so ProQuake was the first choice. Both fullscreen and windowed modes worked perfectly. qRack was the next candidate, and it went down in flames, failing both Windowed mode and Fullscreen mode. Then I remembered that it needs a PAK file, so suitably embarrassed I went and set the right command-line switches and everything worked beautifully. Suggestion to R00k - automatically load that PAK file from the qrack gamedir, please? Then I did DarkPlaces, both the SDL version and the standard version, and both worked fine. It did however give me an "Internet Communication" alert from the standard Windows Firewall - what's going on here?

Of course I couldn't resist adding DirectQ to the engines tested, and it passed with flying colours. It did however require a DirectX update, owing to a missing DLL, so it seems as though the version of the Direct3D 9 runtimes that ships with Windows 7 is out of date (it was also out of date on Vista). MS should really resolve this as a lot of people running older (but not that much older) games on Windows will be burned by it.

I think I'm currently compiling to the March or April 2008 version of the SDK, so it seems a little unreasonable to be shipping a runtime that's over a year old.

Back on topic, both DarkPlaces and qRack gave me an "Unknown Publisher" alert when I ran them; none of the other engines did.

Performance-wise, stock GLQuake and ProQuake sucked, very badly. We're talking about 50-ish FPS in Windowed mode, and not much better fullscreen (ProQuake only). Fiddling with vsync options seemed to have no measurable effect. DarkPlaces came next best, averaging in the high hundreds. DirectQ was a little faster, and qRack was the only one to exceed 200 FPS. I didn't time WinQuake. I suspect that DirectQ would have been fastest of all if it wasn't using 64 bit lightmaps, but this seems a more than fair tradeoff to me.

Bear in mind that we're talking about a machine that's close enough on 5 years old here, so overall things look reasonably well.

0 comments: