mirror of
https://github.com/tiyn/wiki.git
synced 2026-04-15 16:54:48 +02:00
EasyEffects: Added Autostart
This commit is contained in:
@@ -13,6 +13,53 @@ An installation via [Flatpak](./flatpak.md) is also possible.
|
||||
|
||||
Easyeffects can apply `Effects` to input and output sound.
|
||||
|
||||
### Autostart
|
||||
|
||||
Easyeffects can be started in various ways.
|
||||
|
||||
The service can be started including the window with the following.
|
||||
It will have to be called each startup.
|
||||
|
||||
```sh
|
||||
easyeffects
|
||||
```
|
||||
|
||||
Alternatively it can be started in the background with the following command.
|
||||
This command also has to be called each time the system starts.
|
||||
|
||||
```sh
|
||||
easyeffects --gapplication-service
|
||||
```
|
||||
|
||||
The two former commands will only work if called on each startup.
|
||||
The easiest way to do this is by using [SystemD](/wiki/linux/systemd.md).
|
||||
The following will work analogously to the path explained in
|
||||
[the corresponding section of the SystemD entry](/wiki/linux/systemd.md#run-command-on-boot).
|
||||
|
||||
Run the following command to edit the configuration file for the newly created EasyEffect service.
|
||||
|
||||
```sh
|
||||
systemctl --user edit --force -full easyeffects.service
|
||||
```
|
||||
|
||||
Afterward set the contents of this file to the following.
|
||||
Due to EasyEffect working together with [Pipewire and Wireplumber](/wiki/linux/pipewire.md) some
|
||||
precautions have to be taken to start it before these two.
|
||||
|
||||
```sh
|
||||
[Unit]
|
||||
Description=EasyEffects (GApplication Service)
|
||||
After=pipewire.service wireplumber.service
|
||||
PartOf=graphical-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/easyeffects --gapplication-service
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
```
|
||||
|
||||
### Noise cancellation
|
||||
|
||||
Setup
|
||||
|
||||
@@ -18,14 +18,14 @@ Make sure to restart to be sure everything is running correctly.
|
||||
Pipewire has a few config files.
|
||||
The needed folder structure can be created by the following command for a global setup.
|
||||
|
||||
```sh
|
||||
sudo mkdir -p /etc/pipewire/ && sudo mkdir -p /etc/wireplumber/wireplumber.conf.d/ && sudo cp /usr/share/pipewire/*.conf /etc/pipewire/ && sudo cp /usr/share/wireplumber/wireplumber.conf.d/* /etc/wireplumber/wireplumber.conf.d/
|
||||
```sh
|
||||
sudo mkdir -p /etc/pipewire/ && sudo mkdir -p /etc/wireplumber/wireplumber.conf.d/ && sudo cp /usr/share/pipewire/*.conf /etc/pipewire/ && sudo cp /usr/share/wireplumber/wireplumber.conf.d/* /etc/wireplumber/wireplumber.conf.d/
|
||||
```
|
||||
|
||||
It can also be done locally for the user with the following, alternative setup.
|
||||
|
||||
```sh
|
||||
mkdir -p ~/.config/pipewire/ && mkdir -p ~/.config/wireplumber/wireplumber.conf.d/ && cp /usr/share/pipewire/*.conf ~/.config/pipewire/ && cp /usr/share/wireplumber/wireplumber.conf.d/* ~/.config/wireplumber/wireplumber.conf.d/
|
||||
```sh
|
||||
mkdir -p ~/.config/pipewire/ && mkdir -p ~/.config/wireplumber/wireplumber.conf.d/ && cp /usr/share/pipewire/*.conf ~/.config/pipewire/ && cp /usr/share/wireplumber/wireplumber.conf.d/* ~/.config/wireplumber/wireplumber.conf.d/
|
||||
```
|
||||
|
||||
## Usage
|
||||
@@ -140,7 +140,7 @@ pactl load-module module-null-sink media.class=Audio/Sink sink_name=null-sink-0
|
||||
|
||||
This will return an id that can be used to remove the sink with the following command.
|
||||
|
||||
```sh
|
||||
```sh
|
||||
pactl unload-module <id>
|
||||
```
|
||||
|
||||
@@ -207,7 +207,7 @@ and [the official website](https://docs.pipewire.org/page_module_loopback.html).
|
||||
An application loopback can be created permanently by creating a `.conf` file inside the
|
||||
`~/.config/pipewire/pipewire.conf.d` directory with the following lines.
|
||||
|
||||
```txt
|
||||
```txt
|
||||
context.modules = [{
|
||||
name = libpipewire-module-loopback
|
||||
args = {
|
||||
@@ -250,12 +250,12 @@ In `alsa-vm.conf` the `suspend_timeout_seconds` have to be set to `0` like the f
|
||||
show.
|
||||
This also shows the general structure but only the line starting with `session` is to be added.
|
||||
|
||||
```txt
|
||||
```txt
|
||||
|
||||
monitor.alsa.rules = [
|
||||
{
|
||||
actions = {
|
||||
update-props = {
|
||||
{
|
||||
actions = {
|
||||
update-props = {
|
||||
session.suspend-timeout-seconds = 0
|
||||
}
|
||||
]
|
||||
@@ -264,13 +264,13 @@ monitor.alsa.rules = [
|
||||
Another possibility for crackling to occur is when the allowed rates are mismatched.
|
||||
In `pipewire.conf` locate the following line.
|
||||
|
||||
```txt
|
||||
```txt
|
||||
#default.clock.allowed-rates = [ 48000 ]
|
||||
```
|
||||
|
||||
Change this line to look like the following.
|
||||
|
||||
```txt
|
||||
```txt
|
||||
default.clock.allowed-rates = [ 44100 48000 ]
|
||||
```
|
||||
|
||||
@@ -283,7 +283,7 @@ api.alsa.headroom = 2048
|
||||
|
||||
Change it to look like the following line.
|
||||
|
||||
```txt
|
||||
```txt
|
||||
api.alsa.headroom = 0
|
||||
```
|
||||
|
||||
@@ -298,7 +298,7 @@ api.alsa.period-size = 1024
|
||||
|
||||
Change it to look like the following line.
|
||||
|
||||
```txt
|
||||
```txt
|
||||
api.alsa.period-size = 256
|
||||
```
|
||||
|
||||
|
||||
@@ -202,7 +202,7 @@ be hidden.
|
||||
It is then more difficult to find the out-of-memory error that makes a program crash.
|
||||
Problems with balooning RAM can be found using the following command.
|
||||
|
||||
```sh
|
||||
```sh
|
||||
journalctl -k
|
||||
```
|
||||
|
||||
|
||||
@@ -10,6 +10,13 @@ It is used for service configuration and startup.
|
||||
To run a command (in this case `/bin/bash /root/run.sh`) create the following
|
||||
file at `/etc/systemd/system/` with a name ending on `.service`.
|
||||
In this case it is called `unturned.service`.
|
||||
Alternatively to creating the command manually the following command can be used.
|
||||
|
||||
```sh
|
||||
systemctl edit --force --full unturned.service
|
||||
```
|
||||
|
||||
And set the contents to the following.
|
||||
|
||||
```txt
|
||||
[Unit]
|
||||
@@ -31,17 +38,8 @@ initializing.
|
||||
After=pve-guests.service
|
||||
```
|
||||
|
||||
Such a service can be started by running:
|
||||
|
||||
```sh
|
||||
sudo systemctl start unturned
|
||||
```
|
||||
|
||||
Alternatively it can be enabled to start at every boot by running:
|
||||
|
||||
```sh
|
||||
sudo systemctl enable unturned
|
||||
```
|
||||
A service that was created this way can then be started as explained in
|
||||
[the corresponding section](#startstopenabledisable-a-service-and-retrieve-its-logs).
|
||||
|
||||
### Start/Stop/Enable/Disable a service and Retrieve its Logs
|
||||
|
||||
@@ -52,7 +50,9 @@ To start the service after boot it has to be enabled.
|
||||
This works accordingly with the keyword `enable`.
|
||||
The `disable` keyword stops the service from starting automatically.
|
||||
|
||||
Logs of the last start of the service can be found by running `systemctl status <service-name>`.
|
||||
Logs of the last start of the service can be found by running `systemctl status <service-name>`.
|
||||
|
||||
Additionally the `--user` flag can be set to start the service only for the current user.
|
||||
|
||||
### Retrieving the SystemD Logs
|
||||
|
||||
@@ -72,7 +72,7 @@ This time will be used to determine the time that is taken from suspend to hiber
|
||||
suspend-to-hibernate is called.
|
||||
The following line will set this to 10 minutes.
|
||||
|
||||
```txt
|
||||
```txt
|
||||
HibernateDelaySec=10min
|
||||
```
|
||||
|
||||
@@ -102,7 +102,7 @@ ignore.
|
||||
As [machetie writes on Reddit](https://www.reddit.com/r/framework/comments/185035i/how_to_use_the_laptop_with_lid_closed_linux/)
|
||||
the following settings need to be set.
|
||||
|
||||
```txt
|
||||
```txt
|
||||
HandleLidSwitch=ignore
|
||||
HandleLidSwitchExternalPower=ignore
|
||||
HandleLidSwitchDocked=ignore
|
||||
@@ -125,6 +125,6 @@ This error signals problems with the trusted platform module.
|
||||
This however usually can be fixed easily by masking the service and is done like the following
|
||||
command shows.
|
||||
|
||||
```sh
|
||||
```sh
|
||||
systemctl mark dev-tpmrm0.device
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user