I want to turn OFF the 5.1 audio upmixer, a solution they provided doesn't work

In an initial bug report I created at Red Hat Bugzilla website two years ago where I was having 5.1 issues with Pipewire, I recently learned that Fedora is shipping a 5.1 audio upmixer and it’s turned ON by default but I don’t like it, therefore, they suggested to make a ~/.config/pipewire/pipewire-pulse.conf.d/10-no-upmix.conf file and put this in it:

stream.properties = {
channelmix.upmix = false
channelmix.upmix-method = none
channelmix.lfe-cutoff = 0.0
channelmix.fc-cutoff = 0.0
}

However, this is not working, the upmixer is still working when I connect my laptop to my AV receiver.

Any ideas?

Try this path, seams slightly different to RHEL:

cat client.conf
# Client config file for PipeWire version "0.3.63" #
#
# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.
#
# It is also possible to place a file with an updated section in
# /etc/pipewire/client.conf.d/ for system-wide changes or in
# ~/.config/pipewire/client.conf.d/ for local changes.
#

I tried this one and it still upmixes the audio.

I renamed the file to client.conf does it matter the name of file?

If you make a

whereis pipewire
you get a:

pipewire: /usr/bin/pipewire /usr/share/pipewire /usr/share/man/man1/pipewire.1.gz

the second (marked) entry shows you where pipe-wire takes the global config from. Go to this location and
copy the file, where contains the properties you want to change.

Unfortunately there are more config files with this properties. The first I checked was client.conf. There are others like pipewire-pulse.conf

