mojira.dev
MC-249570

Default audio device selection broken and Minecraft fighting back against external audio device change on Linux + Pulseaudio

With the recent addition of the audio device option, Minecraft audio now behaves in an incorrect way on Linux with pulseaudio, even when selecting the default option.

When externally changing Minecraft's audio output (e.g. using a tool like pavucontrol), Minecraft immediately switches back to the configured output. This is extremely unconventional (and inconvenient) behavior. Other applications simply allow the user to externally change the audio output device, even if a specific output device has been selected inside the application.

While this behavior might be justifiable albeit unconventional when selecting a specific output, it definitely becomes a problem when selecting the default option. Minecraft provides an option to set the output to "System Default", but this setting does the completely wrong thing by apparently querying pulseaudio's default device and then behaving like described above. This completely undermines pulseaudio's intended default behavior.

The way the default case is supposed to work is that when an application doesn't specify which output device to use, pulseaudio is free to select whatever output device it wants to. This behavior is customizable by loading pulseaudio modules (usually a module is loaded that remembers on a per-application basis which device was last used. Btw, Minecraft still fails to identify itself as anything but "java" to pulseaudio, so good luck with that! I'll add a ticket for this as well (MC-249585)) and pulseaudio's default device is nothing more but the fallback for this case. Minecraft should have no reason to ever query pulseaudio's default device and rely on pulseaudio's default behavior instead. Also the user should be free to externally change the output device at any time without Minecraft fighting back on this change. This is how Minecraft used to behave in previous versions and this is how choosing the "System Default" option should continue to behave.

Comments 1

Please check if this is still an issue in 1.19.2 or later.

0x5e3371ebe11e

(Unassigned)

Unconfirmed

(Unassigned)

1.18.2, 22w12a

Retrieved