- cripple and minimize Pulse-Audio -- some programs require its presence, so minimize it to whatever minimal hooks applications require.
- configure ALSA as application-friendly as possible
- install alsa-oss so apps seeking the older OSS daemon do not fail
crippling Pulse-Audio without removal
You can try a straight-up # pacman -Rs pulseaudio, but dependencies tend not to allow this. So cripple it.Note: the PulseAudio daemon respawns if not properly neutered.
- obviously start with $ pulseaudio --kill
- directory /usr/share/alsa/alsa.conf.d hides a PulseAudio file (50-pulseaudio.conf) which ALSA executes during ALSA startup. This file surreptitiously activates /bin/pulseaudio. Rename it so it's no longer executed, eg "cp 50-pulseaudio.conf 50-pulseaudio_conf.bak", OR change /bin/pulseaudio to /bin/true in the file.
- stop PulseAudio autospawning by gutting /etc/pulse/client.conf and replacing its lines with
# custom version
autospawn = no
# "/bin/true" doesn't do anything, but no errors
daemon-binary = /bin/true - Check inside /etc/X11/xinit/xinitrc.d to be sure X11 isn't infected. Eliminate any PulseAudio files in that directory.
- $ systemctl list-units |grep pulse to verify no systemctl pulseaudio targets are present
/usr/share/alsa/alsa.conf vs. /etc/asound.conf
These initializing files use the same commands and formats, as well as one other config file, ~/.asoundrc. Since all 3 files are ALSA initializing files, only one is necessary, delete the other two to avoid interference. I typically keep /usr/share/alsa/alsa.conf because it's the most complete out-of-the-box, and because so many applications (eg. Audacious) load it. Save a copy of the working version for future installs. Not sure how to activate the file under systemd, so I just logout and log-in to be sure the file is read. Next, the alsa.conf configuration./usr/share/alsa/alsa.conf ("USAA" here)
USAA has a few problems itself.- backup the default USAA, eg # cp /usr/share/alsa/alsa.conf /usr/share/alsa/alsa_conf.bak. Backup any other files that are modified as well.
- USAA's first subroutine is to load /etc/alsa.conf and /home/foo/.asoundrc. These can have PulseAudio hooks that wrongly set playback frequency. Carefully delete this subroutine, from
[
...to....
{
func load
files [
{
@func concat
strings [
{ @func datadir }
"/alsa.conf.d/"
]
}
"/etc/asound.conf"
"~/.asoundrc"
]
errors false
}
]@hooks [
and save.
{
func load
files [
{
@func concat
strings [
{ @func datadir }
"/alsa.conf.d/"
]
}
]
errors false
}
] - backup and then eliminate any of these which exist
- /etc/asound.conf
- ~/.asoundrc
- ~/.config/asound.conf
NB: There is *one* situation where I occasionally want ~/.asoundrc, albeit customized. If I have an external USB mic and some application won't simply accept its direct information, eg "plughw:1,0", I can turn it into a second soundcard that's providing content. Of course, there is no playback via the mic. Audacity, for example, likes this arrangement.
No comments:
Post a Comment