how to sperate headphones from laptop speakers as two seperate enteties
so since I digged pretty hard to find what is a ucm profile and how to seperate headphones from speakers in pipewire and alsa so yeah heres a guide first of all these are my sources:
https://github.com/luisbocanegra/linux-guide-split-audio-ports
https://www.reactivated.net/writing_udev_rules.html
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3556
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3552
you need a custom ucm profile use this command since its helpful lspci -nn -vvv
SUBSYSTEM!="sound", GOTO="pipewire_end"
ACTION!="change", GOTO="pipewire_end"
KERNEL!="card*", GOTO="pipewire_end"
ATTRS{subsystem_vendor}=="0x103c", ATTRS{subsystem_device}=="0x8742", ENV{ACP_PROFILE_SET}="custom.conf"
LABEL="pipewire_end"
and than create a file in /usr/share/alsa-card-profile/mixer/profile-sets/custom.conf and yeah I guess
https://www.freedesktop.org/wiki/Software/PulseAudio/Backends/ALSA/Profiles/
and this especially
https://github.com/luisbocanegra/linux-guide-split-audio-ports
they helped a lot
[General]
auto-profiles = yes
[Mapping headphones]
device-strings= hw:0,2
channel-map = left,right
paths-output = behe-headphones
paths-input = analog-input-headphone-mic analog-input-headset-mic
priority = 20
[Mapping speaker]
device-strings= hw:0,0
channel-map = left,right
paths-output = behe-speaker
paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic
priority = 18
[Profile help]
input-mappings = speaker headphones
output-mappings = speaker headphones
description = both_both_is_good
skip-probe = yes
priority = 100
.include 9999-custom.conf
and yes that was my custom.conf and yes just reboot now and you are set btw no need to touch hdajackretask and that idor 0,2 and 0,0 I just switched profile to proaudio and than ran pactl list sinks short and took the ids from there I am basically following the guides and mimicking /usr/share/alsa-card-profile/mixer/profile-sets/default.conf to be completely honest yes thats all
-=-=-=-==-==--==
very fast update you actually have to enable indep_hp in hdajackretask btw fun fact you can apply now and test after killing wireplumber so don't forget to do that don't reboot over and over again (I am talking to myself here mostly also enable indep_hd using alsamixer after you do so in hdajackretask) and yes thats all peace