Copy this to the the desired location and change it (remove the #on the setting you want to use and change the value as needed) Just do not forget to restart pipewire and pipewire-pulse, to test it with:

systemctl --u restart pipewire-*

Keep the file name if you use the ../application/your-config.conf path.

While using ..application.d/name_the_additions_you_make.conf so you can see what you changed and added to the configuration. (The way you got told to do)

p.s.
What Fedora-Linux Version are you using?

Isn’t it better if I keep the original file there and edit it directly?

Fedora 36 Workstation.

As long you just have to configure for one user you might keep the overview. If there is more than one user you have on the same system you soon will loose the overview what you change for whom.

And also if you regularly make backups, you can better see the changes you made (if you use explaining filenames), and while using them on a other system you just copy the files back to the new system, changing one setting and not all of them.

In case of pipewire you find the global changes in /usr/share/pipewire. This files you should never change (explainings in the header of the files). When the system gets an update, you always need to check all the local files if you might overwrite a setting from a global (system wide config) file.
So checking just one sub directory for changes will make it easier than skim a whole of sub directories.

p.s.
In the end could you make the changes?

No, I still don’t have clear what to do, could you provide the final steps of what I should do?, this seem so complicated, there should be a switch to turn that thing on and off in sound settings.

1 Like

Its like pipewire is not reading the config file
~/.config/pipewire/pipewire-pulse.conf.d/10-no-upmix.conf
when pipewire-pulse is started from commandline, strace seems to show systemcall opening and closing file

Fedora workstation 37 (upgrade from 36 , but mostly fresh-install unpolluted conf.)

This problem on my system became apparent, on 20220122, after I did a manual
dnf update all -y

Your file in that location only applies to PulseAudio clients. Can you move the file under ~/.config/pipewire/client.conf.d/, restart pipewire and test again?

Also, you can check pw-dump while audio is playing, to see if the properties are applied.

See comments 10 and 12 of the bug from the original post.

I don’t think the no-upmix config is being applied.
I have restarted pipewire, speaker icon in system-tray can be seen to disappear for 10 seconds

[gana@fedora client.conf.d]$ systemctl --u restart pipewire-* 

same thing

[gana@fedora client.conf.d]$ pwd
/home/gana/.config/pipewire/client.conf.d
[gana@fedora client.conf.d]$ cat 10-no-upmix.conf 

stream.properties = {
channelmix.upmix = false
channelmix.upmix-method = none
channelmix.lfe-cutoff = 0.0
channelmix.fc-cutoff = 0.0
}

from pwdump, I had a youtube video playing in firefox.

  {
    "id": 79,
    "type": "PipeWire:Interface:Client",
    "version": 3,
    "permissions": [ "r", "w", "x", "m" ],
    "info": {
      "change-mask": [ "props" ],
      "props": {
        "application.icon-name": "firefox",
        "application.language": "en_US.UTF-8",
        "application.name": "Firefox",
        "application.process.binary": "firefox",
        "application.process.host": "fedora",
        "application.process.id": 8351,
        "application.process.machine-id": "7078352be6444598ab0971b4dd6e2a52",
        "application.process.user": "gana",
        "application.version": 110.000000,
        "client.api": "pipewire-pulse",
        "clock.power-of-two-quantum": true,
        "config.name": "pipewire-pulse.conf",
        "core.name": "pipewire-gana-6254",
        "core.version": "0.3.66",
        "cpu.max-align": 32,
        "default.clock.max-quantum": 2048,
        "default.clock.min-quantum": 32,
        "default.clock.quantum": 1024,
        "default.clock.quantum-limit": 8192,
        "default.clock.rate": 48000,
        "default.video.height": 480,
        "default.video.rate.denom": 1,
        "default.video.rate.num": 25,
        "default.video.width": 640,
        "link.max-buffers": 64,
        "log.level": 2,
        "mem.allow-mlock": true,
        "mem.warn-mlock": false,
        "module.id": 2,
        "object.id": 79,
        "object.serial": 258,
        "pipewire.access": "unrestricted",
        "pipewire.protocol": "protocol-native",
        "pipewire.sec.gid": 1000,
        "pipewire.sec.label": "unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023",
        "pipewire.sec.pid": 6254,
        "pipewire.sec.uid": 1000,
        "pulse.server.type": "unix",
        "settings.check-quantum": false,
        "settings.check-rate": false,
        "window.x11.display": ":0"
      }
    }
  },
  {
    "id": 80,
    "type": "PipeWire:Interface:Client",
    "version": 3,
    "permissions": [ "r", "w", "x", "m" ],
    "info": {
      "change-mask": [ "props" ],
      "props": {
        "application.language": "en_US.UTF-8",
        "application.name": "Firefox",
        "application.process.binary": "firefox",
        "application.process.host": "fedora",
        "application.process.id": 8351,
        "application.process.machine-id": "7078352be6444598ab0971b4dd6e2a52",
        "application.process.user": "gana",
        "client.api": "pipewire-pulse",
        "clock.power-of-two-quantum": true,
        "config.name": "pipewire-pulse.conf",
        "core.name": "pipewire-gana-6254",
        "core.version": "0.3.66",
        "cpu.max-align": 32,
        "default.clock.max-quantum": 2048,
        "default.clock.min-quantum": 32,
        "default.clock.quantum": 1024,
        "default.clock.quantum-limit": 8192,
        "default.clock.rate": 48000,
        "default.video.height": 480,
        "default.video.rate.denom": 1,
        "default.video.rate.num": 25,
        "default.video.width": 640,
        "link.max-buffers": 64,
        "log.level": 2,
        "mem.allow-mlock": true,
        "mem.warn-mlock": false,
        "module.id": 2,
        "object.id": 80,
        "object.serial": 259,
        "pipewire.access": "unrestricted",
        "pipewire.protocol": "protocol-native",
        "pipewire.sec.gid": 1000,
        "pipewire.sec.label": "unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023",
        "pipewire.sec.pid": 6254,
        "pipewire.sec.uid": 1000,
        "pulse.server.type": "unix",
        "settings.check-quantum": false,
        "settings.check-rate": false,
        "window.x11.display": ":0"
      }
    }
  },
  {
    "id": 83,
    "type": "PipeWire:Interface:Node",
    "version": 3,
    "permissions": [ "r", "w", "x", "m" ],
    "info": {
      "max-input-ports": 0,
      "max-output-ports": 65,
      "change-mask": [ "input-ports", "output-ports", "state", "props", "params" ],
      "n-input-ports": 0,
      "n-output-ports": 2,
      "state": "running",
      "error": null,
      "props": {
        "adapt.follower.spa-node": "",
        "application.language": "en_US.UTF-8",
        "application.name": "Firefox",
        "application.process.binary": "firefox",
        "application.process.host": "fedora",
        "application.process.id": 8351,
        "application.process.machine-id": "7078352be6444598ab0971b4dd6e2a52",
        "application.process.user": "gana",
        "audio.adapt.follower": "",
        "client.api": "pipewire-pulse",
        "client.id": 80,
        "clock.quantum-limit": 8192,
        "factory.id": 6,
        "factory.mode": "split",
        "library.name": "audioconvert/libspa-audioconvert",
        "media.class": "Stream/Output/Audio",
        "media.name": "151,025 People Agree With Me, 59,603 Disagree - YouTube",
        "node.autoconnect": true,
        "node.latency": "3600/48000",
        "node.name": "Firefox",
        "node.rate": "1/48000",
        "node.want-driver": true,
        "object.id": 83,
        "object.register": false,
        "object.serial": 265,
        "pulse.attr.maxlength": 4194304,
        "pulse.attr.minreq": 9600,
        "pulse.attr.prebuf": 38408,
        "pulse.attr.tlength": 48000,
        "pulse.server.type": "unix",
        "stream.is-live": true,
        "window.x11.display": ":0"
      },
      "params": {
        "EnumFormat": [
          {
            "mediaType": "audio",
            "mediaSubtype": "raw",
            "format": "F32LE",
            "rate": 48000,
            "channels": 2,
            "position": [ "FL", "FR" ]
          }
        ],
        "PropInfo": [
          {
            "id": "volume",
            "description": "Volume",
            "type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
          },
          {
            "id": "mute",
            "description": "Mute",
            "type": {
              "default": false,
              "alt1": false,
              "alt2": true
            }
          },
          {
            "id": "channelVolumes",
            "description": "Channel Volumes",
            "type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
            "container": "Array"
          },
          {
            "id": "channelMap",
            "description": "Channel Map",
            "type": "",
            "container": "Array"
          },
          {
            "id": "monitorMute",
            "description": "Monitor Mute",
            "type": {
              "default": false,
              "alt1": false,
              "alt2": true
            }
          },
          {
            "id": "monitorVolumes",
            "description": "Monitor Volumes",
            "type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
            "container": "Array"
          },
          {
            "id": "softMute",
            "description": "Soft Mute",
            "type": {
              "default": false,
              "alt1": false,
              "alt2": true
            }
          },
          {
            "id": "softVolumes",
            "description": "Soft Volumes",
            "type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 },
            "container": "Array"
          },
          {
            "name": "monitor.channel-volumes",
            "description": "Monitor channel volume",
            "type": {
              "default": false,
              "alt1": false,
              "alt2": true
            },
            "params": true
          },
          {
            "name": "channelmix.disable",
            "description": "Disable Channel mixing",
            "type": {
              "default": false,
              "alt1": false,
              "alt2": true
            },
            "params": true
          },
          {
            "name": "channelmix.normalize",
            "description": "Normalize Volumes",
            "type": {
              "default": false,
              "alt1": false,
              "alt2": true
            },
            "params": true
          },
          {
            "name": "channelmix.mix-lfe",
            "description": "Mix LFE into channels",
            "type": {
              "default": true,
              "alt1": true,
              "alt2": false
            },
            "params": true
          },
          {
            "name": "channelmix.upmix",
            "description": "Enable upmixing",
            "type": {
              "default": true,
              "alt1": true,
              "alt2": false
            },
            "params": true
          },
          {
            "name": "channelmix.lfe-cutoff",
            "description": "LFE cutoff frequency",
            "type": { "default": 150.000000, "min": 0.000000, "max": 1000.000000 },
            "params": true
          },
          {
            "name": "channelmix.fc-cutoff",
            "description": "FC cutoff frequency (Hz)",
            "type": { "default": 12000.000000, "min": 0.000000, "max": 48000.000000 },
            "params": true
          },
          {
            "name": "channelmix.rear-delay",
            "description": "Rear channels delay (ms)",
            "type": { "default": 12.000000, "min": 0.000000, "max": 1000.000000 },
            "params": true
          },
          {
            "name": "channelmix.stereo-widen",
            "description": "Stereo widen",
            "type": { "default": 0.000000, "min": 0.000000, "max": 1.000000 },
            "params": true
          },
          {
            "name": "channelmix.hilbert-taps",
            "description": "Taps for phase shift of rear",
            "type": { "default": 0, "min": 0, "max": 255 },
            "params": true
          },
          {
            "name": "channelmix.upmix-method",
            "description": "Upmix method to use",
            "type": "psd",
            "params": true,
            "labels": [
              "none",
              "Disabled",
              "simple",
              "Simple upmixing",
              "psd",
              "Passive Surround Decoding"
            ]
          },
          {
            "id": "rate",
            "description": "Rate scaler",
            "type": { "default": 1.000000, "min": 0.000000, "max": 10.000000 }
          },
          {
            "id": "quality",
            "name": "resample.quality",
            "description": "Resample Quality",
            "type": { "default": 4, "min": 0, "max": 14 },
            "params": true
          },
          {
            "name": "resample.disable",
            "description": "Disable Resampling",
            "type": {
              "default": false,
              "alt1": false,
              "alt2": true
            },
            "params": true
          },
          {
            "name": "dither.noise",
            "description": "Add noise bits",
            "type": { "default": 0, "min": 0, "max": 16 },
            "params": true
          },
          {
            "name": "dither.method",
            "description": "The dithering method",
            "type": "none",
            "params": true,
            "labels": [
              "none",
              "Disabled",
              "rectangular",
              "Rectangular dithering",
              "triangular",
              "Triangular dithering",
              "triangular-hf",
              "Sloped Triangular dithering",
              "wannamaker3",
              "Wannamaker 3 dithering",
              "shaped5",
              "Lipshitz 5 dithering"
            ]
          }
        ],
        "Props": [
          {
            "volume": 1.000000,
            "mute": false,
            "channelVolumes": [ 1.000000, 1.000000 ],
            "channelMap": [ "FL", "FR" ],
            "softMute": false,
            "softVolumes": [ 1.000000, 1.000000 ],
            "monitorMute": false,
            "monitorVolumes": [ 1.000000, 1.000000 ],
            "params": [
              "monitor.channel-volumes",
              false,
              "channelmix.disable",
              false,
              "channelmix.normalize",
              false,
              "channelmix.mix-lfe",
              true,
              "channelmix.upmix",
              true,
              "channelmix.lfe-cutoff",
              150.000000,
              "channelmix.fc-cutoff",
              12000.000000,
              "channelmix.rear-delay",
              12.000000,
              "channelmix.stereo-widen",
              0.000000,
              "channelmix.hilbert-taps",
              0,
              "channelmix.upmix-method",
              "psd",
              "resample.quality",
              4,
              "resample.disable",
              false,
              "dither.noise",
              0,
              "dither.method",
              "none"
            ]
          }
        ],
        "Format": [
          {
            "mediaType": "audio",
            "mediaSubtype": "raw",
            "format": "F32LE",
            "rate": 48000,
            "channels": 2,
            "position": [ "FL", "FR" ]
          }
        ],
        "EnumPortConfig": [
          {
            "direction": "Output",
            "mode": {
              "default": "none",
              "alt1": "none",
              "alt2": "dsp",
              "alt3": "convert"
            },
            "monitor": {
              "default": false,
              "alt1": false,
              "alt2": true
            },
            "control": {
              "default": false,
              "alt1": false,
              "alt2": true
            }
          }
        ],
        "PortConfig": [
          {
            "direction": "Output",
            "mode": "dsp",
            "monitor": true,
            "control": false,
            "format": {
              "mediaType": "audio",
              "mediaSubtype": "raw",
              "format": "F32P",
              "channels": 2,
              "position": [ "FL", "FR" ]
            }
          }
        ],
        "Latency": [
          {
            "direction": "Input",
            "minQuantum": 1.000000,
            "maxQuantum": 1.000000,
            "minRate": 0,
            "maxRate": 0,
            "minNs": 0,
            "maxNs": 0
          }
        ],
        "ProcessLatency": [
        ]
      }
    }
  },
  {
    "id": 84,
    "type": "PipeWire:Interface:Port",
    "version": 3,
    "permissions": [ "r", "w", "x", "m" ],
    "info": {
      "direction": "output",
      "change-mask": [ "props", "params" ],
      "props": {
        "audio.channel": "FL",
        "format.dsp": "32 bit float mono audio",
        "node.id": 83,
        "object.id": 84,
        "object.path": "Firefox:output_0",
        "object.serial": 266,
        "port.alias": "Firefox:output_FL",
        "port.direction": "out",
        "port.id": 0,
        "port.name": "output_FL"
      },
      "params": {
        "EnumFormat": [
          {
            "mediaType": "audio",
            "mediaSubtype": "dsp",
            "format": "F32P"
          }
        ],
        "Meta": [
          {
            "type": "Header",
            "size": 32
          }
        ],
        "IO": [
          {
            "id": "Buffers",
            "size": 8
          }
        ],
        "Format": [
          {
            "mediaType": "audio",
            "mediaSubtype": "dsp",
            "format": "F32P"
          }
        ],
        "Buffers": [
          {
            "buffers": { "default": 2, "min": 1, "max": 32 },
            "blocks": 1,
            "size": { "default": 32768, "min": 64, "max": 2147483647 },
            "stride": 4
          }
        ],
        "Latency": [
          {
            "direction": "Input",
            "minQuantum": 1.000000,
            "maxQuantum": 1.000000,
            "minRate": 0,
            "maxRate": 0,
            "minNs": 0,
            "maxNs": 0
          },
          {
            "direction": "Output",
            "minQuantum": 0.000000,
            "maxQuantum": 0.000000,
            "minRate": 0,
            "maxRate": 0,
            "minNs": 0,
            "maxNs": 0
          }
        ]
      }
    }
  },
  {
    "id": 60,
    "type": "PipeWire:Interface:Port",
    "version": 3,
    "permissions": [ "r", "w", "x", "m" ],
    "info": {
      "direction": "output",
      "change-mask": [ "props", "params" ],
      "props": {
        "audio.channel": "FR",
        "format.dsp": "32 bit float mono audio",
        "node.id": 83,
        "object.id": 60,
        "object.path": "Firefox:output_1",
        "object.serial": 267,
        "port.alias": "Firefox:output_FR",
        "port.direction": "out",
        "port.id": 1,
        "port.name": "output_FR"
      },
      "params": {
        "EnumFormat": [
          {
            "mediaType": "audio",
            "mediaSubtype": "dsp",
            "format": "F32P"
          }
        ],
        "Meta": [
          {
            "type": "Header",
            "size": 32
          }
        ],
        "IO": [
          {
            "id": "Buffers",
            "size": 8
          }
        ],
        "Format": [
          {
            "mediaType": "audio",
            "mediaSubtype": "dsp",
            "format": "F32P"
          }
        ],
        "Buffers": [
          {
            "buffers": { "default": 2, "min": 1, "max": 32 },
            "blocks": 1,
            "size": { "default": 32768, "min": 64, "max": 2147483647 },
            "stride": 4
          }
        ],
        "Latency": [
          {
            "direction": "Input",
            "minQuantum": 1.000000,
            "maxQuantum": 1.000000,
            "minRate": 0,
            "maxRate": 0,
            "minNs": 0,
            "maxNs": 0
          },
          {
            "direction": "Output",
            "minQuantum": 0.000000,
            "maxQuantum": 0.000000,
            "minRate": 0,
            "maxRate": 0,
            "minNs": 0,
            "maxNs": 0
          }
        ]
      }
    }
  },

dmesg

[gana@fedora client.conf.d]$ dmesg | grep -i audio
[   27.052931] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[   28.267598] snd_hda_codec_idt hdaudioC1D0: autoconfig for 92HD91BXX: line_outs=1 (0xd/0x0/0x0/0x0/0x0) type:speaker
[   28.267614] snd_hda_codec_idt hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   28.267621] snd_hda_codec_idt hdaudioC1D0:    hp_outs=1 (0xb/0x0/0x0/0x0/0x0)
[   28.267626] snd_hda_codec_idt hdaudioC1D0:    mono: mono_out=0x0
[   28.267630] snd_hda_codec_idt hdaudioC1D0:    inputs:
[   28.267633] snd_hda_codec_idt hdaudioC1D0:      Internal Mic=0x11
[   28.267638] snd_hda_codec_idt hdaudioC1D0:      Mic=0xa

