You have just finished installing Linux on your PC. You start it up and notice that all of your sound sounds like it’s coming out of a phone. You put your hand against your subwoofer and it doesn’t work at all – even when you put on a song that would normally have very heavy bass.
Most of the major Linux distributions use both the Linux Advanced Audio Architecture (ALSA) and PulseAudio for sound management. While they’re both great software, the default setup can be pretty straightforward. If you are using a more complex speaker setup with more than two channels (for example, a 5.1 surround sound system), you may lose the input from the subwoofer due to the way PulseAudio mixes input / output by default or for various other reasons.
Here is how to fix the subwoofer not working issue in Linux.
First of all
Before you start playing with your operating system, check all of your cables to make sure all of your speakers are plugged in properly. Also, if you have another operating system on your computer that your speakers may have last worked on, now is a good time to test them again.
You want to make sure that you have eliminated all other causes of the problem so that you are sure that the problem lies in the way your Linux distribution handles the audio as it is currently configured.
Linux speaker test
In your Linux distribution, you should be able to find a way to access system settings. If you don’t have such an application in your menu, open your terminal and install “gnome-control-center”.
For Debian based systems like Ubuntu / Kali / Mint / MX:
For Arch distributions like Manjaro / EndeavorOS / Garuda:
Now that this is fixed, it’s time to run the app and go to “Sound”. Check your output and make sure the correct audio device is selected. After that, make sure the “Subwoofer” channel has adequate volume. For me, it’s at the maximum.
Also make sure that your output device configuration matches the types of speakers you are using. If you are using a six-channel 5.1 surround system, you must choose “Analog 5.1 surround output” under “Setup”.
After you’ve lined up all those ducks, it’s time to click on the “Test” button. Click on each speaker and listen to where the sound is coming from. If you can’t hear sound from a speaker at all even when you approach it with your ear, it’s almost certain that it’s a connection issue and your speakers aren’t working. not properly at the hardware level for some reason.
If you hear sound coming from your center speaker while clicking on “Subwoofer” and vice versa, you are having a fairly common problem that some audio systems have, and this will be the first priority.
Center and subwoofer mixed? It should help!
Since the way audio systems are built is not completely standardized, some companies choose to do sophisticated wiring that ends up swapping the center and subwoofer channels. This forces your computer to try to play the central audio through the woofer and vice versa.
In your terminal, type the following command:
In the config file, scroll down until you find a bunch of sections starting with “[Mapping …]. “You’ll want to look for something that matches the audio profile of your speakers. For example, if you want to set up your 5.1 surround speakers, you should look for a section titled like this:
Configure a 7.1 system instead? Look for “analog-surround-71”.
The variable we want to change in this little section is “channel-map”. By default. it is listed like this for a 5.1 surround system:
In anything less than a 7.1 surround system, the subwoofer comes last in the mapping for most operating systems. When your subwoofer and center outputs are reversed by your speaker manufacturer, you need to reverse it.
Change the positions of “center-forward” with “lfe”, and you are ready to go! If you follow me through setting up a 5.1 surround system, it should look like this:
If you are setting up a 7.1 surround system, you need to change the “channel map” from this:
Save and exit the file. After a restart, your audio should come out on the correct channel.
Subwoofer audio not working? Here’s what to do!
If the above trick doesn’t work, make sure you’ve tested your audio as previously described. See if the subwoofer responds. If you get a response but still can’t hear anything that sounds like bass coming from your speakers no matter what you’re playing on it, you’ll need to sniff more.
First, install “alsa-utils” if you haven’t already.
In Debian-based systems:
In Arch-based systems:
alsamixer in your terminal. This will display the levels on each channel of your audio device. hurry F6 on your keyboard to select the appropriate audio output. For me, it’s the HD-Audio Generic card.
Navigate to LFE using the left and right arrow keys and make sure its level is 100 or whatever you prefer:
If you still can’t hear any bass from your speakers, chances are you’re trying to play something that doesn’t have a native subwoofer input channel. Fortunately, PulseAudio has a feature that synthesizes a low pass filtered signal to accommodate this.
To get this delicious bass on your system, you need to edit the “daemon.conf” configuration file for PulseAudio.
Look for two lines in the configuration file:
Remove the semicolons at the beginning of each line and replace each “no” with “yes”.
Save the file and restart PulseAudio from the terminal:
If your subwoofer still doesn’t work after this, try a restart. You should be ready now!
When it comes to audio management, the default option on Linux is a bit barebone. The good thing is that it can be easily configured to fix the subwoofer not working issue in Linux. In the meantime, check out this amazing guide on using PulseEffects to squeeze everything out of your sweet rig!
Is this article useful?