Pipewire two different audio channels not memorized for bt earbuds

So i have setup two different audio levels for my sort of broken earbuds. I have set the audio to go 130% for left and 60% to the right. Whenever i connect my earbuds it’s just blasting 130% for both channels. It gets “fixed” if i move the slider for the audio channel levels. But after reconnect it just blasts 130% on both channels.

So basically it doesn’t memorize the separate audio channel volumes and instead just blasts 130% on both channels.

Managed to fix the low volume on the left earbud by blasting the bt earbuds at max audio on my Android phone. I guess the hardware audio level was very low for the left earbud. Still the audio levels thing not memorized stands.

To check sink channel volume levels:

pactl list sinks

To set sink channel volumes using the sink name:

pactl set-sink-volume NAME 130% 60%

pactl – set-sink-volume — Arch manual pages

Those are reported as 130% and 60%, but the headphones volume plays back it wrong. I think i will need to make a script to do that pactl set-sink-volume NAME 130% 60% when bt earbuds are connected to workaround the bug.

Made a script that i use at KDE’s autostart.

#!/bin/bash

# Bluetooth-device MAC-address
DEVICE_MAC="XX:XX:XX:XX:XX:XX"

# Sink name
SINK_NAME="bluez_output.XX_XX_XX_XX_XX_XX.1"

was_connected=false

# Waiting for bluetooth to start
until bluetoothctl show > /dev/null 2>&1; do
    sleep 2
done

# Waiting for pactl to start
until pactl info > /dev/null 2>&1; do
    sleep 2
done

while true; do
    info_output=$(bluetoothctl info "$DEVICE_MAC")

    if echo "$info_output" | grep -q "Connected: yes"; then
        if [ "$was_connected" = false ]; then
            was_connected=true

            if pactl list short sinks | grep -q "$SINK_NAME"; then
                pactl set-sink-volume "$SINK_NAME" 100% 60%
            fi
        fi
    else
        if [ "$was_connected" = true ]; then
            was_connected=false
        fi
    fi

    sleep 5
done

That is a workaround for the bug.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.