Volume on Fedora is much quieter than on Windows 10

I recently switched from Windows 10 to Fedora 38 (Workstation) and I’ve found that the volume is much quieter. Setting the volume to around 50% is barely audible, and anything less is inaudible. The max volume is audible but still much quieter than it was on Windows 10 and it’s not really usable. I’ve read a bit about using alsamixer[1][2], but I’m not quite sure exactly how I’m supposed to use it to solve my problem. By default, it’ll only show my master volume. When I go to select a sound card, I have a single option, default:0 sof-hda-dsp. After selecting that sound card, I get the following categories:

  • Master: 100
  • Headphone: 52<>52
  • Speaker: 100<>100
  • S/PDIF: (off)
  • S/PDIF1: (off)
  • S/PDIF2: (off)
  • Auto-Mute Mode: (disabled)
  • Headset Mic Boost: 0<>0
  • PGA1.0 1 Master: 100<>100
  • PGA30.0 30: 100<>100
  • PGA31.0 31: 100<>100
  • PGA7.0 7 Master: 100<>100
  • PGA8.0 8 Master: 100<>100
  • PGA9.0 9 Master: 100<>100

When changing my volume (in GNOME, not alsamixer) I only see the “speaker” section change, up until I reach very low volumes, after which “master” will also change. However when I set my volume to max, both are at 100%, so I’m not sure exactly what I’m supposed to increase if they are already at 100.

In case it’s relevant, here’s the output I get with lspci -k | grep -i 'audio' -A 4.

0000:00:1f.3 Multimedia audio controller: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller (rev 20)
Subsystem: ASUSTeK Computer Inc. Device 1512
Kernel driver in use: sof-audio-pci-intel-tgl
Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl
0000:00:1f.4 SMBus: Intel Corporation Tiger Lake-LP SMBus Controller (rev 20)
Subsystem: ASUSTeK Computer Inc. Device 1512
Kernel driver in use: i801_smbus

  1. Fedora Discussion ↩︎

  2. Unix Stack Exchange ↩︎

If it’s a laptop, then it’s a DSP problem. Look into easyeffects. It is available as a flatpak package.
Useful presets:
If you want good sound on laptop look into this:

It looks like this is a tool for configuring audio quality. Would any particular setting or preset be able to solve the low-volume problem I’m having?

(Apologies if one of the presets are obviously meant for that, I’m not very good with audio-related terms :sweat_smile:)

A quote from @qvest linked page:

  • LoudnessEqualizer
    This preset is targeted for laptop speakers to get clear voice locals and prevent dimming of sound when bass part gets played. More info can be found on Digtalone1’s github

There is also Advanced Auto Gain, which is what I use:

Advanced Auto Gain
This preset is targeted for laptop speakers and tries to improve both lower and higher frequencies. It also tries to normalize the volumes in different medias like speech and music.

I tried out some of the presets (including loudness + autogain laptop preset, Laptop speaker preset, and Advanced Auto Gain) and found that they don’t seem to do the trick. Some presets don’t improve the volume, others do improve the volume but they’ll also worsen sound quality or introduce static.

EDIT: I should’ve also mentioned that the presets which increase the volume only increase it marginally. I don’t think it compares to how well my speakers worked on Windows 10 as I still struggle to hear anything below around 50% volume. It was really only useful for increasing the max volume, but even then it distorts the audio or creates static so I’ve since just reset the Easy Effects settings and at the moment I’m using the same (default) sound setup I was before making this post.

Just yesterday I found out why my speakers made a strange noise. It was more hear able when I increased the volume. The power-save function causes this noise. See request below and follow the link in the first request.

I use the 3.5mm Jack to connect my external speakers. They appear as Headphones. So just test if you can increase the Headphone volume, and if this changes something.
If you not used the option in gnome-tweaks yet, you can also test the “Over-Amplification” in the General section. It might cause a bit more noise, just test it.

(Quoting It’s FOSS)

Also, check your sound card. In my case, it was snd_hda_intel. For USB card, it could be snd_usb_audio. You have to change the commands according to your sound card.
cat /proc/asound/modules

The output I get for cat /proc/asound/modules is 0 snd_soc_skl_hda_dsp. When I try following the next step where you determine if you have the power-saving setting for the sound card, I get the following outputs (when trying with and without the 0 respectively):
cat: /sys/module/snd_soc_skl_hda_dsp/parameters/power_save: No such file or directory

cat: '/sys/module/0 snd_soc_skl_hda_dsp/parameters/power_save': No such file or directory

I’m not sure if it’s because I’ve got the name wrong or something else, but I’m stuck on this stage for now.

I’m also not too sure if this would eventually solve the problem since the static is only created when using a certain preset with Easy Effects, but maybe I’m wrong.

I thinks so …

As you mentioned windows I just want to add, that not all hardware working on Windows is working fine on Linux. Windows uses closed source drivers.

Please have a look what info’s linux-hardware.org reveals for your system.

Here’s the link to my HW Probe results: HW probe of ASUSTek ASUS EXPERTBOOK B940... #cb29d8cb77