this post was submitted on 20 Dec 2023
7 points (88.9% liked)

Arch Linux

7744 readers
4 users here now

The beloved lightweight distro

founded 4 years ago
MODERATORS
 

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

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 3 points 10 months ago (1 children)

two different outputs one is speaker one is your headphone jack this gives you the power for exemple to play different audio in your speaker and headphones at the same time using qpwgraph for exemple

[โ€“] [email protected] 4 points 10 months ago

Ah ok, probably because of laptop, but built-in speakers and headphones are already differentiated for me.