Gordon and Alyx

  The Half Life 2 Audio Loading Fix Page  a.k.a "The MaLDo Fix"      

HomeFAQDownloadsHalf Life 2 Forum Audio Loading ThreadContact
 
HL2 Logo Introduction

This web site is the home page of the Half Life 2 Audio Loading Fix, also know as "The MaLDo fix".

It is the result of work by the Steam Community to eliminate a major cause of "audio stuttering" and "hitching" in Half Life 2, namely the dynamic loading of game sounds.

 
HL2 Logo Background

Stuttering has been a problem with Half Life 2 since it was first released. The Source sound system seems to react particularly badly to any resource shortages e.g. if the CPU is overloaded or the video card cannot keep up with the settings being used. On many (not all) systems instead of the more normal fps drop or game "hitch" it produces a very distracting s-s-s-s-tutter which kills game immersion and can make the game unplayable.

After much work by the Valve team, stuttering was virtually eliminated on "clean" systems at the end of 2004. The game's dynamic loading system still had a tendency to access the hard disc much more in the middle of game play than most other games of its class, but the impact had largely been reduced to a "hitch", or momentary game pause, rather than a distracting stutter. However, on the 23rd September 2005 Valve released a game update which re-introduced stutter to many who had eliminated it and gave some others their very first taste.

The main cause of this re-introduced stutter was discovered to be the dynamic loading of sounds "on-demand". A member of the Steam Community, MaLDo, discovered a way to eliminate hitching due to audio loading early in 2005. He discovered that when this fix was applied to a stuttering system, post 23/9, the stutter and the hitching was eliminated. He opened a thread in the Steam Half Life 2 forum to share the information.

The original post was more of a set of hints and tips than a packaged "fix" - it did not cover all chapters of the game, did not comprehensively include all sounds for all levels and was generally difficult for novices to apply. It had been developed for MaLDo's personal use, and not with re-use in mind. This was where I came in. Initially I simply re-packaged MaLDo's original files to make them easier for newcomers to understand, but later I decided:

  • To use data in the game files to add sounds for chapters not yet covered and enhance the sound-base of the others

  • To restructure the files so there was one easily defined file to run for each chapter, instead of changing sounds at, difficult to identify, points mid-chapter

  • Finally, to run through the entire game to capture the game sounds comprehensively for all chapters.

..... and these pages and associated downloads are the result of that work - A comprehensive solution to stuttering and hitching due to audio loading - totally indebted to the groundbreaking work of MaLDo but, hopefully, enhanced and simplified for wider use by the Steam Community.

 
HL2 Logo Using the Fix

I should say that although I have tried to make this as easy as possible to use it does require more messing about than you should normally have to put up with to play a game. Sadly, this is a limitation of the way the game works and there is nothing we, the users, can do to make it any easier. It is not possible, other than in very limited situations to load the sounds automatically when you start a game.

First download the necessary files from here. The Half Life 2 files include fixes for both the original game and the "Lost Coast" technology demonstration.

Half Life 2

  • Copy all files in the "cfg" folder of the zip file to
    C:\Program Files\Valve\Steam\SteamApps\<account name>\half-life 2\hl2\cfg

  • Optionally add items in the "autoexec.cfg" to your autoexec file. These are not directly related to the fix and in many cases will already be your system's defaults, but have been found to help by some.

  • Set your heapsize to at least 700MB, i.e.. "-heapsize 716800" or more. It is recommended you have at least 1GB RAM, but see below. If you don't know how to set your heapsize see here.

  • Now, whenever you wish to play the game you need to first run the right file for the chapter you wish to play. This file loads just about all the sounds used by that chapter. Hopefully enough to eliminate all stutter and all noticeable hitching.

  • To load a sound file, when you are in the game bring up the console and type "exec 0". Below the text box you should see a list of files all numbered "0nn@xxxxxxx". you can scroll though these with your arrow keys. "0nn" is the chapter number, as in the new game menu. "xxxxxxx" is the name of that chapter, roughly as it appears on your screen when you start it. Just select the file for the chapter you are about to play and hit enter!

  • If you have not done so already, you can then load a "new game" or a "saved game" as usual.

  • You also need to remember to load a new sound file whenever you open a new or saved game in another chapter (either before or immediately after loading) and when you move from one chapter to another in the game i.e.. when text appears on the screen such as "Red Letter Day" or "Water Hazard".

  • All the files you need to directly load yourself will be listed (they all start with a "0"), in the correct order. Ignore the others you put in the cfg folder, they will be accessed automatically.

  • If you do not have 1GB RAM you might like to try the above file anyway. One person at least, who has managed to get a very good 'clean boot' with 512MB RAM has successfully used a 700MB heapsize. Only 25% of the heap is allocated for sounds and HL2 does not have a use for all of the remaining 75%, so although you have told Half Life it can have up to 700MB you will not, in practice need 700MB of RAM for the game - maybe only 350MB-500MB. You may be able to use this fix with less RAM than it appears. You will know you have too little RAM when the game runs even worse than without the fix and there is a lot of hard disc activity whilst playing the game. Windows, in this situation, needs to move parts of the game and/or operating system to and from "real RAM" and "virtual RAM" on your hard disc and this will render the game unplayable.

  • If you do not have enough RAM you can try stopping unnecessary applications, system tray items and processes or use this file. The files in this package will work with 768MB RAM and a 500MB heapsize, they may also work for many with 500MB RAM, but are much less effective. My real recommendation is to upgrade to 1GB!

