Civ4 will not launch; crashes to desktop mid-initialization

AW Arcaeca

Deus Vult
Joined
Mar 10, 2013
Messages
2,984
Location
Operation Padlock ground zero
What the title says. This is the error Civ4 throws when it fails to launch:

civ4-1.PNG


Now I recently bought a new laptop, and transferred the SSD from the old laptop into this new one - and because the new hardware didn't match the old drivers, right out of the box a whole bunch of hardware was not working. So I assumed that's what must be causing this error, an out-of-date graphics driver; also since Civ4 has never refused to start before in this fashion, except on this new laptop.

But... after going out of my way to install the most up to date drivers for both graphics cards (integrated Intel card and the NVIDIA card), Civ4 is still throwing this error.

I'm also not sure what about the DirectX installation I should be checking? dxdiag confirms that yes, DirectX (v 12) is installed... beyond that I'm not sure what I should be looking for in the dxdiag output.

Additionally - this isn't the Steam installation; the game files are ultimately from a CD, but I don't have the CD on me - the installation is basically of a copy from a copy from the desktop from my childhood home. So "try uninstalling and reinstalling" doesn't work - I have nothing to reinstall from.

Let me know what additional information is needed to diagnose the issue - I can pull up the system information if needed but I'm just not sure what in it is relevant or not.
 
Try downloading and installing DirectX 9 from Microsoft.
 
Try downloading and installing DirectX 9 from Microsoft.
From here?
https://www.microsoft.com/en-us/download/details.aspx?id=8109
This is what came up when I went looking for a DX9 download from Microsoft; I extracted the files to a temporary folder, ran the included DXSETUP.exe, and... Civ4 still won't run, still throwing the same error. Dxdiag still says the installed DX version is 12, so I'm not sure if it only displays the most up-to-date installed version, or if the DX setup genuinely did nothing.

I thought DirectX was supposed to be backwards compatible anyway?
 
Perhaps the problem is just that 1280x720 does not match your new screen resolution. I get the same error message if I set FullScreen=1 and ScreenHeight, ScreenWidth to values other than my desktop resolution in My Games\Beyond the Sword\CivilizationIV.ini.
 
So, my System Information implies the native resolution is 1920 x 1080, rather than 1280 x 720:

civ4-5.PNG


(I'm not sure whether I should be concerned or not that that the NVIDIA GPU apparently doesn't have a resolution... I have gone to the NVIDIA control panel but no option to change its default resolution shows up)

So I changed ScreenHeight to 1080 and ScreenWidth to 1920 in both My Games\Sid Meier's Civilization 4 Complete\CivilizationIV.ini and My Games\Beyond the Sword\CivilizationIV.ini, and... it still throws the same error, but with different numbers:

civ4-4.PNG


Both values were set to 0 before in both .ini files... that, apparently was not causing a crash on the old laptop...
 
Both values were set to 0 before in both .ini files... that, apparently was not causing a crash on the old laptop...
Ah, right, I had forgotten that it's 0 by default; I think 0 should generally work. So perhaps the wrong resolution in the error popup is indeed only a symptom of some deeper issue with the drivers or graphics libraries. (Though my understanding is also that DirectX is backwards compatible.) Might still be worth trying to launch in windowed mode, i.e. with FullScreen=0.
 
So I tried changing it to windowed mode in the .ini, and it instead threw this even vaguer error message:

Civ4-6.PNG
 
Hey there's been an update - it seems like the NVIDIA GPU built into my laptop is just not working at all, for as yet unknown reasons. But in the process of uninstalling and reinstalling all the graphics drivers (both NVIDIA and the integrated Intel graphics), while the display was temporarily running on just a super outdated version of the Microsoft Basic Display Adapter, Civ4 did actually manage to boot up. And then stopped booting up again once the drivers were reinstalled.

Since the NVIDIA GPU seems - from a number of other clues - to not be working, but the Intel one is, under the assumption that NVIDIA was the culprit, I went into the NVIDIA control panel > Global Settings and turned off the NVIDIA GPU as the globally preferred graphics processor, so that Civ4 wouldn't even try to use it. And sure enough, on Intel graphics... it boots up fine.
 
Bump, because I have an update:

I have spent the past several months thinking the RTX 3050 in my laptop is just completely inoperable and have been trying to get it to work. After much wailing and gnashing of teeth and checking BIOS for GPU settings (there are none, for some reason) and wiping the NVIDIA driver installation and reinstalling a different version... multiple times... I finally found a driver for the GPU that kind of works.

Specifically I can confirm the camera works on the GPU. If I go into Windows Settings > Display > Graphics Settings and tell it to use the NVIDIA GPU for the camera, and then I open up the camera app, Task Manager confirms the GPU is, indeed, in use.

This confirms that 1) the GPU hardware itself is not broken, and 2) the currently-installed driver can interface with it.

I just don't know why it's only working with the camera right now. Civ4 will still crash mid-launch (same "initialize renderer failed") if the preferred GPU is set to anything but Power-saving (i.e., integrated/Intel).

So the GPU works, in a general sense, but Civ4 specifically will crash if told to use it. This makes me suspect there's a problem with an installation path, or a filepath to a driver or DirectX in the registry or something, but I don't know what I'm looking for or where... does anyone know what I might investigate?

(I also don't know why setting the NVIDIA GPU as the default processor in the NVIDIA control panel isn't doing anything. Yeah, I'm aware Windows removed that functionality, but this is a relatively old build of Windows 10, I think before that functionality was removed?)
 
Top Bottom