I don’t really under understand how my later posts are getting deleted.

But, long story short the problem is fixed.
It so happens the jack on the headphone-cable was not seated firmly in. I pressed it in harder and sound came back to normal.

Herein, I just want to double check if issue I see is same issue as reported here.

On my laptop, the voice seems to be extremely muffled
A little bit of background sounds/music can be made out, hinting that something is being played.
Adjusting the sound balance to either left-speaker or right-speaker makes voice audible, except that it is played on both sides (like a mono recording), instead of muting the other speaker. I am usually wearing headphones, but same problem from laptop speakers if headphone jack unplugged.

The Youtube video i played above is from veritasium.
160,439 People Agree With Me, 64,831 Disagree - YouTube
I have heard it before, so know for sure that thats not how it sounds.

Same thing happens when I play a libav H264 mp4 video, sintel-2048-surround.mp4, using mpv-player
So it not firefox limited.
Sometimes there is a speech-dispatcher sound-volume-bar in the system-settings/sound but that also seems to not be relevant.

I downgraded to pipewire-0.3.46-1.fc37 (20220217) and confirmed same thing.

I downgraded to pipewire-0.3.23-2.fc35 (20210309) (version just before introduction of simple upmixing) and confirmed same thing

Then I rebooted windows-11 and confirmed same effect on headphones. Laptop speakers L,R and mono seemed to play ok.

