I’m on Manjaro Linux (XFCE) and I’m having issues with my internal audio device (HDA Intel PCH).
Whenever I pause or stop audio playback (for example in a browser or media player), PulseAudio automatically changes or disables the active profile.
After that, I lose sound output completely until I manually reset the profile.
What I’ve tried
I wrote a small script in my ~/.bashrc that restores the sound: pactl set-card-profile alsa_card.pci-0000_00_1f.3 output:analog-stereo+input:analog-stereo pactl set-card-profile alsa_card.pci-0000_00_1f.3 output:analog-stereo
This works, but I have to run it every time audio playback is paused or switches between apps — which is far from ideal.
Output of pactl list cards short: 0 alsa_card.pci-0000_00_1f.3 module-alsa-card.c
Relevant section of pactl list cards: Active Profile: output:analog-stereo Available profiles: output:analog-stereo output:analog-stereo+input:analog-stereo (others…)
Question
Is there a way to:
Prevent PulseAudio from automatically switching or disabling profiles?
Permanently keep the duplex or analog stereo output profile active?
Or configure a persistent default using default.pa, daemon.conf, or udev rules — instead of manually running a script every time?
Any guidance or configuration tips would be appreciated
well, after watching a video from Unfa on YouTube I decided to ditch pulseaudio and welcome PipeWire , so I uninstalled everything that was related to pulseaudio, (except for a library 32 that was a dependency for other thing). And that was it, after a reboot: videos, games , etc. everything worked again, no bash function involved. It went smooth like silk, the only problem tho, was that I don’t have a volume control anymore in the bar at the bottom right of the screen, I can change volume with alsamixer on the terminal, which I made an alias so I can change it faster.
PulseAudio Volume Control > Configuration tab (pavucontrol –tab=5) has a button to lock the card profile, but the profile lock is only available for pulseaudio not pipewire-pulse
PulseAudio default.pa can be customised to replace module-udev-detect (to automatically detect all available cards) with module-alsa-sink and module-alsa-source to load ALSA outputs and inputs discretely pipewire-pulse uses wireplumber instead of module-udev-detect, but it does support use of module-alsa-sink and module-alsa-source
For any system with or without a software audio server, unused ALSA outputs and inputs can be disabled using hdajackretask tool (included in alsa-tools)