'Line Out' port getting output for every output options(Headphones, Internal Speakers)

Hi,
On my desktop, there is an internal speaker, that the audio settings recognizes with Speakers(unavailable). A headphone port in the front which I use for my earphones is recognized as Headphones.
And, there are Line In and Line Out ports in the back. I use the Line Out port to use my external speakers.



.
So, when I choose the Line Out or Headphones or Speakers(unavailable) output, each of them works with their device nicely. But, the Line Out port is giving output even when Headphones or Speakers(unavailable) is selected.

How can I keep Line Out separate from others??

(I am using Manjaro KDE Plasma with Kernel- 5.13.13-1)
(Pls say if you need any additional information)

There is probably something to tinker in PulseAudio, but can’t say what.
https://wiki.archlinux.org/title/PulseAudio

1 Like

I tried out a lot of things, still couldn’t solve this.

I suggest you install kernel v5.14

Check if any BIOS updates are available for this system

And clear old PulseAudio settings

If audio is still not working, please post system information

inxi -Fazy
1 Like

I could not update BIOS on my HP Desktop as I am not on windows. It seemed tough to me. I changed the kernel to v5.14 and cleared old PulseAudio settings. But, the problem stays.

On the web, I found that someone else had the same problem. There, he is saying that he didn’t have the issue with windows. https://askubuntu.com/questions/1351862/headphone-sound-output-gets-mixed-with-the-line-out-output (I tried out these methods too, didn’t work)

Btw, here is my system information-

System:
  Kernel: 5.14.0-0-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.14-x86_64 
  root=UUID=f4db620f-8634-4dc6-908e-a94227201d08 rw quiet apparmor=1 
  security=apparmor resume=UUID=73f4df78-09d7-44c0-9529-901feb30150e 
  udev.log_priority=3 
  Desktop: KDE Plasma 5.22.5 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM 
  Distro: Manjaro Linux base: Arch Linux 
Machine:
  Type: Desktop System: HP product: HP ProDesk 600 G4 PCI MT v: N/A 
  serial: <filter> Chassis: type: 3 serial: <filter> 
  Mobo: HP model: 83ED v: KBC Version 07.98.00 serial: <filter> UEFI: HP 
  v: Q02 Ver. 02.01.08 date: 05/23/2018 
CPU:
  Info: 6-Core model: Intel Core i5-8500 bits: 64 type: MCP arch: Kaby Lake 
  note: check family: 6 model-id: 9E (158) stepping: A (10) microcode: EA 
  cache: L2: 9 MiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 36012 
  Speed: 900 MHz min/max: 800/4100 MHz Core speeds (MHz): 1: 900 2: 900 3: 900 
  4: 900 5: 900 6: 900 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled 
  Type: mds mitigation: Clear CPU buffers; SMT disabled 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: disabled, RSB filling 
  Type: srbds mitigation: Microcode 
  Type: tsx_async_abort mitigation: TSX disabled 
Graphics:
  Device-1: Intel CometLake-S GT2 [UHD Graphics 630] vendor: Hewlett-Packard 
  driver: i915 v: kernel bus-ID: 00:02.0 chip-ID: 8086:3e92 class-ID: 0300 
  Device-2: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo 
  bus-ID: 1-1:2 chip-ID: 046d:0825 class-ID: 0102 serial: <filter> 
  Display: x11 server: X.Org 1.20.13 compositor: kwin_x11 driver: 
  loaded: modesetting alternate: fbdev,vesa display-ID: :0 screens: 1 
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2") 
  s-diag: 582mm (22.9") 
  Monitor-1: DP-3 res: 1920x1080 hz: 60 dpi: 102 size: 476x267mm (18.7x10.5") 
  diag: 546mm (21.5") 
  OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 21.2.1 
  direct render: Yes 
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Hewlett-Packard 
  driver: snd_hda_intel v: kernel alternate: snd_soc_skl,snd_sof_pci_intel_cnl 
  bus-ID: 00:1f.3 chip-ID: 8086:a348 class-ID: 0403 
  Device-2: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo 
  bus-ID: 1-1:2 chip-ID: 046d:0825 class-ID: 0102 serial: <filter> 
  Sound Server-1: ALSA v: k5.14.0-0-MANJARO running: yes 
  Sound Server-2: JACK v: 1.9.19 running: no 
  Sound Server-3: PulseAudio v: 15.0 running: yes 
  Sound Server-4: PipeWire v: 0.3.34 running: yes 
Network:
  Device-1: Intel Ethernet I219-LM vendor: Hewlett-Packard driver: e1000e 
  v: kernel port: efa0 bus-ID: 00:1f.6 chip-ID: 8086:15bb class-ID: 0200 
  IF: eno1 state: up speed: 100 Mbps duplex: full mac: <filter> 
Drives:
  Local Storage: total: 931.51 GiB used: 88.11 GiB (9.5%) 
  SMART Message: Unable to run smartctl. Root privileges required. 
  ID-1: /dev/sda maj-min: 8:0 vendor: Toshiba model: DT01ACA100 
  size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s 
  type: HDD rpm: 7200 serial: <filter> rev: A800 scheme: GPT 
Partition:
  ID-1: / raw-size: 922.42 GiB size: 906.86 GiB (98.31%) 
  used: 88.04 GiB (9.7%) fs: ext4 dev: /dev/sda2 maj-min: 8:2 
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) 
  used: 72.6 MiB (24.2%) fs: vfat dev: /dev/sda1 maj-min: 8:1 
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) 
  ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%) priority: -2 
  dev: /dev/sda3 maj-min: 8:3 
Sensors:
  System Temperatures: cpu: 38.0 C mobo: N/A 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 225 Uptime: 1h 47m wakeups: 11 Memory: 7.55 GiB 
  used: 2.58 GiB (34.1%) Init: systemd v: 248 tool: systemctl Compilers: 
  gcc: 11.1.0 Packages: pacman: 1362 lib: 365 flatpak: 0 Shell: Zsh v: 5.8 
  default: Bash v: 5.1.8 running-in: konsole inxi: 3.3.06

Sometimes with system updates you get a new set of defaults under /usr/share/alsa-card-profile/mixer/paths/


What you can do is make a backup copy of the parent folder,

cp -va /usr/share/alsa-card-profile ~/alsa-card-profile.bak

Then make modifications to the proper .conf file that applies to your system.

Then overwrite the original .conf file with the one you edited.

sudo cp ~/alsa-card-profile.bak/mixer/paths/analog-output.conf /usr/share/alsa-card-profile/mixer/paths/

Restart pulseaudio and see if it helps,

systemctl --user restart pulseaudio

Which file to edit and what to change depends on your system. I had to play around with a few settings before I finally nailed it down to my setup.

You need to figure out which switch and volume options to change under the appropriate element. It can also be combined with alsmamixer’s “Auto-Mute” setting.


Another approach is to rollback the package alsa-card-profiles to an older version.

After doing so, make a copy of the entire parent folder (similar as above).

cp -va /usr/share/alsa-card-profile ~/alsa-card-profile.old

Then re-update alsa-card-profiles back to the latest version.

Now you have a copy of the older .conf files, and you can try to use one of them (e.g, analog-output.conf) to either replace the new version, or view the contents of the old version to then edit the changes yourself, manually, inside the new version.


The above commands are only examples, as the particular file(s) to be edited can differ per computer.

1 Like

I only worked out this strange duplicity recently because of a short time where the copy got ahead of the original

Editing audio profiles in /usr/share/alsa-card-profile/mixer/paths/ will be no help for PulseAudio
because the profiles are from Pipewire dependency package alsa-card-profiles

pamac search -f analog-output.conf confirms that the PulseAudio profiles are located at
/usr/share/pulseaudio/alsa-mixer/paths/

But editing profiles might not be needed


@sha_R

System has 2 incompatible sound servers running

  Sound Server-3: PulseAudio v: 15.0 running: yes 
  Sound Server-4: PipeWire v: 0.3.34 running: yes

Pipewire cannot support audio unless PulseAudio is removed and replaced, but it might impede PulseAudio functions

Use this command to stop, disable and mask Pipewire services

systemctl --user disable --now pipewire.{socket,service} && systemctl --user mask pipewire.socket

KDE also needs another service disabled too

systemctl --user disable --now pipewire-media-session.service
1 Like

@nikgnomic thanks for your reply brother. I tried what you said, but the problem stays. Here I am sharing the System Information and AlsaMixer screenshots taken after I did those.

Please tell me if you need any other information.

System Information-

System:
  Kernel: 5.14.2-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.14-x86_64 
  root=UUID=f4db620f-8634-4dc6-908e-a94227201d08 rw quiet apparmor=1 
  security=apparmor resume=UUID=73f4df78-09d7-44c0-9529-901feb30150e 
  udev.log_priority=3 
  Desktop: KDE Plasma 5.22.5 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM 
  Distro: Manjaro Linux base: Arch Linux 
Machine:
  Type: Desktop System: HP product: HP ProDesk 600 G4 PCI MT v: N/A 
  serial: <filter> Chassis: type: 3 serial: <filter> 
  Mobo: HP model: 83ED v: KBC Version 07.98.00 serial: <filter> UEFI: HP 
  v: Q02 Ver. 02.01.08 date: 05/23/2018 
CPU:
  Info: 6-Core model: Intel Core i5-8500 bits: 64 type: MCP arch: Kaby Lake 
  note: check family: 6 model-id: 9E (158) stepping: A (10) microcode: EA 
  cache: L2: 9 MiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 36012 
  Speed: 800 MHz min/max: 800/4100 MHz Core speeds (MHz): 1: 800 2: 800 3: 800 
  4: 800 5: 800 6: 800 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled 
  Type: mds mitigation: Clear CPU buffers; SMT disabled 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: disabled, RSB filling 
  Type: srbds mitigation: Microcode 
  Type: tsx_async_abort mitigation: TSX disabled 
Graphics:
  Device-1: Intel CometLake-S GT2 [UHD Graphics 630] vendor: Hewlett-Packard 
  driver: i915 v: kernel bus-ID: 00:02.0 chip-ID: 8086:3e92 class-ID: 0300 
  Device-2: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo 
  bus-ID: 1-1:2 chip-ID: 046d:0825 class-ID: 0102 serial: <filter> 
  Display: x11 server: X.Org 1.20.13 compositor: kwin_x11 driver: 
  loaded: modesetting alternate: fbdev,vesa display-ID: :0 screens: 1 
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2") 
  s-diag: 582mm (22.9") 
  Monitor-1: DP-3 res: 1920x1080 hz: 60 dpi: 102 size: 476x267mm (18.7x10.5") 
  diag: 546mm (21.5") 
  OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 21.2.1 
  direct render: Yes 
Audio:
  Device-1: Intel Cannon Lake PCH cAVS vendor: Hewlett-Packard 
  driver: snd_hda_intel v: kernel alternate: snd_soc_skl,snd_sof_pci_intel_cnl 
  bus-ID: 00:1f.3 chip-ID: 8086:a348 class-ID: 0403 
  Device-2: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo 
  bus-ID: 1-1:2 chip-ID: 046d:0825 class-ID: 0102 serial: <filter> 
  Sound Server-1: ALSA v: k5.14.2-1-MANJARO running: yes 
  Sound Server-2: JACK v: 1.9.19 running: no 
  Sound Server-3: PulseAudio v: 15.0 running: yes 
  Sound Server-4: PipeWire v: 0.3.35 running: no 
Network:
  Device-1: Intel Ethernet I219-LM vendor: Hewlett-Packard driver: e1000e 
  v: kernel port: efa0 bus-ID: 00:1f.6 chip-ID: 8086:15bb class-ID: 0200 
  IF: eno1 state: up speed: 100 Mbps duplex: full mac: <filter> 
Drives:
  Local Storage: total: 931.51 GiB used: 89.24 GiB (9.6%) 
  SMART Message: Unable to run smartctl. Root privileges required. 
  ID-1: /dev/sda maj-min: 8:0 vendor: Toshiba model: DT01ACA100 
  size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s 
  type: HDD rpm: 7200 serial: <filter> rev: A800 scheme: GPT 
Partition:
  ID-1: / raw-size: 922.42 GiB size: 906.86 GiB (98.31%) 
  used: 89.17 GiB (9.8%) fs: ext4 dev: /dev/sda2 maj-min: 8:2 
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) 
  used: 72.6 MiB (24.2%) fs: vfat dev: /dev/sda1 maj-min: 8:1 
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) 
  ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%) priority: -2 
  dev: /dev/sda3 maj-min: 8:3 
Sensors:
  System Temperatures: cpu: 45.0 C mobo: N/A 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 217 Uptime: 32m wakeups: 16 Memory: 7.55 GiB 
  used: 2.71 GiB (35.9%) Init: systemd v: 249 tool: systemctl Compilers: 
  gcc: 11.1.0 Packages: pacman: 1366 lib: 366 flatpak: 0 Shell: Zsh v: 5.8 
  default: Bash v: 5.1.8 running-in: yakuake inxi: 3.3.06

And the AlsaMixer screenshots with different options-



To be honest, this reply is to sustain the post’s comment section. I am still having the issue. Could anyone help me out?
Edit; current running kernelis- 5.14.7-2

I am not very familiar with this audio codec Conexant CX20632

But I found audio data from a similar system showing that the audio codec has only one analog output for audio playback

HW probe of HP 83EE desktop PC (ProDesk 600 G4 SFF) #865f472968: aplay

