bevyengine / bevyengine/bevy

Improve user experience for audio on Linux

Open
#2,705 24 comments 9 reactions 0 assignees View on GitHub
A-Audio C-Usability O-Linux S-Needs-Design
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.