Then I rebooted to windows-10, confirmed same effect even after reinstalling HP_sp63555_IDT_6.10.6491.exe beats idt drivers.

So it might be that firmware logic of low level sound jacks needs to be reset somehow.

omigosh !!!, I am so sorry! In my case, this seems be caused by the headphone cable’s jack not sitting flush on the headphone side. Pressing it harder to seat it in properly seems to have fixed my problem. Checked by booting back to Fedora-37, upgrading pipewire back to 0.3.66-1 and redoing the sound test. Unsure if the upmixing has any affect. The laptop sounds systems has two small front speaker-tweeters, one long sound bar nearer to display and one LFE. When the headphone jack is inserted I think it uses a combination of hardware and software driver logic to mute the laptop sounds and redirect front-L front R to the headphones. As there is no 5.1 output, at worst, the upmixing if done may be a cpu waste. I may have wasted both your time and mine, sorry.

I downgraded from pipewire 0.3.66-1 to 0.3.59-2 and still happens (with or without config file).

[gana@fedora ~]$ rpm -qa | grep pipewire
pipewire-libs-0.3.59-2.fc37.x86_64
pipewire-0.3.59-2.fc37.x86_64
pipewire-alsa-0.3.59-2.fc37.x86_64
pipewire-gstreamer-0.3.59-2.fc37.x86_64
pipewire-pulseaudio-0.3.59-2.fc37.x86_64
pipewire-utils-0.3.59-2.fc37.x86_64
pipewire-jack-audio-connection-kit-0.3.59-2.fc37.x86_64

