linux-guide-split-audio-ports
linux-guide-split-audio-ports copied to clipboard
my info was different
I try to run the two commands at the beginning and i noticed that its different from what you show
This is for the pactl list cards
Card #46
Name: alsa_card.pci-0000_07_00.6
Driver: alsa
Owner Module: n/a
Properties:
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "2"
api.alsa.card.longname = "HD-Audio Generic at 0xfc5c0000 irq 102"
api.alsa.card.name = "HD-Audio Generic"
api.alsa.path = "hw:2"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio2"
device.api = "alsa"
device.bus = "pci"
device.bus_path = "pci-0000:07:00.6"
device.description = "Family 17h/19h HD Audio Controller"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-pci"
device.name = "alsa_card.pci-0000_07_00.6"
device.nick = "HD-Audio Generic"
device.plugged.usec = "7832778"
device.product.id = "0x15e3"
device.product.name = "Family 17h/19h HD Audio Controller"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:07:00.6/sound/card2"
device.vendor.id = "0x1022"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
media.class = "Audio/Device"
factory.id = "14"
client.id = "33"
object.id = "46"
object.serial = "46"
object.path = "alsa:pcm:2"
alsa.card = "2"
alsa.card_name = "HD-Audio Generic"
alsa.long_card_name = "HD-Audio Generic at 0xfc5c0000 irq 102"
alsa.driver_name = "snd_hda_intel"
device.string = "2"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
HiFi: Play HiFi quality Music (sinks: 1, sources: 2, priority: 8000, available: yes)
pro-audio: Pro Audio (sinks: 2, sources: 1, priority: 1, available: yes)
Active Profile: HiFi
Ports:
[Out] Speaker: Speaker (type: Speaker, priority: 100, latency offset: 0 usec, availability unknown)
Properties:
port.type = "speaker"
device.icon_name = "audio-speakers"
card.profile.port = "0"
Part of profile(s): HiFi
[Out] Headphones: Headphones (type: Headphones, priority: 200, latency offset: 0 usec, availability group: Headphone, not available)
Properties:
port.type = "headphones"
port.availability-group = "Headphone"
device.icon_name = "audio-headphones"
card.profile.port = "1"
Part of profile(s): HiFi
[In] Mic2: Headphones Stereo Microphone (type: Mic, priority: 200, latency offset: 0 usec, availability group: Mic, not available)
Properties:
port.type = "mic"
port.availability-group = "Mic"
device.icon_name = "audio-input-microphone"
card.profile.port = "2"
Part of profile(s): HiFi
[In] Mic1: Digital Microphone (type: Mic, priority: 100, latency offset: 0 usec, availability unknown)
Properties:
port.type = "mic"
device.icon_name = "audio-input-microphone"
card.profile.port = "3"
Part of profile(s): HiFi
And this is for the pactl list sinks
Sink #91
State: RUNNING
Name: alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink
Description: Family 17h/19h HD Audio Controller Speaker + Headphones
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 55706 / 85% / -4.23 dB, front-right: 55706 / 85% / -4.23 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "2"
alsa.card_name = "HD-Audio Generic"
alsa.class = "generic"
alsa.device = "0"
alsa.driver_name = "snd_hda_intel"
alsa.id = "ALC245 Analog"
alsa.long_card_name = "HD-Audio Generic at 0xfc5c0000 irq 102"
alsa.mixer_device = "_ucm0004.hw:Generic_1"
alsa.name = "ALC245 Analog"
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
api.alsa.card.longname = "HD-Audio Generic at 0xfc5c0000 irq 102"
api.alsa.card.name = "HD-Audio Generic"
api.alsa.open.ucm = "true"
api.alsa.path = "hw:Generic_1"
api.alsa.pcm.card = "2"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "0"
device.api = "alsa"
device.class = "sound"
device.id = "46"
device.profile.description = "Speaker + Headphones"
device.profile.name = "HiFi: hw:Generic_1: sink"
device.routes = "2"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "Family 17h/19h HD Audio Controller"
node.name = "alsa_output.pci-0000_07_00.6.HiFi__hw_Generic_1__sink"
node.nick = "ALC245 Analog"
node.pause-on-idle = "false"
object.path = "alsa:pcm:2:hw:Generic_1:playback"
priority.driver = "1000"
priority.session = "1000"
factory.id = "18"
clock.quantum-limit = "8192"
client.id = "33"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "51"
object.serial = "91"
node.max-latency = "16384/48000"
api.alsa.period-size = "1024"
api.alsa.period-num = "32"
api.alsa.headroom = "0"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "2"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio2"
device.bus = "pci"
device.bus_path = "pci-0000:07:00.6"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-pci"
device.name = "alsa_card.pci-0000_07_00.6"
device.nick = "HD-Audio Generic"
device.plugged.usec = "7832778"
device.product.id = "0x15e3"
device.product.name = "Family 17h/19h HD Audio Controller"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:07:00.6/sound/card2"
device.vendor.id = "0x1022"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
device.string = "2"
Ports:
[Out] Speaker: Speaker (type: Speaker, priority: 100, availability unknown)
[Out] Headphones: Headphones (type: Headphones, priority: 200, availability group: Headphone, not available)
Active Port: [Out] Speaker
Formats:
pcm
what is the content of /usr/share/alsa-card-profile/mixer/paths
?
[nobara@nobara ~]$ tree /usr/share/alsa-card-profile
/usr/share/alsa-card-profile
└── mixer
├── paths
│ ├── analog-input-aux.conf
│ ├── analog-input.conf
│ ├── analog-input.conf.common
│ ├── analog-input-dock-mic.conf
│ ├── analog-input-fm.conf
│ ├── analog-input-front-mic.conf
│ ├── analog-input-headphone-mic.conf
│ ├── analog-input-headset-mic.conf
│ ├── analog-input-internal-mic-always.conf
│ ├── analog-input-internal-mic.conf
│ ├── analog-input-linein.conf
│ ├── analog-input-mic.conf
│ ├── analog-input-mic.conf.common
│ ├── analog-input-mic-line.conf
│ ├── analog-input-rear-mic.conf
│ ├── analog-input-tvtuner.conf
│ ├── analog-input-video.conf
│ ├── analog-output-chat.conf
│ ├── analog-output.conf
│ ├── analog-output.conf.common
│ ├── analog-output-headphones-2.conf
│ ├── analog-output-headphones.conf
│ ├── analog-output-lineout.conf
│ ├── analog-output-mono.conf
│ ├── analog-output-speaker-always.conf
│ ├── analog-output-speaker.conf
│ ├── audigy-analog-output.conf
│ ├── audigy-analog-output-mirror.conf
│ ├── hdmi-output-0.conf
│ ├── hdmi-output-10.conf
│ ├── hdmi-output-1.conf
│ ├── hdmi-output-2.conf
│ ├── hdmi-output-3.conf
│ ├── hdmi-output-4.conf
│ ├── hdmi-output-5.conf
│ ├── hdmi-output-6.conf
│ ├── hdmi-output-7.conf
│ ├── hdmi-output-8.conf
│ ├── hdmi-output-9.conf
│ ├── iec958-stereo-input.conf
│ ├── iec958-stereo-output.conf
│ ├── steelseries-arctis-output-chat-common.conf
│ ├── steelseries-arctis-output-game-common.conf
│ ├── usb-gaming-headset-input.conf
│ ├── usb-gaming-headset-output-mono.conf
│ ├── usb-gaming-headset-output-stereo.conf
│ └── virtual-surround-7.1.conf
└── profile-sets
├── 9999-custom.conf
├── analog-only.conf
├── asus-xonar-se.conf
├── audigy.conf
├── cmedia-high-speed-true-hdaudio.conf
├── default.conf
├── dell-dock-tb16-usb-audio.conf
├── force-speaker-and-int-mic.conf
├── force-speaker.conf
├── hp-tbt-dock-120w-g2.conf
├── hp-tbt-dock-audio-module.conf
├── kinect-audio.conf
├── maudio-fasttrack-pro.conf
├── native-instruments-audio4dj.conf
├── native-instruments-audio8dj.conf
├── native-instruments-komplete-audio6.conf
├── native-instruments-korecontroller.conf
├── native-instruments-traktor-audio10.conf
├── native-instruments-traktor-audio2.conf
├── native-instruments-traktor-audio6.conf
├── native-instruments-traktorkontrol-s4.conf
├── sb-omni-surround-5.1.conf
├── sennheiser-gsx.conf
├── simple-headphones-mic.conf
├── steelseries-arctis-common-usb-audio.conf
├── texas-instruments-pcm2902.conf
└── usb-gaming-headset.conf
4 directories, 74 files
Paste https://raw.githubusercontent.com/luisbocanegra/linux-guide-split-audio-ports/main/reference-config/analog-output-speaker-split.conf into /etc/alsa-card-profile/mixer/paths/analog-output-speaker.conf
and the common file: sudo cp /usr/share/alsa-card-profile/mixer/paths/analog-output.conf.common /etc/alsa-card-profile/mixer/paths/analog-output.conf.common
Restart pipewire systemctl restart --user pipewire pipewire-pulse pipewire.socket wireplumber
Check if both ports are available, like this:
If that didn't work try adding this file ~/.config/wireplumber/wireplumber.conf.d/test.conf
:
with these contents
monitor.alsa.rules = [
{
matches = [
{
# HD-Audio Generic
device.product.id = "0x15e3"
device.vendor.id = "0x1022"
}
]
actions = {
update-props = {
api.alsa.use-acp = true
device.profile-set = "/usr/share/alsa-card-profile/mixer/profile-sets/default.conf"
}
}
}
]
And restart pipewire again