"HOWTO" enable SDLAudio support in OpenUT for Linux =================================================== What is SDLAudio? ----------------- It's a module in OpenUT which enables the audio to make use of SDL_mixer, a sound library which is part of the SDL project. Why would I want to use SDLAudio? --------------------------------- Well, it will enable you to run UT with ESD (the Esound Daemon), for a start. Sounds convincing. What do I need? ---------------------------------- At present, you need OpenUT from CVS, and the 402B patch of UT for Linux. You'll want libmikmod in order to get music going: http://mikmod.darkorb.net The most important thing is getting SDL_mixer! You will need to compile and install it from source, or install RPMs or other appropriate packages for your Linux distribution. If you choose the RPMS, make sure to install both SDL_mixer and SDL_mixer-devel. Check the SDL_mixer page for more information: http://www.devolution.com/~slouken/SDL/projects/SDL_mixer If you can get OpenUT to compile without problems, and you've got the development stuff for SDL_mixer installed successfully, SDLAudio should then compile without a hitch. So I've compiled everything. Now what? -------------------------------------- Now you need to change your UT configuration so that audio uses SDLAudio instead of the default. In the [Engine.Engine] section of UnrealTournament.ini you need to change instances of Audio.GenericAudioSubsystem to SDLAudio.SDLAudioSubsystem. UseDigitalMusic should be set to True. If you want to tell SDLAudio to use ESD, make sure you export the environment variable SDL_AUDIODRIVER=esd when running UT. Simple, eh? Troubleshooting --------------- If everything locks up, try changing the ViewportManager to be SDLDrv.SDLClient. Some people have had problems using the XClient, and have guessed that this is due to some common SDL initialisation going on. If everything works but there are problems with the sample rate or the use of mono/stereo, it might be possible to tweak the code. Edit the USDLAudioSubsytem::init() function in the file SDLAudioSubsystem.cpp, and change 'INT Rate = Rates[OutputRate];' (line 150) to 'INT Rste = Rates[5];' and 'if(UseStereo)' (line 152) to 'if(1)' . Then try rebuilding and see how things go. What to do in case of problems ------------------------------ Report them! SDLAudio is under active development as part of OpenUT, and the more user feedback, the better. Try subscribing to the development mailing list at the OpenUT project on SourceForge, or posting to our Help Forum. Many thanks to Jeremy Muhlich and Jozsef Koloszar for their help with collating this information. Also, huge thanks to Jeremy for writing the SDL_mixer support in the first place ;-) Andy Piper (squiggle@ukgateway.net) 10-May-2000