reforger-eq/README.md

105 lines
2.8 KiB
Markdown

# reforger-surround
Temporary PipeWire/PulseAudio 5.1 sink helper for testing Arma Reforger surround output on Linux.
The goal is narrow: create a virtual 5.1 output device, make it the launch-time default, then let Arma Reforger decide whether to create a surround stream. Carla, QPWGraph, EQ, convolution, and long-term routing are intentionally manual follow-up steps.
## Requirements
- PipeWire with PulseAudio compatibility
- `pactl`
- Arma Reforger running through Steam/Proton or another Linux audio path that appears in PipeWire/Pulse
## Install
Run directly from the repo:
```bash
./reforger-surround --help
```
Or place it somewhere on your `PATH`:
```bash
install -Dm755 reforger-surround ~/.local/bin/reforger-surround
```
## Basic Test Workflow
Create the 5.1 sink and make it the temporary default:
```bash
reforger-surround up
```
Launch Arma Reforger manually while `Reforger Surround 5.1` is the selected/default output device.
After Arma has created its audio stream, restore your normal default device:
```bash
reforger-surround restore
```
Check whether Arma negotiated surround:
```bash
reforger-surround check
```
Clean up the temporary sink:
```bash
reforger-surround down
```
## Commands
```bash
reforger-surround create # create the 5.1 sink without changing defaults
reforger-surround up # create the sink, save current default, make 5.1 default
reforger-surround restore # restore the saved previous default, keep 5.1 sink alive
reforger-surround down # restore previous default and unload the 5.1 sink
reforger-surround status # show sink/default/game stream state
reforger-surround check # report whether Arma is 2ch or 6ch
```
## Configuration
Defaults are intentionally generic:
```bash
REFORGER_SURROUND_SINK_NAME=reforger_surround_51
REFORGER_SURROUND_DESCRIPTION="Reforger Surround 5.1"
REFORGER_SURROUND_APP_NAME="Arma Reforger"
```
Override them per command if needed:
```bash
REFORGER_SURROUND_APP_NAME="ArmaReforgerSteam.exe" reforger-surround check
```
## Expected Results
Good result:
```text
Sample Specification: ... 6ch 48000Hz
Channel Map: front-left,front-right,front-center,lfe,rear-left,rear-right
```
Stereo-only result:
```text
Sample Specification: ... 2ch 48000Hz
Channel Map: front-left,front-right
```
If Arma creates a stereo-only stream, restart the game with the 5.1 sink selected/default before launch. Moving an already-created stereo stream usually does not make the game renegotiate surround.
## Notes
- `up` temporarily routes normal system audio to the 5.1 sink until `restore` is run.
- `restore` does not unload the 5.1 sink; it only gives normal system audio back to the previous default.
- `down` unloads the temporary sink created by this tool.
- LFE may be silent in Arma Reforger even when the stream is 6ch.