Quiet/distorted sound on ASUS ExpertBook B9 (missing drivers?)

I have an ASUS ExpertBook B9 (11th gen Intel) laptop and when I boot into a Linux distribution (most recently, Ubuntu 24.04.1) my audio is a lot quieter than usual. GNOME doesn’t show me percentages but I’d say around 25% and below is essentially silent and the max volume isn’t as loud as it is on Windows. I used the option to raise my volume past 100% which brings me up to a max volume comparable to Windows, but it’s also distorted.

I’m new to Linux and not an IT expert by any means but my only guess is that maybe there’s a driver that I’m missing? I figure this because when I do a clean install of Windows 10 from the Microsoft ISO, I need to manually go grab and install a ton of drivers from ASUS to get a bunch of things working. If memory serves correctly, things like WiFi, sound, and my backlit keyboard don’t work on a clean Windows install.

This is a common issue with Linux audio on ASUS laptops, and you’re on the right track about drivers, though Linux handles them a bit differently than Windows.

  1. First, Linux uses something called ALSA (Advanced Linux Sound Architecture) as its base audio system, with PulseAudio or PipeWire running on top of it. The issue you’re experiencing could be related to incorrect default mixer settings rather than missing drivers.

  2. Let’s first check if your audio card is properly detected. Open a terminal and run:

aplay -l

This will list your audio devices. You should see your Intel HDA (High Definition Audio) device listed.

  1. For your specific ExpertBook B9, you might need to adjust the audio codec model. This can be done by creating or modifying an ALSA configuration file:
sudo nano /etc/modprobe.d/alsa-base.conf

Add this line (you can try different models):

options snd-hda-intel model=asus

The list of supported options is in the docs.

zcat /usr/share/doc/alsa-base/driver/HD-Audio-Models.txt.gz | grep asus
  asus          3-jack (ASUS Mobo)
  asus-w1v      ASUS W1V
  asus-dig      ASUS with SPDIF out
  asus-dig2     ASUS with SPDIF out (using GPIO2)
  asus-mode1    ASUS
  asus-mode2    ASUS
  asus-mode3    ASUS
  asus-mode4    ASUS
  asus-mode5    ASUS
  asus-mode6    ASUS
  asus-mode7    ASUS
  asus-mode8    ASUS
  asus-a7j      ASUS A7J
  asus-a7m      ASUS A7M
  asus-p5q      ASUS P5Q-EM boards
  asus          Asus K52JU, Lenovo G560
  1. Another approach is to adjust the base volume levels using alsamixer. In terminal:
alsamixer

Use the arrow keys to navigate. Look for settings like “Master”, “PCM”, and “Speaker”. Some might be set too low by default. However, this may not work on modern pulseaudio/pipewire installs.

  1. So, if you’re using PulseAudio/PipeWire (which is likely), you can install PulseAudio Volume Control for more detailed settings:
sudo apt install pavucontrol

Then run:

pavucontrol

Check the “Configuration” tab to ensure the correct output profile is selected.

2 Likes

Thank you for the reply! Unfortunately, I’m still having issues.

I’m not sure if this is Intel but here’s what I got:

**** List of PLAYBACK Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 3: HDMI1 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 4: HDMI2 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 31: HDA Analog Deep Buffer (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

To clarify, is saving the file enough to apply the change or is a restart needed? I forgot to mention that I’m trying this out on a live USB as I’m not sure if I’m ready to commit to Ubuntu quite yet, especially since I have some unresolved issues like this audio issue. I saved the configuration and didn’t notice a difference.

Is it okay that I tried all of them at once? Here’s what my second edit of the configuration looked like (still no difference in sound):

# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7

# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
#
# Workaround at bug #499695 (reverted in Ubuntu see LP #319505)
install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; : ; }
install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use-blacklist snd-seq-oss ; : ; }
#
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; : ; }
# Cause optional modules to be loaded above sound card driver modules
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }
install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }

# Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway)
install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; }
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options saa7134-alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
options snd-usb-audio index=-2
options snd-usb-caiaq index=-2
options snd-usb-ua101 index=-2
options snd-usb-us122l index=-2
options snd-usb-usx2y index=-2
options snd-hda-intel model=asus
options snd-hda-intel model=asus-w1v
options snd-hda-intel model=asus-dig
options snd-hda-intel model=asus-dig2
options snd-hda-intel model=asus-mode1
options snd-hda-intel model=asus-mode2
options snd-hda-intel model=asus-mode3
options snd-hda-intel model=asus-mode4
options snd-hda-intel model=asus-mode5
options snd-hda-intel model=asus-mode6
options snd-hda-intel model=asus-mode7
options snd-hda-intel model=asus-mode8
options snd-hda-intel model=asus-a7j
options snd-hda-intel model=asus-a7m
options snd-hda-intel model=asus-p5q
# Ubuntu #62691, enable MPU for snd-cmipci
options snd-cmipci mpu_port=0x330 fm_port=0x388
# Keep snd-pcsp from being loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2

I couldn’t find PCM but I maxed everything I found including Master and Speaker. I think I read “PipeWire” somewhere on my system so that must be what I’m using.

I saw 3 profile options under Tiger Lake-LP SmartSound Technology Audio Controller:

  1. Play HiFi quality Music
  2. Pro Audio
  3. Off
    1 is used by default and I tried switching to 2 but didn’t hear a difference. Of course, I don’t hear anything with 3.
1 Like