Warhammer 40K PC game not Playing on Windows 8.1

I recently upgraded my computer to a windows 8.1 HP Envy computer, when I tried to run the game after setup and installation it failed with an error message. This applies to DOW1 DOW winter assault and DOW Dark Crusade all giving the same error.

Here is a picture of the error message hope it provides an insight to the problem:

Cropped screenshot:  ERRORS:  Spooge driver not found.  Verify that DirectX is properly installed.

I have tried running in compatibility with XP but still no luck, Any ideas on how to rectify this?


Solution 1:

I've had a few issues with Dawn of War over the years, so I thought I'd share my experiences. You've mentioned that you've done some of these steps, but for sanity's sake I'm going to list them all anyway:

Working with what you've got

Sometimes Windows' permissions & security can get in the way of you actually using your PC.

  • Navigate to where the Dawn of War folder was installed. It's probably C:\Program Files (x86)\THQ\Dawn of War.
  • Find the game's application .exe file.
  • Right Click -> Properties -> Compatibility tab
    • Check 'Run this Program in Compatibility mode' and select Windows 7 (to start with, try Windows XP SP3 if 7 doesn't work)
    • Check 'Run this program as an Administrator' as well.
  • Try to run the game.

Drivers, Updates and Installations

Assuming you've made it this far then there is a high likelihood you will need to try installing again. but first, we can try updating your PC, and installing necessary drivers.

  • If you have pending updates, restart your PC to install them. It's entirely possible that one of these updates contains the missing or updated Direct X library or some other driver you need.
  • Check for and install the latest version of your Graphics Card drivers
  • Completely uninstall the games, and install them again, one at a time and confirm they work.
    • If during installation the game asks if you want to install Direct X as well, make sure you click 'Yes' and follow the prompts. (It's been so long since I installed the standalone version that I can't remember if Dawn of War does this).
    • Start with Dawn of War, then Winter Assault, and finally Dark Crusade (even though it's a standalone, do it last).

Desperate Times

So, you've gotten through the above and the game still isn't running. According to a source on Relic's forums, you may need to play around with some config files.

To summarise the steps in the link:

  1. Have Dawn of War & Expansions fully installed
  2. Navigate to the Dawn of War directory C:\Program Files (x86)\THQ\Dawn of War.

  3. Find the Drivers folder. Inside this folder there are two files, spdx9_config.txt, and nvidia.txt

  4. Create a folder called something like Originals and move these files into it. You may need the original files later if/when you need to download and install updates.

  5. Create two empty files with the same names as the files above.
  6. Place the dummy files into Drivers and run the game. It should hopefully launch fine.

The author advises not going for the Window option on configure as he found it buggy.

Edit: I did some more investigating, and what the spdx9_config.txt file actually does is lists compatible graphics cards. Unfortunately the game was built to take this list seriously, and as the list has never been updated (from a fresh install perspective at least), the game fails when it can't find your graphics card on the list.

Luckily, I've found an updated file (as of Dec 19, 2012 at least), which I've pasted here. Copy the entirety of this scroll area into your new (empty) spdx9_config.txt file.

;;;;


;
; spDx9_config.txt : configuration for the Dx9 PC spooge driver
;

; configfile : set of shader compiler scripts

; allowdevice : allows cards to always fail initialization
allowdevice 1

; allowhwtnl : allows hardware TnL to be used
allowhwtnl 1

; allowtfactor : allows the TFactor to be used as a constant colour
allowtfactor 1

; allowhwcursor : allows the use of the Dx8 cursor system
allowhwcursor 1

; allow32bitdisplay : allows 32bit display modes
allow32bitdisplay 1

; disableslowalpha : when alpha flipping is not available, don't allow dest alpha
disableslowalpha 1

; allowrgba4np2 : allows D3DFMT_A4R4G4B4 for NP2 textures
allowrgba4np2 1

; isslowcard : used as a hint to automatic configuration to use lower numbers
isslowcard 0

; togglemodeonstartup : tells the driver to toggle the bit depth before starting the device
; fixes problems with running after an OpenGL game

; maxstage : sets a maximum number of texture stages to use
; maxtexture : sets a maximum number of textures to use (in one pass)
; allowtfactor : allows compiler to use tfactor (it is sometimes emulated using the diffuse channel)
; allowtemp : allows compiler to use D3DTA_TEMP as a result
; allowlookupdudv : allows EMBM texturing
; allowrender2texture : allows render to texture
; allowpalettedtextures : allows paletted textures to be created

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; 3dfx
;
begin vendor 0x121a
; Disabled cards (below min-spec)
allowdevice 0
end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; ATI
;
begin vendor 0x1002

configfile ati.txt

allowlookupdudv 0

; Disabled cards (below min-spec)
; RAGE MOBILITY 128 M4 (RAGE 128 PRO based)
begin device 0x4D46
allowdevice 0
end
begin device 0x4D4C
allowdevice 0
end
; RAGE MOBILITY 128 M3 (RAGE 128 PRO based)
begin device 0x4C45 0x4C46
allowdevice 0
end
; RAGE 128 PRO ULTRA
begin device 0x5446
allowdevice 0
end
begin device 0x544C
allowdevice 0
end
begin device 0x5452 0x5455
allowdevice 0
end
; RAGE 128 4X
begin device 0x5345 0x5348
allowdevice 0
end
begin device 0x534B 0x534E
allowdevice 0
end
; RAGE 128 PRO GL
begin device 0x5041 0x5046
allowdevice 0
end
; RAGE 128 PRO VR
begin device 0x5047 0x5058
allowdevice 0
end
; RAGE 128 GL
begin device 0x5245 0x5246
allowdevice 0
end
begin device 0x534B 0x534D
allowdevice 0
end
; RAGE 128 VR
begin device 0x524B 0x524C
allowdevice 0
end
begin device 0x5345 0x5347
allowdevice 0
end
; RAGE MOBILITY M/M1/P (RAGE PRO based)
begin device 0x4C4D
allowdevice 0
end
begin device 0x4C52
allowdevice 0
end
; RAGE LT-PRO (RAGE PRO based)
begin device 0x4C42
allowdevice 0
end
begin device 0x4C49 0x4C50
allowdevice 0
end
; RAGE LT (RAGE II based)
begin device 0x4C47
allowdevice 0
end
; RAGE XL (RAGE PRO based)
begin device 0x474D
allowdevice 0
end
begin device 0x474F
allowdevice 0
end
begin device 0x4752
allowdevice 0
end
; RAGE XC (RAGE PRO based)
begin device 0x474C
allowdevice 0
end
begin device 0x474E
allowdevice 0
end
; RAGE PRO
begin device 0x4742
allowdevice 0
end
begin device 0x4744
allowdevice 0
end
begin device 0x4749 0x4750
allowdevice 0
end
; RAGE IIC AGP
begin device 0x4757
allowdevice 0
end
begin device 0x4759 0x475A
allowdevice 0
end
; RAGE IIC PCI
begin device 0x4756
allowdevice 0
end
begin device 0x5656
allowdevice 0
end
; RAGE II+
begin device 0x4755
allowdevice 0
end
; RAGE II
begin device 0x4754
allowdevice 0
end

; Radeon 7000
        begin device 0x5159
allowdevice 0
end


; Slow cards
; Radeon 7500
begin device 0x5157
isslowcard 1
end
; Mobility Radeon 7500
begin device 0x4C57
isslowcard 1
end
; Radeon/Radeon 7200
begin device 0x5144 0x5147
isslowcard 1
end
; Radeon IGP
begin device 0x4336 0x4337
isslowcard 1
end
; Radeon IGP
begin device 0x4437
isslowcard 1
end
; Radeon VE/Radeon 7000
begin device 0x515A
isslowcard 1
end
; Mobility Radeon
begin device 0x4C59 0x4C5A
isslowcard 1
end
end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; nVidia
;
begin vendor 0x10DE

configfile nvidia.txt'

; disable drivers prior to version 52.16 (previous versions have quirks with directx 9 in win98)

begin version 0x0000 0x000D
allowdevice 1
end
begin subversion 0x0000 0x0009
allowdevice 1
end

begin build 0x0000 0x1459
allowdevice 1
end

; Disabled cards (below min-spec)
; RIVA TNT
begin device 0x0020
allowdevice 0
end
; RIVA TNT2/TNT2 Pro
begin device 0x0028
allowdevice 0
end
; RIVA TNT2 Ultra
begin device 0x0029
allowdevice 0
end
; Vanta/Vanta LT
begin device 0x002C
allowdevice 0
end
; RIVA TNT2 Model 64/Model 64 Pro
begin device 0x002D
allowdevice 0
end
; Aladdin TNT2
begin device 0x00A0
allowdevice 0
end

; NV1x (GeForce 256/2/2mx/4mx)
begin device 0x0100 0x01FF
allowrgba4np2 0
isslowcard 1
end

        ;  nvidia genius reused a segment inside the 0x01.. range of ids for the NV43 line
        ;  turn on what has been turned off by previous group of devices for this cards
        ;       NV43 Geforce 6200,6600/6610 GT/PCI, Quadro FX540,  line
        begin device 0x0140 0x014F
              isslowcard 0
              allowrgba4np2 1
              allowhwtnl 1
        end
end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Matrox
;
begin vendor 0x102b

; G550
begin device 0x2527
allowdevice 0
end

; G400/G450
begin device 0x0525
allowdevice 0
end

end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Intel
;
begin vendor 0x8086

isslowcard 1

; 810 (and 810e)
begin device 0x7121 0x7123
allowdevice 0
end

; Intel(R) 82810E
begin device 0x7125
allowdevice 0
end


end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; S3
;
begin vendor 0x5333

isslowcard 1

; Savage4
begin device 0x8a22
allowdevice 0
end

; ProSavage
begin device 0x8A26
allowdevice 0
end

; ProSavageDDR
begin device 0x8D02
allowdevice 0
end

begin device 0x8D04
allowdevice 0
end

; Savage 2000
begin device 0x9102
allowdevice 0
end

end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; SiS
;
begin vendor 0x1039

isslowcard 1

; 315/315e
begin device 0x0325
allowdevice 0
end

; xabre
begin device 0x0330
allowdevice 0
end

; 630/730
begin device 0x6300
allowdevice 0
end

; SIS (M)650, 651
begin device 0x6325
allowdevice 0
end
end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Trident
;
begin vendor 0x1023
; Blade XP
begin device 0x9910
allowdevice 0
end

; CyberBlade XP
begin device 0x8820
allowdevice 0
end
end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; PowerVR
;
begin vendor 0x104A
end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; VIA/S3G
;
begin vendor 0x1106

isslowcard 1

; UniChrome Graphics, KM400/KN400
begin device 0x7205
allowdevice 0
end

; UniChrome Graphics, KM400/KN400
begin device 0x9910
allowdevice 0
end

end
;;;

Solution 2:

I got the same "Spooge driver not found..." error with DoW: Dark Crusade disk version. Starting the game as Administrator or using compatability mode (XP and Windows 7) did not work.

I tried deleting the C:\Program Files (x86)\THQ\Dawn of War - Dark Crusade\Drivers\spdx9_config.txt file and then I was able to start the game and config graphics.