De ceva vreme am observat că după ce pun pauză la un clip pe YouTube și fac altceva, când revin nu mai am sunet. Nu doar la clip, nici extensia de radio din Cinnamon nu mai mergea - nu mai avea sunet deloc. De fiecare dată rezolvam situația deschizând setările de sunet din Cinnamon și schimbând profilul boxelor Bluetooth, după care totul reintra în normal.
Problema nu era cu navigatorul sau cu YouTube. Folosesc boxe Bluetooth, iar PipeWire suspendă dispozitivul audio când nu e activitate. Când navigatorul încearcă să reia redarea după pauză, dispozitivul Bluetooth nu se mai „trezește" corect sau, dacă se trezește, ceva în handshake-ul dintre PipeWire și stack-ul Bluetooth nu merge cum trebuie. Schimbarea profilului din setările Cinnamon forța practic o reinițializare a dispozitivului.
Soluția a fost să dezactivez timpul de suspendare pentru dispozitivele Bluetooth. Asta am făcut-o prin WirePlumber, care e componenta din PipeWire ce gestionează politica de sesiune. Pe Linux Mint cu WirePlumber 0.4.x sintaxa e Lua, deci am creat fișierul:
Cod: Selectaţi tot
mkdir -p ~/.config/wireplumber/wireplumber.conf.d
nano ~/.config/wireplumber/wireplumber.conf.d/51-no-bluetooth-suspend.confUnde am adăugat conținutul:
Cod: Selectaţi tot
table.insert(bluez_monitor.rules, {
matches = {{ "node.name", "matches", "bluez_output.*" }},
apply_properties = {
["session.suspend-timeout-seconds"] = 0,
},
})Valoarea 0 înseamnă că nu va mai suspenda niciodată dispozitivul Bluetooth. Apoi am dat restart la WirePlumber:
Cod: Selectaţi tot
systemctl --user restart wireplumber