Not true! The Linux (and Ubuntu) audio stack is not simple, that's why forums exist so we can help each other out.
The fact that you can only see Pro Audio as a profile option tells me that PipeWire is not all that familiar with how to set up that device (and this may end up being something you'll have to take to PipeWire team for support).
First things first, we need to know what type of sound card we're looking at. As this is an on-board PCI device; we can get a peek at the modules loaded via:
lspci -k -nn -d ::0403
The index of each card can be seen via:
cat /proc/asound/cards
Once you have the number of the card, we can get some information at the ALSA level about it; for example if the card number is 2:
alsactl info 2
If you share the output of the above (or similar) commands, that would be a great start.
It all looks promising so far, except for the Pro Audio profile. I assume we're stuck with that (you did not mention any other options).
That said, I have found an issue that has no solution for this particular card: Front panel doesn't work with ALC887-VD - I would add your own info to that issue (e.g. PipeWire 1.0.5, Ubuntu MATE 24.04 desktop, kernel version given by uname -r, and the specific hardware you are using).
If the volume settings look correct in alsamixer and pulsemixer, then we'll have to have a look at what PipeWire is doing wrong - and that might be easier to troubleshoot over with their experts.
dumb question - but how do I track down what mixers(?)/ general sound 'stuff' I have installed?
Given I've been poking about for a bit I'm not 100% sure i haven't got a half bastardised config with bits and pieces of a whole lot of conflicting(?) sound programs fighting each other.
I think I've removed stuff that hasn't worked, but perhaps I've removed too far or left something obviously wrong installed
Also I think you should reinstall Alsa to reset possible missing stuff and fix problems - I think something along the line of this command should maybe work:
There are, by default, two underlying systems involved in the typical audio stack on Ubuntu (24.04).
ALSA
PipeWire
ALSA is mostly within the Linux kernel. So it's installed whether you like it or not. What ALSA can't do; is mix stuff together. To this end, PipeWire takes up the slack. PipeWire is in the user space (not the kernel), and it mixes things, passes them to ALSA, which then passes it to hardware.
There are a couple of wrinkles. PulseAudio used to do the mixing, and a lot of applications still expect to interact with it - PipeWire gets around this by implementing a PulseAudio 'server', too.
So what actually happens is application sends audio to pulseaudio (which is sneakily pipewire), which then passes it to ALSA, an on to your hardware.
Following you link - one of the very first commands is
"So, letβs start by checking all available profiles for our audio devices using the [pacmd] command"
I get a response of "No PulseAudio daemon running, or not running as session daemon"
But isn't that Pulse audio? I'm running Pipewire (pretending to be pulseaudio), is that response expected??
I think this may be the root cause of the issue since it seems it ignores the fact your stereo is plugged in for some strange reason so it is most likely Alsa
Have you tried installing and reinstalling Alsa yet?
Also - try restarting the Pipewire/PulseAudio:
systemctl --user restart pipewire pipewire-pulse
EDIT: If none of this works check your BIOS settings if there is "Front panel audio mode" - check and set to HD Audio
Assuming you haven't changed anything on the system-wide level; then you could look at, say, a ~/.asoundrc, ~/.config/pipewire, ~/.config/wireplumber and check that you haven't got any settings in there that you don't expect/need.
If you changed things inside /usr/ then you're in more "trouble"; re-installing the packages might help. For example, start with:
user@host:~$ apt list *alsa* --installed
alsa-base/noble,noble,now 1.0.25+dfsg-0ubuntu7 all [installed,automatic]
alsa-topology-conf/noble,noble,now 1.2.5.1-2 all [installed,automatic]
alsa-ucm-conf/noble-updates,noble-updates,now 1.2.10-1ubuntu5.4 all [installed,automatic]
alsa-utils/noble,now 1.2.9-1ubuntu5 amd64 [installed,automatic]
Then re-install these with apt install --reinstall <package names here>.
I havent checked; but you may need a more forceful removal of cruft via apt remove --purge. I'd be careful without a backup because it might remove settings that are difficult to track down a source for.
I wouldn't say that PulseAudio is running "alongside" PipeWire; it's that PipeWire is running a PulseAudio server. The 'true' PulseAudio libraries, daemon etc are not on the system at all.
I would add to this that running hdajacksensetest from alsa-tools would be a good idea (with the speakers plugged in):
# testing card #4 which is my onboard AMD audio
user@host:~$ hdajacksensetest card=4
Pin 0x19 (Black Mic, Left side): present = No
Pin 0x21 (Black Headphone, Left side): present = Yes
We can test out different channels to see if PipeWire is, regardless of its problems with the profile, able to send audio to the speakers. Firstly, use wpctl status to get the id associated with each sink:
user@host:~$ wpctl status | grep Sinks -A2
ββ Sinks:
β * 119. Razer Barracuda X Analog Stereo [vol: 0.93]
β 138. Family 17h/19h HD Audio Controller Analog Stereo [vol: 0.93]
The * is the currently selected (default) sink, in my case, a headset. I can then get info about this sink using wpctl inspect, I'm interested in the objects' "serial" number, and the names of the channels:
In the OP's case; I expect to see channel names like AUX0, AUX1, because of the Pro Audio profile which doesn't assign meaning to the audio channels like "left" and "right".
If we have the correct volumes set in alsamixer and pulsemixer, and we can't get PipeWire to play sound via pw-play, then it's very likely that something is wrong at the ALSA level, or at the hardware/BIOS level.
Another thing you may want to look into, is checking dmesg for issues with firmware related to the device, as noted in this blog: Intel sound avs driver still too immature - and you may want to try (as they did) blacklisting the snd_soc_avs driver.