Skip to content

Add Odin 3 stereo and virtual surround audio - #166

Draft
enjihn wants to merge 2 commits into
virtudude:mainfrom
enjihn:audio/odin3-stereo-virtual-surround
Draft

Add Odin 3 stereo and virtual surround audio#166
enjihn wants to merge 2 commits into
virtudude:mainfrom
enjihn:audio/odin3-stereo-virtual-surround

Conversation

@enjihn

@enjihn enjihn commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add device-gated Stereo and Virtual Surround Sound PipeWire profiles for the Odin 3 built-in speakers
  • Keep the physical speaker sink internal, preserve the selected speaker profile across sessions, and hold the hardware route at unity gain
  • Route Bluetooth and 3.5 mm outputs outside the speaker HRIR graphs, move active streams, and keep Steam's selected output synchronized
  • Preserve the exact active internal output through real suspend, restore existing streams after resume, and resynchronize Steam without affecting an active external output
  • Add managed installation and rollback, a checksum-pinned bundled HRIR, documentation, and focused tests

Device scope

All setup and runtime helpers require an exact ayn-odin-3, AYN Odin 3, and SM8750 policy match before changing audio state. Other Armada devices retain their existing audio configuration. The installed services perform only short device-policy checks and exit without changing the audio graph, routes, volume, or Steam selection when the gate does not match.

Validation

  • Focused policy, routing, Steam synchronization, and resume tests: 46 passed
  • Linux resume-helper lifecycle tests passed
  • Live Odin 3 audio checks passed with one Stereo sink, one Virtual Surround Sound sink, a 100 percent hidden hardware route, and Virtual Surround Sound restored as the selected output
  • Physical deep suspend and resume passed on the Odin 3: the kernel completed deep suspend, the resume path ran exactly once, Virtual Surround Sound was restored, and Steam resynchronized to the current VSS device ID
  • Post-resume eight-channel playback completed successfully through Virtual Surround Sound
  • Audible eight-channel checks completed for both Stereo and Virtual Surround Sound
  • Final tree matches the live-tested candidate and is based on current main

Physical Bluetooth and 3.5 mm connection tests remain pending, so this PR stays a draft.

enjihn added 2 commits July 26, 2026 14:53
Add device-gated PipeWire profiles for the Odin 3 built-in speakers, preserve speaker output preferences, route Bluetooth and 3.5 mm outputs independently, and synchronize the selected output with Steam. Include managed setup and rollback, the exact bundled HRIR, documentation, and focused policy and routing tests.
Record the active internal speaker profile before real suspend, restore it after the PipeWire graph returns, move existing streams, and resynchronize Steam. Keep external outputs independent and retain Virtual Surround Sound through temporary Stereo fallback during resume.
@enjihn
enjihn force-pushed the audio/odin3-stereo-virtual-surround branch from c6f8948 to 2046c6e Compare July 26, 2026 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant