1
0
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:
2026-03-31 23:54:39 +02:00
parent 47242e81de
commit 587b82e692
4 changed files with 77 additions and 30 deletions

View File

@@ -13,6 +13,53 @@ An installation via [Flatpak](./flatpak.md) is also possible.
Easyeffects can apply `Effects` to input and output sound. 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 ### Noise cancellation
Setup Setup

View File

@@ -18,14 +18,14 @@ Make sure to restart to be sure everything is running correctly.
Pipewire has a few config files. Pipewire has a few config files.
The needed folder structure can be created by the following command for a global setup. The needed folder structure can be created by the following command for a global setup.
```sh ```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/ 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. It can also be done locally for the user with the following, alternative setup.
```sh ```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/ 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 ## 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. This will return an id that can be used to remove the sink with the following command.
```sh ```sh
pactl unload-module <id> 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 An application loopback can be created permanently by creating a `.conf` file inside the
`~/.config/pipewire/pipewire.conf.d` directory with the following lines. `~/.config/pipewire/pipewire.conf.d` directory with the following lines.
```txt ```txt
context.modules = [{ context.modules = [{
name = libpipewire-module-loopback name = libpipewire-module-loopback
args = { args = {
@@ -250,12 +250,12 @@ In `alsa-vm.conf` the `suspend_timeout_seconds` have to be set to `0` like the f
show. show.
This also shows the general structure but only the line starting with `session` is to be added. This also shows the general structure but only the line starting with `session` is to be added.
```txt ```txt
monitor.alsa.rules = [ monitor.alsa.rules = [
{ {
actions = { actions = {
update-props = { update-props = {
session.suspend-timeout-seconds = 0 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. Another possibility for crackling to occur is when the allowed rates are mismatched.
In `pipewire.conf` locate the following line. In `pipewire.conf` locate the following line.
```txt ```txt
#default.clock.allowed-rates = [ 48000 ] #default.clock.allowed-rates = [ 48000 ]
``` ```
Change this line to look like the following. Change this line to look like the following.
```txt ```txt
default.clock.allowed-rates = [ 44100 48000 ] default.clock.allowed-rates = [ 44100 48000 ]
``` ```
@@ -283,7 +283,7 @@ api.alsa.headroom = 2048
Change it to look like the following line. Change it to look like the following line.
```txt ```txt
api.alsa.headroom = 0 api.alsa.headroom = 0
``` ```
@@ -298,7 +298,7 @@ api.alsa.period-size = 1024
Change it to look like the following line. Change it to look like the following line.
```txt ```txt
api.alsa.period-size = 256 api.alsa.period-size = 256
``` ```

View File

@@ -202,7 +202,7 @@ be hidden.
It is then more difficult to find the out-of-memory error that makes a program crash. 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. Problems with balooning RAM can be found using the following command.
```sh ```sh
journalctl -k journalctl -k
``` ```

View File

@@ -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 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`. file at `/etc/systemd/system/` with a name ending on `.service`.
In this case it is called `unturned.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 ```txt
[Unit] [Unit]
@@ -31,17 +38,8 @@ initializing.
After=pve-guests.service After=pve-guests.service
``` ```
Such a service can be started by running: A service that was created this way can then be started as explained in
[the corresponding section](#startstopenabledisable-a-service-and-retrieve-its-logs).
```sh
sudo systemctl start unturned
```
Alternatively it can be enabled to start at every boot by running:
```sh
sudo systemctl enable unturned
```
### Start/Stop/Enable/Disable 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`. This works accordingly with the keyword `enable`.
The `disable` keyword stops the service from starting automatically. 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 ### 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. suspend-to-hibernate is called.
The following line will set this to 10 minutes. The following line will set this to 10 minutes.
```txt ```txt
HibernateDelaySec=10min 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/) 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. the following settings need to be set.
```txt ```txt
HandleLidSwitch=ignore HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore HandleLidSwitchExternalPower=ignore
HandleLidSwitchDocked=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 This however usually can be fixed easily by masking the service and is done like the following
command shows. command shows.
```sh ```sh
systemctl mark dev-tpmrm0.device systemctl mark dev-tpmrm0.device
``` ```