I then downloaded 0.3.46-1 (20220217) from koji , same thing

[root@fedora pipewire]# rpm -qa | grep pipewire
pipewire-libs-0.3.46-1.fc37.x86_64
pipewire-0.3.46-1.fc37.x86_64
pipewire-alsa-0.3.46-1.fc37.x86_64
pipewire-gstreamer-0.3.46-1.fc37.x86_64
pipewire-jack-audio-connection-kit-0.3.46-1.fc37.x86_64
pipewire-pulseaudio-0.3.46-1.fc37.x86_64
pipewire-utils-0.3.46-1.fc37.x86_64

I tried 0.3.23.-2.fc35 (20210309) from koji, same thing, which is version before introduction of simple upmixing

[root@fedora pipewire]# rpm -qa | grep pipewire
pipewire-libs-0.3.23-2.fc35.x86_64
pipewire-0.3.23-2.fc35.x86_64
pipewire-alsa-0.3.23-2.fc35.x86_64
pipewire-gstreamer-0.3.23-2.fc35.x86_64
pipewire-jack-audio-connection-kit-0.3.23-2.fc35.x86_64
pipewire-pulseaudio-0.3.23-2.fc35.x86_64
pipewire-utils-0.3.23-2.fc35.x86_64

I’m beginning to wonder if it is something else other than pipewire.
like alsa low level jack re-routes ?

I rebooted to windows-11.
Headphone seems to still have the same problem.
Laptop speakers seem to play L,R stereo, mono correctly, as far as I can tell.
Something like this happened before, where the firmware seems to forget the internal connections of the hardware and send sounds on wrong channel

I don’t know how my later posts got deleted. I did get the logs, but they seem to be gone now. Some problem with this web-portal.
But long story short, the jack on the headphone-cable on the side nearer the headphone was not seated. Pressing it in firmly solved the problem.

As a new user you have some restrictions. So being patient and not post with a high frequency keeps you out of the spam filter.

Thanks for your feedback!

Long story short, Pipewire is not reading the config file, is that correct?

AFAICT, correct, in the logs I gave, there was nothing that indicated they (the confs) have any effect. There was no perceivable difference in audio either.
Maybe the pipewire service doing its own thing with inbuilt settings regardless, not applying the user’s config file.
The hardware is HP Envy 17 j186nr with Beats-audio 92HD91BXX

[root@fedora ~]# dmesg | grep audio
[   27.500059] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[   28.334172] snd_hda_codec_idt hdaudioC1D0: autoconfig for 92HD91BXX: line_outs=1 (0xd/0x0/0x0/0x0/0x0) type:speaker
[   28.334178] snd_hda_codec_idt hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   28.334180] snd_hda_codec_idt hdaudioC1D0:    hp_outs=1 (0xb/0x0/0x0/0x0/0x0)
[   28.334182] snd_hda_codec_idt hdaudioC1D0:    mono: mono_out=0x0
[   28.334183] snd_hda_codec_idt hdaudioC1D0:    inputs:
[   28.334185] snd_hda_codec_idt hdaudioC1D0:      Internal Mic=0x11
[   28.334186] snd_hda_codec_idt hdaudioC1D0:      Mic=0xa

