Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pipewire as a JACK Replacement #480

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user/software/sound/config-change.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
85 changes: 85 additions & 0 deletions docs/user/software/sound/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,88 @@
# Sound

Solus comes with Pipewire configured by default.

## Pipewire as a JACK Replacement

davidjharder marked this conversation as resolved.
Show resolved Hide resolved
Install `pipewire-jack` by executing the following command:

```bash
sudo eopkg it pipewire-jack
```

Currently, using `pipewire-jack` as a `JACK` replacement is not as smooth as one would think. You need to do some manual configuration to get JACK apps to behave appropriately.

### Issues to be fixed

With no configuration, `pipewire` doesn't switch to the appropriate sample rate for the project.

![Pipewire Rates Issue](ardour-pipewire-rates-issue.png)

### Configuration


1. Open the terminal and input the following commands:

```bash
cd .config/
mkdir -p pipewire/pipewire.conf.d/
sudo cp /usr/share/pipewire/pipewire.conf.avail/10-rates.conf pipewire/pipewire.conf.d/
sudo cp /usr/share/pipewire/jack.conf pipewire/
sudo chown yourUserName:yourUserName pipewire/jack.conf pipewire/pipewire.conf.d/10-rates.conf
davidjharder marked this conversation as resolved.
Show resolved Hide resolved
```

2. Open the `jack.conf` in your text editor and:

1. Search for `node.rate`.
2. Uncomment `node.rate`.
3. Input the sample rate you wish JACK applications to open with after the `1/`.
Common rates: 44100, 48000, 88200, 96000.

Without this Pipewire doesn't dynamically adjust the sample rate for you whenever a JACK application opens.

![jack.conf change gif](config-change.gif)

3. Reboot your system.

:::note
After applying the configuration, there are delays of up to 2 seconds when beginning to play audio due to the `10-rates.conf` that allows `Pipewire` to change sample rates dynamically.

After the sample rate is set, there are no delays.
:::

### Not Done Yet
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Give your headings descriptive names. They help the users navigate the document and find what they need easily.

Some suggestions:

Suggested change
### Not Done Yet
### Pro audio sound configuration
Suggested change
### Not Done Yet
### Configure pro audio sound


Enable the pro audio sound configuration for our card to avoid pops and crackles (also known as [Xruns](https://alsa.opensrc.org/Xruns)).

Check warning on line 60 in docs/user/software/sound/index.md

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (Xruns)

**On Budgie**: Install `pavucontrol`.

Check warning on line 62 in docs/user/software/sound/index.md

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (pavucontrol)

```bash
sudo eopkg it pavucontrol

Check warning on line 65 in docs/user/software/sound/index.md

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (pavucontrol)
```

Open `pavucontrol`, go to the **Configuration** tab and select the **Pro Audio** option from the dropdown menu for your card.

Check warning on line 68 in docs/user/software/sound/index.md

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (pavucontrol)

![Pavucontrol Config Change](pavu-config.gif)

Check warning on line 70 in docs/user/software/sound/index.md

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (Pavucontrol)

**On KDE**: Go to the `Audio` section of system settings. Select the **Pro Audio** option from the dropdown menu for your card.

All is done! Happy audio production!!

### Limits
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think troubleshooting is a more appropriate title


If this is annoying you
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Try to use a more neutral language.

Suggested change
If this is annoying you
If you see the following error message:


![Ardour warning about the limited amount of locked memory](ulimits.png)

You can adjust it by configuring the `limits.conf`. In this case we'll be using the `limits.d` for simplicity.

Input the commands below
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As mentioned before, explain what the commands will do.

Suggested change
Input the commands below
Execute the commands below:


```bash
sudo mkdir -p /etc/security/limits.d/
echo "@audio - memlock unlimited" | sudo tee -a /etc/security/limits.d/audio.conf

Check warning on line 88 in docs/user/software/sound/index.md

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (memlock)
```

**On Budgie**: Log out and log back in for changes to take effect

**On KDE**: Reboot the system
Binary file added docs/user/software/sound/pavu-config.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/user/software/sound/ulimits.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.