reforger-eq/README.md

135 lines
3.7 KiB
Markdown

# reforger-surround
PipeWire/PulseAudio helper for exposing Arma Reforger's 5.1 output on Linux.
This project has two parts to running:
- Create a temporary 5.1 sink so Reforger negotiates surround channels.
- Manually open the Carla EQ project and wire it to your real stereo output.
Watching the graph in `qpwgraph` is recommended while testing.
## Requirements
- PipeWire with PulseAudio compatibility
- Arma Reforger through Steam/Proton
- Carla
- LSP VST Plugins
For the Carla EQ stage on Arch:
```bash
sudo pacman -S carla lsp-plugins-vst
```
## Normal Use (after first time install)
---
>### Optional - Install script as a callable service
>
> ```bash
>install -Dm755 reforger-surround ~/.local/bin/reforger-surround
>```
>If you choose not to install it, you can refer to it by running like a standard bash script ie. `cd` to the project directory and use `./reforger-surround` to run.
---
# Installation
Due to program restrictions on both Arma and Carla, there is a three part process to installing first time.
## Part 1. Expose Reforger 5.1 Channel
### First time install
```bash
reforger-surround up
# launch Arma Reforger manually
reforger-surround expose
reforger-surround restore
reforger-surround check
```
This creates the 5.1 sink, makes it default, launches Reforger, waits for the game audio stream, restores your previous default device, then exposes Reforger back to the 5.1 sink.
### After installing
```bash
reforger-surround launch
```
If `launch` errors or times out, use the manual flow from first time install.
>If Reforger negotiates only `2ch`, restart the game and investigate manually with `qpwgraph`, `reforger-surround status`, and `pactl list sink-inputs`.
Expected final QPWGraph wiring:
![Expected QPWGraph wiring](assets/qpwgraph%20wiring.png)
---
## Part 2. Open ReforgerEQ Carla
Open `reforger-audio.carxp` through Carla:
- Launch Carla
- Click on Open
- Open `reforger-audio.carxp`
>Recommended (optional) KDE one-click launcher for start menu:
>
>- Right click the start menu or open `Menu Editor`
>- Choose `Edit Applications`.
>- Create a new item.
>- Name: `Reforger EQ Carla`
>- Program: `pw-jack`
>- Command line arguments: `/usr/bin/python3 /usr/share/carla/carla --with-appname=carla --with-libprefix=/usr /path/to/reforger-audio.carxp`
---
## Part 3. Carla Output Wiring
>If you want to use `qpwgraph` to do this step, feel free. Be aware that it (sometimes) won't auto-wire when ReforgerEQ Carla gets reset. Using Carla's patchbay means it will *always* link itself to what is saved in the .carxp file.
Enter `carla`, click on the small tab `patchbay` and wire Carla outputs to your real output device's playback ports:
```text
Output 1 -> playback_FL
Output 2 -> playback_FR
Output 3 -> playback_FL and playback_FR
Output 4 -> playback_FL
Output 5 -> playback_FR
```
Carla patchbay example:
>'Speakers' is a generic device, your device name may vary.
![Carla wiring](assets/Carla%20Wiring.png)
## Useful Commands
```bash
reforger-surround up # create sink, save default, make 5.1 default
reforger-surround launch # up, launch Steam app, wait for stream, restore
reforger-surround restore # restore previous default, then expose Reforger
reforger-surround expose # move running Reforger stream to the 5.1 sink
reforger-surround check # report whether Reforger is 2ch or 6ch
reforger-surround down # restore default and unload the 5.1 sink
```
## Configuration
```bash
REFORGER_SURROUND_SINK_NAME=reforger_surround_51
REFORGER_SURROUND_DESCRIPTION="Reforger Surround 5.1"
REFORGER_SURROUND_APP_NAME="Arma Reforger"
REFORGER_SURROUND_STEAM_URI=steam://rungameid/1874880
REFORGER_SURROUND_WAIT_SECONDS=90
```
LFE is silent even when Reforger is outputting 6ch.