ValveSoftware / ValveSoftware/SteamOS

Audio ~500ms out of sync with video - works with workaround

Open
#2,638 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
2.6k
Forks
83
Avg merge
4m
Merged PRs (30d)
3

Description

Title

[SteamOS 3.8.x] HDMI 5.1 PCM Audio Sink introduces ~500ms latency on boot/user profile switch until re-toggled

System Information
  • SteamOS Version: SteamOS 3.8.x (Gaming Mode)
  • CPU: AMD Ryzen 5 7500X3D
  • GPU: AMD Radeon RX 9060 XT (Mesa RADV GFX1200 / Driver 35.0.99999.9999)
  • Kernel: 6.x
  • Audio Server: PipeWire / WirePlumber
  • Audio Topology: PC (HDMI 2.1) ➔ Philips Hue Play HDMI Sync Box 8K ➔ Samsung QN95A TV (One Connect Box) ➔ eARC ➔ Sonos Arc Ultra

Issue Description

When booting into SteamOS Gaming Mode or switching active Steam user profiles, the HDMI multichannel PCM audio stream (5.1/7.1 configuration) exhibits severe audio delay (~500ms out of sync with video).

The underlying cause appears to be PipeWire/WirePlumber failing to properly negotiate or reset the ALSA HDMI audio sink buffer timing when the session manager destroys and recreates the user audio instance during profile transitions over complex HDMI eARC chains.

Passing through the exact same cable path, video performance is unaffected (1080p @ 120Hz), and replacing all physical interconnects with certified 48Gbps HDMI 2.1 cables does not resolve the behavior.


Steps to Reproduce
  1. Connect SteamOS host to an HDMI eARC audio setup supporting multichannel LPCM 5.1.
  2. Set Audio Configuration in SteamOS Settings to 5.1 Surround.
  3. Reboot the machine OR switch to a different Steam user profile in Gaming Mode.
  4. Launch any game or navigate UI sound effects.
    • Result: Audio playback is delayed by roughly 500ms behind visual cues.

Workaround
  1. Navigate to Settings > Audio in SteamOS Gaming Mode.
  2. Change Audio Output configuration from 5.1 to Stereo.
  3. Immediately change Audio Output configuration back to 5.1.
  4. Result: PipeWire re-initializes the sink stream, audio sync instantly returns to 0ms input latency, and remains in sync until the next profile swap/reboot.

Expected Behavior

PipeWire/WirePlumber should seamlessly maintain or refresh the ALSA 5.1 PCM stream buffer clock across Steam session/profile switches without introducing buffer delay or requiring a manual output format toggle.


Additional Context / Logs
  • Tested with certified Ultra High Speed (48Gbps) HDMI 2.1 cables across the entire chain.
  • Toggling output device formats manually forces a hard sink refresh, which confirms the hardware path and EDID negotiation are valid, but the software session manager gets stuck in a high-latency buffer queue during user handoffs.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with the described SteamOS Gaming Mode profile-switch or reboot flow, using the PipeWire/WirePlumber and ALSA HDMI setup. Compare the 5.1 stream behavior before and after toggling to Stereo and back, and inspect the session-manager behavior during the transition. Done means 5.1 audio remains synchronized without the manual format toggle.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
audio-video-rtc, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.