[Linux] Mumble should hint towards the need of ptrace_scope for positional audio
#5,711 opened on May 31, 2022
Repository metrics
- Stars
- (5,642 stars)
- PR merge metrics
- (Avg merge 6d) (7 merged PRs in 30d)
Description
Context
Right now, on pretty much all reasonable distributions, the ptrace_scope is set to 1 ("restricted ptrace"), which means that positional audio plugins that require peeking into the game's memory pages, can't do that (unless theoretically mumble is a parent process of the game's process, but that is never the case).
Users need to set the ptrace_scope to 0 ("classic ptrace permissions"), so that those plugins can work. This can easily be done with the following command:
sudo tee /proc/sys/kernel/yama/ptrace_scope <<< 0
Description
It is bad UX for Mumble to just expect that the user knows about ptrace_scope. The user might not know at all about ptrace and may not understand why positional audio is not working.
There are a few solutions possible:
- Mumble could add a small subtext in the related Settings pages (Audio output positional audio and Plugin page) that explains that some plugins may need this
ptrace_scope - One could add another permission plugin error type to Mumble's enum, which then could be returned by positional audio plugins when the system call into the game's memory page fails (Mumble should then show a warning to the user)
- Plugins could state themself beforehand that they require certain permissions, and Mumble could then show them in the Settings -> Plugins list directly next to the plugin with maybe a little warning icon
Mumble component
Client
OS-specific?
Yes, Linux
My opinion
I am in favor of the second solution, that is plugins should return a special permission error and Mumble could then show a warning.