Call of Duty and NV_vertex_array_range
Rob Crittenden <[email protected]>
| Newsgroups | gmane.comp.emulators.winex.devel |
|---|---|
| Message-ID | <[email protected]> |
I've been experimenting with the new Activision game Call of Duty. I'm
running it on an Athlon XP+ 1800 with a GeForce 4400 and the 4496 Nvidia
drivers. I run my games in a separate X session with no window manager.
I wasn't able to get it to work at all using WineX 3.1 so I tried CVS. I'm
using a slightly old pull, from Nov 5.
Using CVS I got very mixed results. Sometimes it would crash before the
Activision logo would appear. Sometimes it would get as far as the menu
before crashing (right after displaying the menu).
Then, suddenly, I could play. I played multi-player for many hours and the
game works perfectly (well, maybe a slight lag, see below).
The only strange thing is that when I'd start the game, I'd get this:
NV_vertex_array_range extension present, but no AGP memory could be allocated
- will use system memory instead, which may reduce performance
- try reloading the kernel modules or rebooting to fix this
Strange. I've seen this before when I'd quit an X session and restarted it.
The driver wasn't reinitializing things properly. I haven't see this much with
the 4496 driver but with previous drivers I'd see if every time I quit X. I'
m not sure how the card got into this state, but it let me play, so what the
heck.
I recently rebooted my machine and was in the same boat, couldn't play.
So I hacked the x11drv to simulate this condition with this change:
diff -r1.50 executebuffer.c
171a172,179
> #if 1
> X11DRV_GLX_VertexArraySize = 1;
> X11DRV_GLX_VertexArray = NULL;
> X11DRV_GLX_VAR_Enable = FALSE;
> MESSAGE("simulating NV_vertex_array_range extension present but no AGP memory will be allocated\n");
> return;
> #endif
>
This allowed the game to get to the main menu. I can do basically anything
I want there: configure controls, audio, video, etc. I can even get so far
as to refresh the server list and join a game. Unfortunately when the map
loads the game crashes at random points. Sometimes it crashes immediately
when trying to load the map. Sometimes it gets as far as the map welcome
screen where you pick a team and then crashes.
As a goof I quit X in both X sessions and ran startx again. Now when I bring
up the 2nd X server and launch the game I get the "no AGP memory could be
allocated message" after disabling my code change and the game works just
fine.
Any suggestions on tracking this down? I tried debugging with +x11drv but
nothing real useful appeared, to me anyway.
thanks
rob
-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/