mumble-voip/mumble

[Linux] Mumble should hint towards the need of ptrace_scope for positional audio

Aperta

#5711 aperta il 31 mag 2022

 (5 commenti) (0 reazioni) (0 assegnatari)C++ (1062 fork)batch import
feature-requestgood first issuepositional audio

Metriche repository

Star
 (5642 stelle)
Metriche merge PR
 (Merge medio 6g) (7 PR mergiate in 30 g)

Descrizione

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.

Guida contributor