Improve user experience for audio on Linux
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
Audio failures on Linux are some of the most common reasons for end users to struggle with compiling and running Bevy. This makes for a terrible new user experience, takes a lot of help resources, and will be a barrier to actually releasing Bevy games on Linux.
This issue should be closed when following the instructions listed in the Bevy book generally results in working audio on Linux, or a clear error explaining why that's not possible and how to disable the relevant features.
See:
- #1855
- #2699
- #1815
- #898
- #850
for some examples of this, and workarounds found within.
There are a couple of things I think we could do to make this better:
1. Improve docs for Linux users in the Bevy book, specifically calling this out as a potential issue and adding the workarounds and debugging steps found.
2. Fail gracefully in `bevy_audio` when no audio device is found.
3. Investigate the causes more fully, and attempt to make upstream fixes to https://alsa-project.org/wiki/Main_Page or encourage distro owners to fix distribution issues.
As far as I'm aware, there's no reasonable alternative to ALSA we could investigate :(
This is not at all my personal area of expertise though, so if you have more experience with this, please chime in with suggestions!
Contributor guide
Research direction
Start by reading the linked issues (#1855, #2699, #1815, #898, and #850), then review the Bevy book's Linux setup guidance and the `bevy_audio` behavior when no audio device is found. Done means the book's instructions generally produce working Linux audio, or failures clearly explain the cause and how to disable the relevant features.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux, rust
- Domain
- audio-video-rtc, documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100