Skip Navigation

how to sperate headphones from laptop speakers as two seperate enteties

might be helpful cross-posted from: https://lemmy.ml/post/9547307

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

3
3 comments