ValveSoftware / SteamOS

SteamOS community tracker
1.61k stars 70 forks source link

Passthrough surround sound audio formats over HDMI #989

Open CascadianGit opened 1 year ago

CascadianGit commented 1 year ago

Your system information

Please describe your issue in as much detail as possible:

There's no way to output compressed surround sound audio over HDMI when docked, it only allows multichannel PCM.

I would like to use Plex on my deck and output DTS or Dolby Digital audio to my receiver, connected over HDMI.

This only requires passthrough over HDMI, no encoding.

Steps for reproducing this issue:

  1. Install Plex through the Discover software center
  2. Enable 5.1 audio in the audio control panel in desktop mode
  3. In either desktop mode or gaming mode run Plex
  4. Go to the audio settings in plex
  5. Select the correct HDMI output
  6. Select passthrough for the various surround sound audio formats
  7. Play a video file with surround sound audio
  8. Plex freezes and does not play audio
  9. It works to play multichannel PCM if the surround sound audio formats are deselected for passthrough
dborel commented 7 months ago

This is broader than just passing media compressed audio out, although that would be a simple first step. Consoles offer Dolby Digital Live and real-time Pro Logic 2 encoding to deal with SP/DIF's data limitations for games.

dborel commented 7 months ago

Even the ability to send multichannel PCM to a separate HDMI or DisplayPort output would potentially unblock my use case: HDR TV and pre-HDR amplifier.

DenDeXTeR51 commented 2 months ago

Any progress?

Saibianster commented 1 month ago

I needed too!

Saibianster commented 1 month ago

Okay, I found a solution. You have to turn off the Pipewire. I use Kodi as a media center. I start Kodi on the Steam Deck with a short BashScript and turn off Pipewire. The Steam Deck now loops the audio tracks through Kodi. Now I have Dolby True HD through my AVR.

systemctl --user stop pipewire{.socket,.service}
KODI_AE_SINK=ALSA /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=kodi tv.kodi.Kodi
systemctl --user start pipewire{.socket,.service}
DenDeXTeR51 commented 1 month ago

I also find this solution, but seems using some small media player is still more comfortable than try to adjust/config steamdek...

antgly commented 1 month ago

@Saibianster Does this work in Gaming Mode?