oldgames:unrealgold

The original installer works without trouble on Windows 10. It prompts for UAC elevation correctly.

Notes:

  • Use a customised install so you can change options
  • Do not install DirectX, deselect the option - this was only required on old PCs that may be lacking the components. Selecting it on a modern PC may lead to problems.
  • I installed to a secondary hard drive without trouble
  • It seems to create shortcuts in the Start Menu correctly
  • Do not try to run Unreal immediately after installing it - uncheck that option. We want to install a patch first.

This assumes you are running Unreal Gold version 226. Fan made patches don't always work with the add-ons I am recommending.

Unreal is supplied with some very old video “drivers”. Driver here is not the same thing as your video card driver; it is an abstraction Unreal uses to allow it to use different graphics APIs. When Unreal was released, most people were using 3dfx voodoo cards. Unreal has a 3dfx glide driver for that, which is useless with a modern PC. There is a DirectX driver supplied that is very much out of date and does not play nicely with modern systems.

I recommend using the following driver:

Installation is simple. Download the file called d3d10drv-v29.zip to start. Note that the page also recommends a DirectX and Visual Studio 2010 runtime download, but those don't seem to be required on my system. However for completeness, the links to the packages I did not require are here:

Patch installation

  • Open Windows Explorer and navigate to your Unreal directory. Open the System subdirectory.
  • Open d3d10drv-v29.zip and extract the contents of the directory called Unreal_226_Gold into the Unreal System subdirectory.
  • Run Unreal. If you correctly followed my instructions it will be the first time you launched the game, so you'll be asked which video driver to use. On that screen…
    • At the bottom, choose Show all devices
    • Then pick Direct3D 10 Support from the list
    • Click Next » and proceed to start the game

Patch tweaking

The game should launch successfully. If you have a dual monitor setup, you might notice it launched on the wrong monitor the first time. To fix that, click the “[ ]” icon in the top-right of Unreal to put it into windowed mode, drag the window to your primary monitor and click it again to go full screen. You might need to relaunch Unreal after doing this before it “sticks” to the correct monitor.

Go into settings and set the correct display resolution, and enable all special effects.

To tweak advanced settings for the driver, from the Unreal menu select Tools → System Console and then enter preferences and press enter. You'll see a preferences window appear. Navigate to the Rendering node, expand it and then look for the Direct3D 10 Support node and expand that. You can adjust settings for the driver there - note that you probably need to restart Unreal for it to take effect.

Copied from the website, here are the settings and what they do. I copy them here incase the original website goes offline. All credit to this documentation goes to the original author of the following page: http://www.kentie.net/article/d3d10drv/

Alpha to coverage
Smoothens the edges of 'masked' textures such as grates and leaves. Unfortunately, this does lead to artifacts where the textures don't tile (example). Requires at least 4x anti aliasing enabled to take effect. Valid settings: true/false. Default: false. Note: on some hardware this setting seems to result in black backgrounds around HUD icons, etc. I suspect this is a driver issue.

Anisotropy
Anisotropic filtering, makes textures look less blurry at a distance. Valid settings: 0 to 16. Default: 8.

Anti aliasing
Greatly improves visual quality by filtering jagged lines. Valid settings: depends on video card. 1 and lower is off. 16 is the absolute maximum. If an unsupported setting is selected the renderer falls back on the next lowest supported one.

Auto FOV
Automatically sets the field of view depending on the window/screen size. Might want to turn this off if you want to set an extra-wide FOV for multiplayer games. Valid settings: true/false. Default: true.

Classic lighting
With this enabled, the lighting matches that of the original renderers. Otherwise, D3D10 renderers before version 18 use a more vibrant lighting scheme; after version 18 HDR is used (in which case reverting to classic lighting improves performance). Valid settings: true/false. Default: true.

FPS limit
Prevents the games from running too fast even with vsync disabled, by limiting the maximum frames per second drawn. The games seem to appreciably start to speed up above ~200 FPS. Valid settings: 0 to whatever. Default: 100. Think twice before completely disabling this, as wrong timing information will be fed to the shaders (resulting in too-fast HDR for instance).

