godotengine / godot-docs

Godot Engine official documentation
https://docs.godotengine.org
Other
3.94k stars 3.22k forks source link

Compiling for Linux: on Arch Linux (SteamOS), installing dependency PulseAudio shows "pulseaudio and pipewire-pulse are in conflict", explain what to do #9043

Open hsandt opened 8 months ago

hsandt commented 8 months ago

Your Godot version: Trying to build latest on master branch as of 2024-03-02

Issue description:

When following the doc for Compiling for Linux, *BSD on Arch Linux (SteamOS), installing dependency PulseAudio like this:

pacman -S --needed pulseaudio

or

yay -S --needed pulseaudio

shows a message:

pulseaudio and pipewire-pulse are in conflict. Remove pipewire-pulse? [y/N]

I am not sure whether it's a good idea or not to remove the preinstalled pipewire-pulse (esp. on SteamOS on my SteamDeck which is setup to run games properly).

It would be nice to complete the documentation to tell about this case and tell us that either we can go ahead and remove it safely, or it's preferable to keep both. Or if it's hard to tell without more context, a few references to help users of such or such flavour to the right direction.

So far, I could only find generic advice such as this thread recommending to remove pulseaudio and install pipewire which is the new audio engine, and this Godot discussion which says suggests to support PipeWire natively but says that Godot can use it via PulseAudio, so I'm a bit lost.

For now, I'll keep both on my PC and see if conflicts arise.

URL to the documentation page (if already existing): https://docs.godotengine.org/en/latest/contributing/development/compiling/compiling_for_linuxbsd.html

hsandt commented 7 months ago

So I finished building Godot on ArchLinux (SteamDeck) without having installed pulseaudio (although I see extra-3.5/plasma-pa and extra-3.5/pulseaudio-qt are installed, if that matters), and I got no errors during compilation.

In addition, the sound is working properly in Godot. So I'm not sure how it works but maybe pipewire actually allows compilation and runtime audio to work?

Since everything is working on my machine, I'll keep this config for now.

NeoWordire commented 4 months ago

Pipewire is a pulseaudio replacement that is becoming that standard that the steamos and other Distros started shipping.

The package pipewire-pulse is a backwards compatible replacement of the pulseaudio interfaces, so if you don't remove that, pulseaudio dependent programs like godot will just work.

the document should be that either pipewire-pulse or pulseaudio dependancies are needed.