105 lines
2.8 KiB
Markdown
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.
|