Lost Coast

  • There are three lost coast files in their own folder of the zip file, called "lc_cfg". The files are:

  • lostcoast.cfg

  • 001@Lost_Coast.cfg

  • chapter1.cfg

  • Copy these files to C:\Program Files\Valve\Steam\SteamApps\<username>\lostcoast\lostcoast\cfg

  • Unlike with the main game, there is no need to increase heapsize from the default to use these files

  • For Lost Coast ONLY, if you start a "new game" the sounds will be loaded automatically.

  • If you want to play a saved game without first starting a new one you will still need to load the sounds manually. In this case, When in Lost Coast, bring up the console and type "exec 001@Lost_Coast.cfg"

Half Life 2: Episode 1

  • These are files developed entirely by MaLDo. I have offered to host them to provide a reliable download location. They require at least 2GB RAM to work. Do not use these files if you have less than 2GB RAM!

  • Copy all files in the "cfg" folder of the zip file to
    C:\Program Files\Valve\Steam\SteamApps\<username>\half-life 2 episode one\hl2\cfg

  • The zip file also contains MaLDo's autoexec.cfg and config.cfg for your info. You should probably NOT use these files as they are, but might like to look at them for any ideas.

  • Set your heapsize to at least 1.5GB, i.e.. "-heapsize 1500000" or more. If you don't know how to set your heapsize see here.

  • Once all this is done the files will be automatically loaded each time you play the game.

Minerva: Metastasis

  • There are three files in the Minerva zip file. The files are:

  • autoexec.cfg

  • chap_01_02.cfg

  • 001@Metastasis_1_and_2.cfg

  • Copy these files to C:\Program Files\Valve\Steam\SteamApps\SourceMods\metastasis\cfg

  • If you have already created your own autoexec.cfg for Metastasis then you should be careful to extract these files to a different location first, add the contents of my autoexec.cfg (one line) to your own, and then copy the other two files to the above location.

  • Set your heapsize to at least 300MB, i.e.. "-heapsize 307200" or more. Note: this is less than the original Half Life 2 game and the fix should work provided you have at least 500MB RAM. I would not recommend using this fix if you have less than 500MB RAM. If you don't know how to set your heapsize see here.

  • The sounds will be automatically loaded whenever you start the game.

Counter-Strike: Source

  • Although I have done no work on sound loading for Counter-Strike, for completeness I have offered to host the files for this game too. They can be found here.

 
HL2 Logo Finally

The very best of luck in using these files. I hope they help you. If you have problems or questions please post them in the audio loading thread on the Steam Forum.

And, as mentioned on the download page, if you try this fix please post your results in the audio loading thread. Thanks.

Jon Gardner (Steam Forum ID: Jong)

This is a Steam Community web site and is in not affiliated in any way with Valve Corporation. Use of Half Life 2 imagery and Steam styling is not intended to suggest any endorsement of the contents herein by Valve Corporation. The enclosed information and downloadable content is used at the visitor's own risk.

Valve, the Valve logo, Half-Life, the Half-Life logo, the Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo, Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the Counter-Strike logo, Source, the Source logo and Counter-Strike: Condition Zero are trademarks and/or registered trademarks of Valve Corporation.