ALSA DMIX and Pulse/Pipewire, Pulse insists on using a bad device
by selfprogrammed from LinuxQuestions.org on (#6EM21)
The end problem is that Pulse/pipewire insists on sending output to a device named pro-audio1. It will give me no other choice.
With another setup, I have had a device named pro-audio, which has worked.
I do not know where it is getting this pro-audio1.
I have seen the name before in the pulseaudio mixer tool, and it has never worked as an output.
I have written my audio conf tool to reconfigure ALSA, pulseaudio, and pipewire.
It seems to work.
For this instance I am using the ALSA DMIX, pulseaudio disabled, pipewire enabled.
My tool invokes the pipewire script at /usr/sbin/pipewire-enable.
I have verified that pipewire daemons are running, and that pulse autostart is disabled, and that pulse client.conf has the autospawn=no.
I have verified that I can run two instances of audacious, playing different songs, and hear them both. That would be the DMIX working.
If I start dragon player, I can see the audio playing using the pulseaudio mixer volume-control tool. However, the output is going to pro-audio1, which is off into some mystery device that does not lead to my headphones.
The pulseaudio mixer control configuration shows two devices (HDMI and Built-in audio).
The HDMI is set to off, as nothing is connected to that.
I set the "Built-in audio" device to "Pro Audio". That is what has worked before. Every other choice is either an input, or some output that is not connected to anything.
But it only gives me pro-audio1 as the only choice in the output-devices screen.
For one brief interval, I had sound come through PulseAudio, but I had to do more work on the audio configure tool, which necessitated running it and testing more.
I do not know what mis-configuration was letting PulseAudio work. It was a mis-configuration because at that time it was supposed to be enabling pipewire.
For what the tool is supposed to do, it has done it correctly (finally).
It uses the Slackware pipewire-enable script if it can.
I had this same problem when I had an audio setup with ALSA redirect through Pulseaudio, which was identical to what is shipped with Slackware. In that case it presented me with three output device choices, only 1 that worked, and 1 that was a bogus device. The third choice is the HDMI output on my audio, which is not connected to anything. That setup had other problems too.
So anyone got any clues as to where pulse/pipe is getting these mystery devices.
There are configure files in /usr/share/pipewire, but I don't think they do anything until they are copied into /etc/pipewire.
I have heard blame aimed at
I don't know how that can detect extra devices just because the pulse and pipewire are configured differently.
In my /proc/asound, I have the following:
card0( pcm0c, pcm0p, pcm1c, pcm1p, pcm2c ), id=SB
card1( pcm3p ), id=HDMI
>> alsmixer
shows 2 devices
HDA ATI SB
HDA ATI HDMI
It has front-mic, rear-mic, and Line inputs (capture devices).
There is an SPIF optical output, which is unused.
pcm0p/info
Code:card: 0
device: 0
subdevice: 0
subname: subdevice #0
stream: PLAYBACK
id: ALC892 Analog
name: ALC892 Analog
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 0pcm1p/info
Code:card: 0
device: 1
subdevice: 0
subname: subdevice #0
stream: PLAYBACK
id: ALC892 Digital
name: ALC892 Digital
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 0So anyone got any clues as to where pulse/pipe is getting this mystery device,
or how to find out what has happened to the pro-audio output.
With another setup, I have had a device named pro-audio, which has worked.
I do not know where it is getting this pro-audio1.
I have seen the name before in the pulseaudio mixer tool, and it has never worked as an output.
I have written my audio conf tool to reconfigure ALSA, pulseaudio, and pipewire.
It seems to work.
For this instance I am using the ALSA DMIX, pulseaudio disabled, pipewire enabled.
My tool invokes the pipewire script at /usr/sbin/pipewire-enable.
I have verified that pipewire daemons are running, and that pulse autostart is disabled, and that pulse client.conf has the autospawn=no.
I have verified that I can run two instances of audacious, playing different songs, and hear them both. That would be the DMIX working.
If I start dragon player, I can see the audio playing using the pulseaudio mixer volume-control tool. However, the output is going to pro-audio1, which is off into some mystery device that does not lead to my headphones.
The pulseaudio mixer control configuration shows two devices (HDMI and Built-in audio).
The HDMI is set to off, as nothing is connected to that.
I set the "Built-in audio" device to "Pro Audio". That is what has worked before. Every other choice is either an input, or some output that is not connected to anything.
But it only gives me pro-audio1 as the only choice in the output-devices screen.
For one brief interval, I had sound come through PulseAudio, but I had to do more work on the audio configure tool, which necessitated running it and testing more.
I do not know what mis-configuration was letting PulseAudio work. It was a mis-configuration because at that time it was supposed to be enabling pipewire.
For what the tool is supposed to do, it has done it correctly (finally).
It uses the Slackware pipewire-enable script if it can.
I had this same problem when I had an audio setup with ALSA redirect through Pulseaudio, which was identical to what is shipped with Slackware. In that case it presented me with three output device choices, only 1 that worked, and 1 that was a bogus device. The third choice is the HDMI output on my audio, which is not connected to anything. That setup had other problems too.
So anyone got any clues as to where pulse/pipe is getting these mystery devices.
There are configure files in /usr/share/pipewire, but I don't think they do anything until they are copied into /etc/pipewire.
I have heard blame aimed at
I don't know how that can detect extra devices just because the pulse and pipewire are configured differently.
In my /proc/asound, I have the following:
card0( pcm0c, pcm0p, pcm1c, pcm1p, pcm2c ), id=SB
card1( pcm3p ), id=HDMI
>> alsmixer
shows 2 devices
HDA ATI SB
HDA ATI HDMI
It has front-mic, rear-mic, and Line inputs (capture devices).
There is an SPIF optical output, which is unused.
pcm0p/info
Code:card: 0
device: 0
subdevice: 0
subname: subdevice #0
stream: PLAYBACK
id: ALC892 Analog
name: ALC892 Analog
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 0pcm1p/info
Code:card: 0
device: 1
subdevice: 0
subname: subdevice #0
stream: PLAYBACK
id: ALC892 Digital
name: ALC892 Digital
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 0So anyone got any clues as to where pulse/pipe is getting this mystery device,
or how to find out what has happened to the pro-audio output.