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

Conversation

TeenCorn
Copy link

@TeenCorn TeenCorn commented Feb 1, 2024

Description

Adds detailed information on how to replace JACK with pipewire-jack.

Submitter Checklist

  • Squashed commits with git rebase -i (if needed)

Sorry I don't know what this is ☹️

Copy link
Member

@davidjharder davidjharder left a comment

Choose a reason for hiding this comment

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

Thanks for this PR, we're weak in this area right now. I left you a pile of comments, but they're mostly small things.

I have to be the no-fun police and ask that you redo your screenshots with a more standard cursor, It may be distracting otherwise. I appreciate the effort you put into demonstrating everything though.

More broadly, If there are ways that you think Sound on Solus could be improved through better packaging, please feel free to share your thoughts.

Edit: Don't worry about the git rebase -i thing

docs/user/software/sound/index.md Show resolved Hide resolved
sudo eopkg it pipewire-jack
```

Currently, using `pipewire-jack` as a `JACK` replacement is not as smooth as one would think. One must get their hands dirty a little to get JACK apps to behave appropriately 🛠
Copy link
Member

Choose a reason for hiding this comment

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

We don't use emojis this way. Please remove 🛠

docs/user/software/sound/index.md Show resolved Hide resolved

Fortunately both the `pipewire` and `pipewire-jack` packages come with the configs we need.

Open up your terminal of choice and input the commands below
Copy link
Member

Choose a reason for hiding this comment

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

Add a sentence here explaining what the string of commands will do, like: "The following commands copy the default configurations to your user configuration directory, where you can modify them."


### Issues to be fixed

With no configuration pipewire will not be able to switch to the appropriate sample-rate for the project.
Copy link
Member

Choose a reason for hiding this comment

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

put pipewire in backticks, since you are referring to a package

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
Copy link
Member

Choose a reason for hiding this comment

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

You should probably suggest a good default rate


### Not Done Yet

Lastly, we need to enable the `Pro Audio` sound configuration for our card. Not doing so will result in terrible Xruns (pops and crackles) even with all applied configuration.
Copy link
Member

Choose a reason for hiding this comment

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

What are Xruns?

Copy link
Contributor

@ermo ermo Feb 2, 2024

Choose a reason for hiding this comment

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

https://alsa.opensrc.org/Xruns (I get why you are asking and it's the right question to ask)


Lastly, we need to enable the `Pro Audio` sound configuration for our card. Not doing so will result in terrible Xruns (pops and crackles) even with all applied configuration.

**On Budgie**: `pavucontrol` is required to get access to the `Pro Audio` config. So install it
Copy link
Member

Choose a reason for hiding this comment

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

Presumably, the Budgie changes also work for GNOME and XFCE. Please note that

@TeenCorn
Copy link
Author

TeenCorn commented Feb 4, 2024

Will do. I'll also add a section for anyone looking to setup native JACK since that's what I've been running for years for music production.

docs/user/software/sound/index.md Outdated Show resolved Hide resolved
docs/user/software/sound/index.md Outdated Show resolved Hide resolved
docs/user/software/sound/index.md Outdated Show resolved Hide resolved
docs/user/software/sound/index.md Outdated Show resolved Hide resolved
docs/user/software/sound/index.md Outdated Show resolved Hide resolved
docs/user/software/sound/index.md Outdated Show resolved Hide resolved

### Limits

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:


**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


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:

docs/user/software/sound/index.md Outdated Show resolved Hide resolved
@deoxys94
Copy link
Contributor

deoxys94 commented Feb 4, 2024

This is a very detailed and impressive article! I also left a bunch of comments here and there

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants