Files
org-roam/20230523100635-pulse_audio_settings.org
2025-11-05 09:18:11 +01:00

2.3 KiB

pulse-audio-settings

Binaural audio with OpenAL

For games using OpenAL, if you use headphones you may get much better positional audio using OpenAL's HRTF filters. To enable, run the following command:

echo "hrtf = true" >> ~/.alsoftrc

Alternatively, install openal-hrtfAUR from the AUR, and edit the options in /etc/openal/alsoftrc.conf

For Source games, the ingame setting `dsp_slow_cpu` must be set to `1` to enable HRTF, otherwise the game will enable its own processing instead. You will also either need to set up Steam to use native runtime, or link its copy of openal.so to your own local copy. For completeness, also use the following options:

dsp_slow_cpu 1 # Disable in-game spatialiazation

snd_spatialize_roundrobin 1 # Disable spatialization 1.0*100% of sounds dsp_enhance_stereo 0 # Disable DSP sound effects. You may want to leave this on, if you find it does not interfere with your perception of the sound effects. snd_pitchquality 1 # Use high quality sounds

Tuning PulseAudio

If you are using PulseAudio, you may wish to tweak some default settings to make sure it is running optimally.

Enabling realtime priority and negative nice level

Pulseaudio is built to be run with realtime priority, being an audio daemon. However, because of security risks of it locking up the system, it is scheduled as a regular thread by default. To adjust this, first make sure you are in the audio group. Then, uncomment and edit the following lines in /etc/pulse/daemon.conf:

/etc/pulse/daemon.conf

high-priority = yes
nice-level = -11

realtime-scheduling = yes
realtime-priority = 5

and restart pulseaudio.

Using higher quality remixing for better sound

PulseAudio on Arch uses speex-float-1 by default to remix channels, which is considered a 'medium-low' quality remixing. If your system can handle the extra load, you may benefit from setting it to one of the following instead:

resample-method = speex-float-10

Matching hardware buffers to Pulse's buffering

Matching the buffers can reduce stuttering and increase performance marginally. See here for more details.