LOD bias
Setting this to a negative values makes the game use larger mipmaps (textures) than it'd normally do. Theoretically improves quality but far-off textures tend to look too 'busy'. Valid settings: -10 to 10. Default: 0.

Parallax occlusion mapping (POM)
Gives surfaces 3D relief. Pretty GPU intensive, and you might not like the way it looks. Will use an external height map texture if present, otherwise the detail texture is used. Valid settings: true/false. Default: false.

Simulate multi-pass texturing
Greatly improves the look of various skies and alters the look of reflective surfaces and some windows. This matches the look used by early versions of Unreal running on 3Dfx hardware; later versions of that renderer seem to have switched to single-pass multitexturing. This setting can be turned off for the look most people will be used to. Valid settings: true/false. Default: true.

Precache
Makes the game preload textures, which can lead to smoother gameplay. However, it does increase (un)loadtimes. Valid settings: true/false. Default: false.

VSync
Synchronizes the game's frame redraws with monitor updates, reducing visual tearing. However, some people seem to experience input lag with this enabled (in other games as well). Valid settings: true/false. Default: true.

Bump mapping
Can be ignored unless you've got special textures installed. Attempts to fake bump mapping if textures have normal maps present. Requires a normal map to be either present in the texture's bump map slot, or provided as an extra external texture. Valid settings: true/false. Default: false.

Unlimited view distance
Sets view distance to the maximum supported map size. By request. No reason to touch this.

There is a 3rd party OpenGL driver you can also try: http://www.cwdohnal.com/utglr/

This is probably what you want to use if you are trying to run this inside something like wine.

If you experience audio stuttering issues (I did) you can fix it by tweaking the latency.

  • Start Unreal
  • From the menu, select Tools → System Console
  • Type in preferences and press enter
  • Expand the Audio note
  • Look for Latency. The unit is milliseconds. Change it to fix the issue:
    • 40 is the default and has stutter with sound effects for me
    • 64 should fix the problem for most people
    • 72 was required on one system I changed the setting on
  • Close the Preferences window and then restart Unreal for the setting to take effect.

The most common cause is that you are using an older multi-core CPU, and this game uses QueryPerformanceCounter API calls (CPU TSC) and falls victim to the CPU TSC jumping around as the game is moved between CPU cores or the clock speed is adjusted dynamically based on CPU load. I discuss this problem more on my “common problems” page.

As explained on Wikipedia, modern CPUs have this issue fixed: https://en.wikipedia.org/wiki/Time_Stamp_Counter

Microsoft have an explanation here: https://support.microsoft.com/en-us/help/895980/programs-that-use-the-queryperformancecounter-function-may-perform-poo

This mostly applies to older dual core systems running Windows XP.

Windows XP - disable TSC (usepmtimer)

  • Add /usepmtimer to the end of the boot configuration line for the Windows NT kernel in boot.ini (found on the root of your boot drive) and reboot.

Windows XP - force affinity to 1 CPU core

If you don't want to disable usage of the TSC, you can do this instead but it will only work if SpeedStep / Cool 'n' Quiet is disabled:

  • Launch Unreal and make it run windowed.
  • Open Task Manager, and find the Unreal process.
  • Right click it and set the affinity to run only on 1 CPU

There are programs (in the SysInternals kit if I remember correctly) to allow you to ask Windows to always start Unreal on only 1 CPU core if you want.

Windows 10

This doesn't seem to be a problem with modern CPUs.

Did you install and use the video driver patch from earlier? If so, please look at the information earlier about changing advanced settings, and try enabling vsync or FPS limit. If you don't like vsync and choose to use the FPS limit, use something lower than 200 otherwise the game seems to be unable to reliably run at the correct speed. That should solve the problem.

  • oldgames/unrealgold.txt
  • Last modified: 2017/12/23 08:33 UTC
  • by Zipplet