I used to have SPDIF passthrough with Kodi 21 Flatpak for my Logitech Z906 when started with ‘flatpak run tv.kodi.Kodi --audio-backend=pulseaudio &’
It’s not working anymore with any AC3/DTS file I have in hand. Was working perfectly fine with F39 yesterday.
I noticed a new audio-backend=pipewire that wasn’t working with F39 and now works with F40. No passthrough though.
Passthrough options aren’t available/visible anymore in Kodi using audio-backend = pipewire / pulseaudio. Only for alsa they’re visible whereas they weren’t with F39. On top of that, they’re not working with audio-backend=alsa.
It was pretty simple with Kodi 20 and Fedora 39:
<setting id="audiooutput.audiodevice">PULSE:alsa_output.pci-0000_00_14.2.iec958-stereo|Audio interne Stéréo numérique (IEC958)</setting>
<setting id="audiooutput.channels">8</setting>
<setting id="audiooutput.config">3</setting>
That means no more 5.1 sound. Needless to say I want that back ASAP.
__
Update. Got passthrough back by installing pulseaudio over pipewire-pulseaudio and restarting daemons, but I doubt it’s a long term solution:
$ sudo dnf --allowerasing install pulseaudio
$ systemctl --user restart pipewire
$ systemctl --user restart pulseaudio
$ systemctl --user restart wireplumber
$ flatpak run tv.kodi.Kodi --audio-backend=pulseaudio &
Dernière vérification de l’expiration des métadonnées effectuée il y a 1:48:17 le mer 24 avr 2024 14:02:04.
Dépendances résolues.
==========================================================================================================================================================
Paquet Architecture Version Dépôt Taille
==========================================================================================================================================================
Installation:
pulseaudio x86_64 16.1-7.fc40 fedora 1.0 M
Installation des dépendances:
pulseaudio-module-bluetooth x86_64 16.1-7.fc40 fedora 104 k
Installation des dépendances faibles:
mpg123-plugins-pulseaudio x86_64 1.31.3-4.fc40 fedora 15 k
Supprimer des paquets dépendants:
pipewire-pulseaudio x86_64 1.0.5-1.fc40 @updates 411 k
Résumé de la transaction
==========================================================================================================================================================
Installer 3 Paquets
Supprimer 1 Paquet
Taille totale des téléchargements : 1.1 M
Voulez-vous continuer ? [O/n] :
Téléchargement des paquets :
(1/3): mpg123-plugins-pulseaudio-1.31.3-4.fc40.x86_64.rpm 24 kB/s | 15 kB 00:00
(2/3): pulseaudio-module-bluetooth-16.1-7.fc40.x86_64.rpm 134 kB/s | 104 kB 00:00
(3/3): pulseaudio-16.1-7.fc40.x86_64.rpm 1.0 MB/s | 1.0 MB 00:01
----------------------------------------------------------------------------------------------------------------------------------------------------------
Total 711 kB/s | 1.1 MB 00:01
Test de la transaction
La vérification de la transaction a réussi.
Lancement de la transaction de test
Transaction de test réussie.
Exécution de la transaction
Préparation : 1/1
Installation : mpg123-plugins-pulseaudio-1.31.3-4.fc40.x86_64 1/4
Exécution du scriptlet: pulseaudio-16.1-7.fc40.x86_64 2/4
Installation : pulseaudio-16.1-7.fc40.x86_64 2/4
Exécution du scriptlet: pulseaudio-16.1-7.fc40.x86_64 2/4
Created symlink /etc/systemd/user/sockets.target.wants/pulseaudio.socket → /usr/lib/systemd/user/pulseaudio.socket.
Installation : pulseaudio-module-bluetooth-16.1-7.fc40.x86_64 3/4
Suppression de : pipewire-pulseaudio-1.0.5-1.fc40.x86_64 4/4
Exécution du scriptlet: pulseaudio-16.1-7.fc40.x86_64 4/4
Exécution du scriptlet: pipewire-pulseaudio-1.0.5-1.fc40.x86_64 4/4
Installé:
mpg123-plugins-pulseaudio-1.31.3-4.fc40.x86_64 pulseaudio-16.1-7.fc40.x86_64 pulseaudio-module-bluetooth-16.1-7.fc40.x86_64
Supprimé:
pipewire-pulseaudio-1.0.5-1.fc40.x86_64
Terminé !
__
2nd update, the day after:
Solved by reinstalling pipewire-pulse and removing pulseaudio. However it’s not sticking so I suggest starting kodi in passthrough mode with that script. If you need kodi in alsa mode, then don’t bother:
$ cat bin/kodi-passthrough.sh
#!/bin/bash
cp ~/Kodi\ Backups/guisettings.xml ~/.var/app/tv.kodi.Kodi/data/userdata/
sleep 2s
systemctl --user restart pipewire
sleep 2s
systemctl --user restart pulseaudio
sleep 2s
systemctl --user restart wireplumber
sleep 2s
flatpak run tv.kodi.Kodi --audio-backend=pulseaudio &
How I got it is not clear. I basically removed and reinstalled pipewire-pulse. Here is the complete history in case you wionder:
6409 cat bin/kodi-passthrough.sh
6411 flatpak run tv.kodi.Kodi --audio-backend=alsa+pulseaudio &
6412 flatpak run tv.kodi.Kodi --audio-backend=pulseaudio &
6413 systemctl --user restart pipewire
6415 systemctl --user restart wireplumber
6416 flatpak run tv.kodi.Kodi --audio-backend=alsa+pulseaudio &
6417 bin/kodi-passthrough.sh
6418 systemctl --user status pipewire
6419 systemctl --user status wireplumber
6420 flatpak run tv.kodi.Kodi --audio-backend=alsa
6421 bin/kodi-passthrough.sh
6422 systemctl --user status pipewire-pulse
6423 systemctl --user restart pipewire-pulse
6424 bin/kodi-passthrough.sh
6425 cat ~/.config/pipewire/pipewire.conf
6427 journalctl --user -u pipewire
6428 journalctl --user -u pipewire-pulse
6429 journalctl --user -u wireplumber
6430 pactl list cards
6433 journalctl --user -u pulseaudio
6434 sudo dnf install pulseaudio
6436 flatpak run tv.kodi.Kodi --audio-backend=pipewire
6443 mpv --audio-device=pipewire/alsa_output.pci-0000_00_14.2.iec958-stereo.2 Videos/AAC-test.mp4
6446 mpv --audio-device=pulse/alsa_output.pci-0000_00_14.2.iec958-stereo.2 Videos/AAC-test.mp4
6458 flatpak run tv.kodi.Kodi --audio-backend=pulseaudio &
6460 cat /etc/asound.conf
6461 aplay -l
6462 aplay -L
6469 systemctl --user restart pipewire
6470 systemctl --user restart pipewire-pulse
6471 systemctl --user restart wireplumber
6472 flatpak run tv.kodi.Kodi --audio-backend=pulseaudio &
6473 sudo dnf install pulseaudio
6474 sudo dnf --allowerasing install pulseaudio
6475 systemctl --user restart wireplumber
6476 systemctl --user restart pipewire-pulse
6477 systemctl --user restart pipewire
6478 systemctl --user restart pulseaudio
6479 systemctl --user status pulseaudio
6480 flatpak run tv.kodi.Kodi --audio-backend=pulseaudio &
6483 bin/kodi-passthrough.sh
6495 sudo dnf install gstreamer1-plugins-good gstreamer1-plugins-ugly gstreamer1-plugins-bad-free
6496 sudo dnf install gstreamer1-libav gstreamer1-plugin-openh264
6497 sudo dnf update
6498 sudo dnf upgrade
6503 sudo dnf remove pulseaudio
6504 cat bin/kodi-passthrough.sh
6505 systemctl --user restart pipewire
6506 systemctl --user restart wireplumber
6507 sudo dnf install pipewire-pulseaudio
6508 systemctl --user restart pipewire-pulseaudio
6509 cat bin/kodi-passthrough.sh
6510 systemctl --user restart pipewire-pulse
6511 flatpak run tv.kodi.Kodi --audio-backend=pulseaudio &
6512 pactl list cards
6513 pactl list sinks
6514 pactl list sink-inputs
6515 sudo fuser -v /dev/snd/*
6516 sudo dnf swap --allowerasing pipewire-pulseaudio pulseaudio
6517 pactl list cards
6518 pactl list sinks
6519 pactl list sink-inputs
6520 sudo fuser -v /dev/snd/*
6521 sudo dnf swap --allowerasing pipewire-pulseaudio pulseaudio
6522 cat bin/kodi-passthrough.sh
6523 systemctl --user restart pipewire
6524 systemctl --user restart pulseaudio
6525 systemctl --user restart wireplumber
6526 sudo fuser -v /dev/snd/*
6527 sudo dnf remove pipewire
6528 pactl list cards
6529 pactl list sink-inputs
6531 pactl list sinks
6532 cat bin/kodi-passthrough.sh
6533 flatpak run tv.kodi.Kodi --audio-backend=pulseaudio &
6534 bin/kodi-passthrough.sh
6536 sudo fuser -v /dev/snd/*
6550 cat bin/kodi-passthrough.sh
6551 systemctl --user restart pipewire
6552 sleep 2s
6553 systemctl --user restart pulseaudio
6554 sleep 2s
6555 systemctl --user restart wireplumber
6556 systemctl --user status pulseaudio
6557 bin/kodi-passthrough.sh