Game Issues With Multiprocessor/Hyperthreading Systems


If you're reading this you probably already know that Thief, Thief Gold, Thief 2, System Shock 2, as well as Grim Fandango don't like multiprocessor/hyperthreading systems.
The non-permanent way to fix this problem is to:
  1. Start the game(go only as far as the menu).
  2. Alt-Tab out of it.
  3. Bring up the task manager(Ctrl-Alt-Esc).
  4. Click on the processes tab.
  5. Find thief.exe / thief2.exe as well as thief2.icd for thief 2 / grimfandango.exe for Grim Fandango.
  6. Right click on it/them and go to set affinity.
  7. Uncheck all of the cpus except one.
  8. Alt-Tab back into the game and play.
This will need to be done every time you start the game as this is not a permanent solution.


The permanent way to fix this problem(without turning off Hyperthreading) is this:
  1. Download imagecfg.
  2. Unzip it to Windows\system32\ as well as Windows\system32\dllcache\.
  3. Make a backup copy of your exe and icd(for Thief 2 and System Shock 2) files.
  4. Open notepad and enter the following for Thief/G:
    imagecfg -u thief.exe
    imagecfg -a 0x1 thief.exe
    pause


    For Thief 2 it's:
    imagecfg -u thief2.exe
    imagecfg -u thief2.icd
    imagecfg -a 0x1 thief2.exe
    imagecfg -a 0x1 thief2.icd
    pause


    For System Shock 2 it's:
    imagecfg -u shock2.exe
    imagecfg -u shock2.icd
    imagecfg -a 0x1 shock2.exe
    imagecfg -a 0x1 shock2.icd
    pause


    For Grim Fandango it's:
    imagecfg -u GRIMFANDANGO.EXE
    imagecfg -a 0x1 GRIMFANDANGO.EXE
    pause
  5. Save the file in the game directory as "processor.bat" including the quotes.
  6. Double click the file processor.bat (must be in the game directory). You will see something similar to the following:
    D:\Games\Thief2>imagecfg -u thief2.exe
    thief2.exe contains contains no configuration information
    thief2.exe contains a Subsystem Version of 4.0
    thief2.exe updated with the following configuration information:
    Image can only run in uni-processor mode on multi-processor systems
    Image can only run in uni-processor mode on multi-processor systems

    D:\Games\Thief2>imagecfg -u thief2.icd
    thief2.icd contains no configuration information
    thief2.icd contains a Subsystem Version of 4.0
    thief2.icd updated with the following configuration information:
    Image can only run in uni-processor mode on multi-processor systems
    Image can only run in uni-processor mode on multi-processor systems

    D:\Games\Thief2>imagecfg -a 0x1 thief2.exe
    thief2.exe contains the following configuration information:
    thief2.exe contains a Subsystem Version of 4.0
    Image can only run in uni-processor mode on multi-processor systems
    thief2.exe updated with the following configuration information:
    Process Affinity Mask: 00000001

    D:\Games\Thief2>imagecfg -a 0x1 thief2.icd
    thief2.icd contains no configuration information
    thief2.icd contains a Subsystem Version of 4.0
    Image can only run in uni-processor mode on multi-processor systems
    thief2.icd updated with the following configuration information:
    Process Affinity Mask: 00000001

    D:\Games\Thief2>pause
    Press any key to continue . . .
  7. Load the game and play.