Based on PatrikZero's solution, but reimplemented in Go and written specifically for Linux and Pipewire.
Copy dist/gamestate_integration_CsgoMute.cfg
to the CSGO config directory, by default
$HOME/.steam/steam/steamapps/common/Counter-Strike Global Offensive/csgo/cfg
.
Run ./linux-csgo-mute
. Default sound levels can be seen with the -t
flag. Use the -C
flag to write the config to
${USER_CONFIG_DIR}/csgo-mute/config.toml
; edit the values to set your own levels/options; leave absent for defaults.
The -h
flag will print all available options.
A basic .desktop
file is included for non-terminal use. Copy to your user desktop file location (usually
~/.local/share/applications/
) and edit the Exec
keyword to point to the location of the binary on your system.
Requires Go >= 1.18.
Utilizes wrappers around pipewire cli tools (pw-dump
and pw-cli
) for volume management so those need to be available.
System tray support is provided by getlantern/systray, so all CGo dependencies
of that module are required as well, namely gcc
and development headers for gtk3
and libayatana-appindicator3
.