In the following I describe different old problem which may have some relevance here, as it gives some insight of the laptop/hardware I use. Long time ago, whenever I reinstalled a fresh Fedora, I had to use hda-jack-retask and do something like described in [SOLVED] Beats Audio not work properly on HP ENVY 17 j112nl - Debian User Forums to configure some pins in order to make the sound max volume level on Linux as large as it sounds on windows. HP on Win8/Win10 requires windows-users to install HP-beats IDT-driver. The sound max-volume-level on a fresh install of Fedora Linux used to be very feeble, coming out only through the front tweeters. It was not using all the internal speaker-jack-outs, and hence, not using the back sound bar and LFE. Maybe the more recent Fedora-s don’t require it. I use windows a bit less now, I use headphones more often and work more upclose to the laptop, so I don’t notice if max volume level is not high enough. I will notice only if I need to set the laptop far away and play/watch a movie.
I don’t think the beats audio on the laptop is a true 4.1 or 5.1 setup, I think it has, not sure, just one set of tweeter front speakers, one long sound bar near the screen with a tiny LFE-subwoofer-speaker. When the speaker jack is inserted, both hardware and OS autodetect the headphone and shuts off laptop-sound and only L&R goto the headphone. The headphone is an Audiotechnica (i think Ath-ANC9) with volume control (ANC not on, but I still think it does some processing)