card 1: PCH [HDA Intel PCH], device 0: CX20632 Analog [CX20632 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0

The three output jacks for Headphones, Speaker and Line Out cannot be used as independent audio channels and can only share one audio stream output

This command would mute or unmute the Line Out socket

amixer -c0 sset 'Line Out' 100 toggle

It would be possible to edit the path configurations /usr/share/pulseaudio/alsa-mixer/paths/
so that the Line Out is muted when the other outputs are selected, but I do not know how to implement that for this audio codec

@nikgnomic Thanks for your reply. In this folder /usr/share/pulseaudio/alsa-mixer/paths/,
I found a file called analog-output-lineout.conf. Do you think I need to change something here? I am pasting it below-

# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2.1 of the
# License, or (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

[General]
priority = 90
description-key = analog-output-lineout

[Jack Line Out]
required-any = any

[Jack Line Out Phantom]
state.plugged = unknown
state.unplugged = unknown
required-any = any

[Jack Front Line Out]
required-any = any

[Jack Front Line Out Phantom]
state.plugged = unknown
state.unplugged = unknown
required-any = any

[Jack Rear Line Out]
required-any = any

[Jack Rear Line Out Phantom]
state.plugged = unknown
state.unplugged = unknown
required-any = any

[Jack Line Out Front]
required-any = any

[Jack Line Out Front Phantom]
state.plugged = unknown
state.unplugged = unknown
required-any = any

[Jack Line Out CLFE]
state.plugged = unknown
state.unplugged = unknown
required-any = any

[Jack Line Out CLFE Phantom]
state.plugged = unknown
state.unplugged = unknown
required-any = any

[Jack Line Out Surround]
state.plugged = unknown
state.unplugged = unknown
required-any = any

[Jack Line Out Surround Phantom]
state.plugged = unknown
state.unplugged = unknown
required-any = any

[Jack Line Out Side]
state.plugged = unknown
state.unplugged = unknown
required-any = any

[Jack Line Out Side Phantom]
state.plugged = unknown
state.unplugged = unknown
required-any = any

[Jack Dock Line Out]
required-any = any

[Jack Dock Line Out Phantom]
state.plugged = unknown
state.unplugged = unknown
required-any = any

[Element Hardware Master]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

[Element Master]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

[Element Speaker+LO]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
required-any = any

[Element Headphone+LO]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
required-any = any

[Element Master Mono]
switch = off
volume = off

[Element Line HP Swap]
switch = off
required-any = any

; This profile path is intended to control line out, let's mute headphones
; else there will be a spike when plugging in headphones
[Element Headphone]
switch = off
volume = off

[Element Headphone,1]
switch = off
volume = off

[Element Headphone2]
switch = off
volume = off

[Element Speaker]
switch = off
volume = off

[Element Desktop Speaker]
switch = off
volume = off

[Element Front]
switch = mute
volume = merge
override-map.1 = all-front
override-map.2 = front-left,front-right

[Element Rear]
switch = mute
volume = merge
override-map.1 = all-rear
override-map.2 = rear-left,rear-right

[Element Surround]
switch = mute
volume = merge
override-map.1 = all-rear
override-map.2 = rear-left,rear-right

[Element Side]
switch = mute
volume = merge
override-map.1 = all-side
override-map.2 = side-left,side-right

[Element Center]
switch = mute
volume = merge
override-map.1 = all-center
override-map.2 = all-center,all-center

[Element LFE]
switch = mute
volume = merge
override-map.1 = lfe
override-map.2 = lfe,lfe

[Element CLFE]
switch = mute
volume = merge
override-map.1 = all-center
override-map.2 = all-center,lfe

[Element Center/LFE]
switch = mute
volume = merge
override-map.1 = all-center
override-map.2 = all-center,lfe

[Element Bass Speaker]
switch = off
volume = off

[Element Speaker Front]
switch = off
volume = off

[Element Speaker Surround]
switch = off
volume = off

[Element Speaker Side]
switch = off
volume = off

[Element Speaker CLFE]
switch = off
volume = off

.include analog-output.conf.common

I do not know how to edit PulseAudio mixer paths for this audio codec

I have seen information about editing headphone or speaker paths for other audio codecs, but it does not appear to be relevant to implement changes for this codec

I suggest you check related files for analog outputs in /usr/share/pulseaudio/alsa-mixer/paths/:

  • analog-output.conf
  • analog-output.conf.common
  • analog-output-speaker.conf
  • analog-output-headphones.conf

read the comments at the beginning of the files and compare settings for headphone and line-out

1 Like