@@ -72,11 +72,7 @@ This command also creates a default configuration file `config/engine-core.ini`.
### Configure the audio interface
You get the most glitch-free experience when using [PipeWire](https://pipewire.org/) as your media server. To avoid any play-out malfunctions ensure that no other media server is running. PipeWire is capable of replacing PulseAudio while still having the full functionality of PulseAudio if you want to keep PulseAudio. To check if PipeWire has replaced PulseAudio, run `make audio.pa.status`. This command should return a line like
```
Server Name: PulseAudio (on PipeWire 0.3.80)
```
You get the most glitch-free experience when using [PipeWire](https://pipewire.org/) as your media server. To avoid any play-out malfunctions ensure that no other media server is running. PipeWire is capable of replacing PulseAudio while still having the full functionality of PulseAudio if you want to keep PulseAudio.
To check if PipeWire is up and running you can use
...
...
@@ -90,11 +86,7 @@ At the moment we recommend running engine-core with [JACK](https://jackaudio.org
### Configure JACK/ALSA
Have a look at `config/sample.engine-core.ini`. Here you can set things like the log level and much more. For JACK no adaptations are necessary.
For ALSA you might want to set a different audio device or even configure your own. An example can be found in `config/sample.asoundrc`. Very important is the `alsa_buffer`, if you experience jitter, cracklings or other audio artifacts you should increase this number. If the buffer is to large you will experience bad latency, to reduce the latency you have to reduce the buffer size.
When you are finished copy the configuration `config/sample.engine-core.ini` to `config/engine-core.ini`.
Have a look at `config/sample.engine-core.ini`. Here you can set things like the log level and much more. For JACK no adaptations are necessary. When you are finished copy the configuration `config/sample.engine-core.ini` to `config/engine-core.ini`.
@@ -182,12 +174,9 @@ Voilá, you should hear some music!
### Setup PipeWire
While it is possible to run everything inside containers, we recommend a slightly different approach. Instead
of running everything in containers we create a service to run pipewire and wireplumber in a headless
session directly on your host. This provides better performance and still allows you to use your
audio devices on the host machine.
While it is possible to run everything inside containers, we recommend a slightly different approach. Instead of running everything in containers we create a service to run pipewire and wireplumber in a headless session directly on your host. This provides better performance and still allows you to use your audio devices on the host machine.
First of all you need some preparation: make sure that you have pipewire and wireplumber installed. Also make sure to have a user called `aura(872:872)`, this user will be used to run the global pipewire session. If you run the complete aura setup this user will be created during the installation so you probably only need this user if you run a dev setup. Replace `$AURA_HOME` with a suitable directory.
First of all you need some preparation: make sure that you have pipewire and wireplumber installed. Also make sure to have a user called `aura(872:872)`, this user will be used to run the global pipewire session. If you run the complete aura setup this user will be created during the installation so you probably only need this user if you run a dev setup. Replace `$AURA_HOME` with a suitable directory and make sure that the user `aura` can write in this directory.
@@ -204,10 +193,6 @@ For these changes to take affect, reboot now.
```bash
sudo reboot
# TODO: is this needed?
sudo chown aura:aura /run/user/872/
# TODO: what about the aura home dir /opt/aura/? Which permissions are needed here?
```
You can now check the status of your PipeWire session with
...
...
@@ -216,6 +201,8 @@ You can now check the status of your PipeWire session with
systemctl status pipewire
```
### Setup Docker
Have a look at the `sample.env` and copy this file to `.env`. Make sure the directories in `.env` are read and writable for the user used in the container, mainly `aura(872:872)`.