reforger-eq/README.md

123 lines
3 KiB
Markdown
Raw Normal View History

2026-05-02 14:21:02 +01:00
# reforger-surround
2026-05-02 13:16:20 +00:00
2026-05-02 16:15:05 +01:00
PipeWire/PulseAudio helper for exposing Arma Reforger's 5.1 output on Linux.
2026-05-02 13:16:20 +00:00
2026-05-02 16:15:05 +01:00
This project has two parts:
- 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.
2026-05-02 13:16:20 +00:00
2026-05-02 14:21:02 +01:00
## Requirements
2026-05-02 13:16:20 +00:00
2026-05-02 14:21:02 +01:00
- PipeWire with PulseAudio compatibility
- `pactl`
2026-05-02 16:15:05 +01:00
- Arma Reforger through Steam/Proton
2026-05-02 13:16:20 +00:00
2026-05-02 16:15:05 +01:00
For the Carla EQ stage on Arch:
2026-05-02 13:16:20 +00:00
2026-05-02 14:21:02 +01:00
```bash
2026-05-02 16:15:05 +01:00
sudo pacman -S carla lsp-plugins-vst
2026-05-02 13:16:20 +00:00
```
2026-05-02 16:15:05 +01:00
## Install
2026-05-02 13:16:20 +00:00
2026-05-02 14:21:02 +01:00
```bash
install -Dm755 reforger-surround ~/.local/bin/reforger-surround
```
2026-05-02 13:16:20 +00:00
2026-05-02 16:15:05 +01:00
## 1. Expose Reforger 5.1
Preferred flow:
2026-05-02 13:16:20 +00:00
2026-05-02 16:06:15 +01:00
```bash
reforger-surround launch
```
2026-05-02 16:15:05 +01:00
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.
2026-05-02 16:06:15 +01:00
2026-05-02 16:15:05 +01:00
Check the result:
2026-05-02 16:06:15 +01:00
2026-05-02 14:21:02 +01:00
```bash
2026-05-02 16:15:05 +01:00
reforger-surround check
```
Good:
```text
Sample Specification: ... 6ch 48000Hz
Channel Map: front-left,front-right,front-center,lfe,rear-left,rear-right
2026-05-02 14:21:02 +01:00
```
2026-05-02 13:16:20 +00:00
2026-05-02 16:15:05 +01:00
If `launch` errors or times out, use the manual flow:
2026-05-02 13:16:20 +00:00
2026-05-02 14:21:02 +01:00
```bash
2026-05-02 16:15:05 +01:00
reforger-surround up
# launch Arma Reforger manually
2026-05-02 14:21:02 +01:00
reforger-surround restore
reforger-surround check
```
2026-05-02 13:16:20 +00:00
2026-05-02 16:15:05 +01:00
If Reforger negotiates only `2ch`, restart the game and investigate manually with `qpwgraph`, `reforger-surround status`, and `pactl list sink-inputs`.
2026-05-02 16:22:15 +01:00
Expected final QPWGraph wiring:
![Expected QPWGraph wiring](assets/qpwgraph%20wiring.png)
2026-05-02 16:15:05 +01:00
## 2. Open ReforgerEQ Carla
Open `reforger-audio.carxp` through Carla:
2026-05-02 13:16:20 +00:00
2026-05-02 14:21:02 +01:00
```bash
2026-05-02 16:15:05 +01:00
pw-jack /usr/bin/python3 /usr/share/carla/carla --with-appname=carla --with-libprefix=/usr /path/to/reforger-audio.carxp
2026-05-02 14:21:02 +01:00
```
2026-05-02 13:16:20 +00:00
2026-05-02 16:15:05 +01:00
Optional KDE launcher:
- Open the start menu.
- 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`
## 3. Carla Output Wiring
2026-05-02 16:22:15 +01:00
Carla patchbay example:
![Carla wiring](assets/Carla%20Wiring.png)
2026-05-02 16:15:05 +01:00
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
```
## Useful Commands
2026-05-02 13:16:20 +00:00
2026-05-02 14:21:02 +01:00
```bash
2026-05-02 14:49:32 +01:00
reforger-surround up # create sink, save default, make 5.1 default
2026-05-02 16:06:15 +01:00
reforger-surround launch # up, launch Steam app, wait for stream, restore
2026-05-02 14:49:32 +01:00
reforger-surround restore # restore previous default, then expose Reforger
2026-05-02 16:15:05 +01:00
reforger-surround expose # move running Reforger stream to the 5.1 sink
2026-05-02 14:49:32 +01:00
reforger-surround check # report whether Reforger is 2ch or 6ch
2026-05-02 16:15:05 +01:00
reforger-surround down # restore default and unload the 5.1 sink
2026-05-02 14:21:02 +01:00
```
## Configuration
2026-05-02 13:16:20 +00:00
2026-05-02 14:21:02 +01:00
```bash
REFORGER_SURROUND_SINK_NAME=reforger_surround_51
REFORGER_SURROUND_DESCRIPTION="Reforger Surround 5.1"
REFORGER_SURROUND_APP_NAME="Arma Reforger"
2026-05-02 16:06:15 +01:00
REFORGER_SURROUND_STEAM_URI=steam://rungameid/1874880
REFORGER_SURROUND_WAIT_SECONDS=90
2026-05-02 14:21:02 +01:00
```
2026-05-02 13:16:20 +00:00
2026-05-02 16:15:05 +01:00
LFE may be silent even when Reforger is outputting 6ch.