Hey guys. I recently bought a Dell XPS 15 L502x Sandy Bridge Laptop with a Core i7 2720QM CPU, a GT540m 2 GB GPU, and 8 gigs of RAM. For the most part, I am very happy with this laptop, except for the fact that it wouldn’t play my favorite game, Napoleon Total War, with the GPU. Every time I loaded a sea or land battle, the game would crash during the loading screen. I also found that the game would crash if I right clicked on a general in the campaign map. I have looked at many different forums on the internet, and it seems like anyone who has a 500m series GPU, such as the GT525M, the GT540M, or the GT555m, has this problem with Napoleon Total War. Well, after much frustration, tinkering, and research, I believe I have a solution to this annoying problem. I have only been able to test this solution on my own laptop with the GT540m, but I think it may work with the other GPUs because they have the same problem.
I had pretty much given up hope that the Creative Assembly or Nvidia would fix this problem with a new driver or update. I recently bought Shogun 2 to distract myself from Napoleon, but I didn’t like it as much. Shogun 2 wasn’t working for me either because many of the graphics options were grayed out, and the game would not read my GPU. I searched for answers, and I came across this forum post:
Basically, I applied this solution to the Napoleon Total War preferences.script.txt file. (The solution didn’t work for me in Shogun 2). I’ll try to explain the solution as best I can.
I’ve deduced that the problem is that Napoleon Total War doesn’t think the GPU has any VRAM so it crashes when it starts to run. To fix this you have to go to this file path: C: Usersinsert name): AppData: Roaming: The Creative Assembly: Napoleon: script (To get to this you have to be able to see hidden files and folders. Also, I used Windows 7).
Once you open the preferences.script text file, you will find a line about 10 lines down that probably looks like this: gfx_video_memory 0; # gfx_video_memory <int>, Override available video memory (bytes) #
You will notice that the gfx_video_memory is 0. I believe that this is the problem that prevents Napoleon Total War from running with the GPU. To fix the problem, you need to change the gfx_video_memory value to whatever your GPU memory is. The line in my preferences.script file looks like this: gfx_video_memory 2147483648; # gfx_video_memory <int>, Override available video memory (bytes) #.
Now the 2147483648 is the value for my 2 GB Gt540m. If you have a 1 GB card, then type in half that value. I’ve noticed that after restarting my computer, the value changes to -2147483648. I do not think that this has any effect on the game; Napoleon still works for me when it is like that.
If for some reason the game does not work after typing in the appropriate value for a 1gb GPU, try typing in the above value for a 2gb card. It might solve the problem. Also if the game works, I would suggest saving a copy of the corrected preferences.script file. If for some reason the game stops working, reload the corrected preferences.script file because the game might have reverted back to thinking the GPU has 0 VRAM.
I hope this fix will work for everyone. It is unfortunate that Nvidia and the Creative Assembly have ignored this problem. I would like to hear whether this fix works for other users so post your experiences on this thread. Also if it works, I would appreciate it if you guys would post the fix on other forums, and if you would point people towards this fix. Hopefully, we can completely resolve this issue.
Sorry if is post got long. I wanted everyone to know where I got the idea for the fix from. I also wanted to explain my rationale for my actions in case anyone can spot an improvement or error I made somewhere.