The purpose of upmixing is to take a stereo signal and feed the the other channels in 2.1, 4.1, 5.1. I don’t have is a true 4.1/5.1 setup, but some sound has to be routed to the near-the-screen speakers and LFE. Maybe the upmixing to these speakers is the reason that I don’t experience as feeble sound as before.

Either the previous upmixing hypothesis is true, or later versions of Fedora have the proper preconfiguration for 92HD91BXX. Many different laptops from different vendors at the time (2013-ish) needed their own snd-hda-intel jack profile and my Linux support for my HP laptop did not come with sensible preinstalled defaults.

I’m guessing here: One possibility is that maybe pipewire ignores confs if sound sources chosen (youtube and sintelmp4) are surround-sound to begin with. Another possibility is that pipewire ignores confs if pipewire sees surround-sound-like hardware, assumes surround-sound and does its own thing.

Both /usr/share/pipewire/client.conf and /usr/share/pipewire/pipewire-pulse.conf seem to have stream.properties {} configuration section. I am guessing the pipewire-client applies to all client users of pipewire, and pipewire-pulse applies to only those clients that come in via the pulseaudio emulation. I don’t have a /etc/pipewire folder, and presently by .config/pipewire/client.conf.d and .config/pipewire/pipewire-pulse.conf.d are empty. The below two files seem to be auto-generated

[root@fedora ~]# cat  /home/gana/.config/pipewire/media-session.d/default-routes 
{ 
 "default.route.alsa_card.pci-0000_00_03.0:profile:off": [ ]
 "default.route.alsa_card.pci-0000_00_1b.0:profile:off": [ ]
 "default.route.alsa_card.pci-0000_00_1b.0:profile:output:analog-stereo+input:analog-stereo": [ ]
 "default.route.alsa_card.pci-0000_00_1b.0:input:analog-input-mic": { "mute": false, "volumes": [ 0.316288, 0.316288 ], "channels": [ "FL", "FR" ] }
 "default.route.alsa_card.pci-0000_00_1b.0:output:analog-output-headphones": { "mute": false, "volumes": [ 0.399992, 0.399992 ], "channels": [ "FL", "FR" ] }
 "default.route.alsa_card.pci-0000_00_1b.0:input:analog-input-internal-mic": { "mute": false, "volumes": [ 0.316288, 0.316288 ], "channels": [ "FL", "FR" ] }
 "default.route.alsa_card.pci-0000_00_1b.0:output:analog-output-speaker": { "mute": false, "volumes": [ 0.399992, 0.399992 ], "channels": [ "FL", "FR" ] }
}
[root@fedora ~]# cat  /home/gana/.config/pipewire/media-session.d/restore-stream 
{ 
 "restore.stream.Output/Audio.application.name:Firefox": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] }
 "restore.stream.Output/Audio.media.role:Notification": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] }
 "restore.stream.Output/Audio.media.role:Movie": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000, 1.000000, 1.000000, 1.000000, 1.000000 ], "channels": [ "FL", "FR", "FC", "LFE", "RL", "RR" ] }
}

Another thought was, if I don’t need software-upmixing, is it consuming unnecessary CPU processing power trying to upmix into channels that I don’t have. Especially, if the same max-volume-level can be achieved with hardware hda-jack-retask pin settings. I think pin settings cause the intel hda audio chip to send the same L,R channels to the other speakers and LFE.

I ran alsa-info.sh and uploaded information to alsa-project.org
http//alsa-project.org/db/?f=978a95c586476a3bcef954490af7f2431f7f3b84

I didn’t see any selinux denials in journalctl either, have also tried a setenforce 0

Other than these observations of ‘no effect of conf’, I don’t have anything to complain about now.

yes, Long story short, Pipewire is not reading the config file. :slight_smile: