You have heard the story “I have moved to Linux (arch btw).”, well… this is also my story. Anyways I have problems with my headset’s virtual surround. I realized that almost all of the drivers are just simply not working on Linux, but also that there are a bunch of alternatives. I have a HyperX cloud 2 (it was cheap), it’s 5.1 by default and 7.1 if toggled. Since I switched to Linux it has been stereo only. And I also feel like the sound quality is worse.
I heard somewhere that any headset can be virtual surround if configured correctly. And they sell “gaming junk” because people don’t know of this. I’m writing this so that hopefully some of you can teach me how to make any headset surround. I feel like I also must learn how to do this if I’m planning on gaming on Linux.
PS: I tough about buying an actual good headphone, but if it’s not capable of surround than that’s kind of a deal-breaker. I don’t play that much, but I remember playing shooters on stereo and they were unplayable, I wouldn’t like to lock myself out of those kinds of games.
So yeah, people have gotten hrtf surround sound stuff going with pulse audio, some searching around that should get you where you want.
Butt your last statement about games being “unplayable” in stereo is pretty silly, too, so I want to call that out. Don’t be silly. They aren’t “unplayable”, you aren’t “locked out,” thats silly. 99% of people that have ever played that game played in stereo.
I mean when i switched from stereo to surround it was like a whole new chapter. I got pseudo wallhacks I’m never going back. But I agree it’d be pretty silly to play RTS or city builders with it. Anyways thanks for the lead!
I asked a similar question and I was lead to this post.
I got side tracked and eventually lost motivation to get it working. I might give it another try in the new year. Hopefully this is what you are looking for. I assume your distribution is using PipeWire, otherwise you may have to look into HRIR for PulseAudio.
I took https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/daemon/filter-chain/sink-virtual-surround-7.1-hesuvi.conf, and replaced hrir_hesuvi/hrir.wav with the full path to atmos.wav, which I downloaded from https://airtable.com/appayGNkn3nSuXkaz/shruimhjdSakUPg2m/tbloLjoZKWJDnLtTc
Here seems to be a walkthrough of it: https://forum.endeavouros.com/t/virtual-surround-sound-in-pipewire/24958
I also tried jconvolver in the past, but often hit issues when combined with pipewire. Pipewire’s native virtual surround support just works when configured correctly.
You can change the default sink to go to the virtual surround device this way:
pactl list short sinks # get sink name pactl set-default-sink <set default sink>
There will be a way to set the default in the pipewire config files (~/.config/pipewire/pipewire.conf.d/*), too.
I use “catia” when I want to do manual audio routing, and I guess similar is possible with pavucontrol.
I don’t have any experience with virtual surround, but I do have a potential alternative if you don’t get it figured out.
If the games you play have a headphone mode, try it. That typically gets a pretty good virtual surround effect. As for improving sound quality, check out the AutoEQ project on GitHub. I got some cheap $20 Monoprice headphones that sound like they’re $150 or better when using the correct profile from AutoEQ.
I’ll do this too, I’m just going insane atm from pipewire.