Audio-Watchdog for Xperia 10 III: A workaround for call‑audio dropouts on SailfishOS

[ENGLISH]
Hi everyone, I’ve created a small script designed specifically for the Sony Xperia 10 III running SailfishOS, to act as a workaround for the well‑known issue where audio breaks during incoming or outgoing calls. You can find it here: GitHub.

What it does: This tool doesn’t aim to diagnose the root cause — that part is already well understood in the community. Instead, it periodically checks the audio subsystem and attempts to recover audio automatically when it detects that the call audio path has failed. It’s meant as a temporary helper to reduce the impact of the issue in daily use.

Why I’m sharing it: I’d like to confirm whether this workaround behaves reliably on different Xperia 10 III devices and setups. Feedback from other users is essential to understand if the script actually helps mitigate the problem in real‑world scenarios.

How you can help:

  • Try running it on your Xperia 10 III

  • Let me know if it successfully restores audio after a dropout

  • Report any unexpected behavior or ideas for improvement

  • Suggest additional checks or recovery actions

Even a quick test would be extremely helpful.
Thanks in advance to anyone who gives it a try!

[ITALIANO]

Ciao a tutti, ho realizzato un piccolo script pensato specificamente per il Sony Xperia 10 III con SailfishOS, come workaround per il noto problema della perdita dell’audio durante le chiamate in entrata e in uscita. Lo trovate qui: GitHub.

Cosa fa: Questo tool non vuole indagare la causa del problema — quella è già nota nella community. Il suo scopo è invece monitorare periodicamente il sottosistema audio e tentare di ripristinare automaticamente l’audio quando rileva che il percorso audio della chiamata è andato in errore. È quindi un aiuto pratico per ridurre l’impatto del problema nell’uso quotidiano.

Perché lo condivido: Mi interessa capire se questo workaround si comporta in modo affidabile su diversi Xperia 10 III e configurazioni. Il feedback degli altri utenti è fondamentale per verificare se lo script aiuta davvero a mitigare il problema nella pratica.

Come potete aiutare:

  • Provatelo sul vostro Xperia 10 III

  • Segnalate se riesce a ripristinare l’audio dopo un’interruzione

  • Riportate eventuali comportamenti anomali o idee per migliorarlo

  • Suggerite controlli o azioni di ripristino aggiuntive

Anche un test veloce sarebbe prezioso.
Grazie in anticipo a chi vorrà provarlo!

7 Likes

You can add system-notification to you shellscript with:

title="title text"
body="body text"
gdbus call --session --dest org.freedesktop.Notifications --object-path /org/freedesktop/Notifications --method org.freedesktop.Notifications.Notify "yourapp" 42 "icon-s-Di-it" "$title" "$body" "[]" "{'x-nemo-preview-summary':<'$title'>, 'x-nemo-preview-body':<'$body'>}" 0
3 Likes

There is also notificationtool which does the same but may be a bit more convenient.

Thx, I will try it when I will have time! :heart:

I don’t know notificationtool

But not out of the box:

/bin/bash: notificationtool: not found

I try with notificationtool integrated in the script. Something like this: notificationtool -o add --summary=“audio-watchdog” “Audio Watchdog” “PulseAudio was not responding and has been restarted.”

I’ve corrected the timer of the script, because it started too early, now it start after 5 minute. The rate remaining the same, 30 seconds.

Known Issue: No notifications when script run. I’m working on it.

When trying to understand what your watchdog script does I noticed that much of the pactl list output is a mix of German and English in my case, so especially the grep arguments (e.g. “State: RUNNING”) will not work as expected.

Maybe I must use:

LANG=C pactl list

I’ve updated the script (2.0), with new formatting and new notification method, but I don’t already known if the notify works…

I used the gdbus method suggested by fingus, works like a charm.

1 Like

I’m working to update notify with gdbus… maybe tomorrow…

Thanks to everyone who support me, really. THANKS!

1 Like

For notificationtool (and iirc also for the gdbus method) you first need to

export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/100000/dbus/user_bus_socket
1 Like

Thanks you very much. I’m testing It forse MANY DAYS now before public the versione with notification… i don’t want repeat the error I’ve done with ZRAM…