# 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 ``` `restore` first pins the running Arma stream to the 5.1 sink, then switches normal system audio back to the previous default device. 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 pin # move a running Arma/Reforger stream to the 5.1 sink reforger-surround restore # pin Reforger if running, then restore the saved previous default 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 pins Reforger if running, then gives normal system audio back to the previous default. - If Reforger follows the default sink when the default changes, run `reforger-surround pin` before switching devices manually. - `down` unloads the temporary sink created by this tool. - LFE may be silent in Arma Reforger even when the stream is 6ch.