Headphones work but laptop speakers do not

This is my first Linux install ever, trying it out over windows but I have an issue where my laptop’s speakers don’t make any sound. If I plug in headphones, they work, but never speakers. I’ve updated kernels, and intalled sof-firmware through the add/remove software application to no avail. Any help would be appreciated!

inxi:

System:
  Kernel: 5.15.2-2-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0
  parameters: BOOT_IMAGE=/boot/vmlinuz-5.15-x86_64
  root=UUID=fde622cf-1d7e-4d75-8283-e94e0443383f rw quiet apparmor=1
  security=apparmor udev.log_priority=3
  Desktop: KDE Plasma 5.23.3 tk: Qt 5.15.2 wm: kwin_x11 vt: 1 dm: SDDM
  Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: Micro-Star product: GE75 Raider 10SE v: REV:1.0
  serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: Micro-Star model: MS-17E9 v: REV:1.0 serial: <superuser required>
  UEFI: American Megatrends v: E17E9IMS.10D date: 11/17/2020
Battery:
  ID-1: BAT1 charge: 28.7 Wh (57.2%) condition: 50.2/51.6 Wh (97.3%)
  volts: 11.6 min: 10.9 model: MSI BIF0_9 type: Li-ion serial: N/A
  status: Charging
CPU:
  Info: 6-Core model: Intel Core i7-10750H bits: 64 type: MT MCP
  arch: Comet Lake family: 6 model-id: A5 (165) stepping: 2 microcode: EA
  cache: L1: 384 KiB L2: 1.5 MiB L3: 12 MiB
  flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  bogomips: 62431
  Speed: 3992 MHz min/max: 800/5000 MHz Core speeds (MHz): 1: 800 2: 903
  3: 800 4: 1189 5: 1287 6: 851 7: 1341 8: 803 9: 852 10: 800 11: 800 12: 800
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: spec_store_bypass
  mitigation: Speculative Store Bypass disabled via prctl and seccomp
  Type: spectre_v1
  mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB filling
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel CometLake-H GT2 [UHD Graphics] vendor: Micro-Star MSI
  driver: i915 v: kernel bus-ID: 00:02.0 chip-ID: 8086:9bc4 class-ID: 0300
  Device-2: NVIDIA TU106M [GeForce RTX 2060 Mobile] vendor: Micro-Star MSI
  driver: nvidia v: 495.44 alternate: nouveau,nvidia_drm bus-ID: 01:00.0
  chip-ID: 10de:1f15 class-ID: 0300
  Display: x11 server: X.Org 1.21.1.1 compositor: kwin_x11 driver:
  loaded: modesetting,nvidia alternate: fbdev,nouveau,nv,vesa display-ID: :0
  screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.0x11.2")
  s-diag: 582mm (22.9")
  Monitor-1: eDP-1 res: 1920x1080 hz: 144 dpi: 128 size: 381x214mm (15.0x8.4")
  diag: 437mm (17.2")
  OpenGL: renderer: Mesa Intel UHD Graphics (CML GT2) v: 4.6 Mesa 21.2.5
  direct render: Yes
Audio:
  Device-1: Intel Comet Lake PCH cAVS vendor: Micro-Star MSI
  driver: snd_hda_intel v: kernel alternate: snd_soc_skl,snd_sof_pci_intel_cnl
  bus-ID: 00:1f.3 chip-ID: 8086:06c8 class-ID: 0403
  Device-2: NVIDIA TU106 High Definition Audio vendor: Micro-Star MSI
  driver: snd_hda_intel v: kernel bus-ID: 01:00.1 chip-ID: 10de:10f9
  class-ID: 0403
  Sound Server-1: ALSA v: k5.15.2-2-MANJARO running: yes
  Sound Server-2: JACK v: 1.9.19 running: no
  Sound Server-3: PulseAudio v: 15.0 running: yes
  Sound Server-4: PipeWire v: 0.3.40 running: no
Network:
  Device-1: Intel Comet Lake PCH CNVi WiFi driver: iwlwifi v: kernel
  bus-ID: 00:14.3 chip-ID: 8086:06f0 class-ID: 0280
  IF: wlo1 state: up mac: <filter>
  Device-2: Qualcomm Atheros Killer E2500 Gigabit Ethernet
  vendor: Micro-Star MSI driver: alx v: kernel port: 3000 bus-ID: 03:00.0
  chip-ID: 1969:e0b1 class-ID: 0200
  IF: enp3s0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel AX201 Bluetooth type: USB driver: btusb v: 0.8
  bus-ID: 1-14:4 chip-ID: 8087:0026 class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 1 state: up address: see --recommends
Drives:
  Local Storage: total: 1.38 TiB used: 11.46 GiB (0.8%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
  model: PC SN730 SDBPNTY-512G-1032 size: 476.94 GiB block-size:
  physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD
  serial: <filter> rev: 11111000 temp: 40.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Seagate model: ST1000LM048-2E7172
  size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
  type: HDD rpm: 5400 serial: <filter> rev: 0001 scheme: GPT
Partition:
  ID-1: / raw-size: 60 GiB size: 58.76 GiB (97.93%) used: 11.44 GiB (19.5%)
  fs: ext4 dev: /dev/nvme0n1p5 maj-min: 259:5
  ID-2: /boot/efi raw-size: 300 MiB size: 296 MiB (98.67%)
  used: 25.7 MiB (8.7%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 48.0 C pch: 39.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 299 Uptime: 37m wakeups: 1 Memory: 15.45 GiB
  used: 2.93 GiB (19.0%) Init: systemd v: 249 tool: systemctl Compilers:
  gcc: N/A Packages: pacman: 1213 lib: 332 flatpak: 0 Shell: Zsh v: 5.8
  default: Bash v: 5.1.8 running-in: konsole inxi: 3.3.09

I also ran alsa:

http://alsa-project.org/db/?f=ee34b0a74f6e9e6719f50c9689ba19399e858929

I am very new to Manjaro so any help would be appreciated!

You need to install sof-firmware … And see this

Good news! I have sound, but only at 150% and even then it’s barely audible in a quiet room. I’ve checked alsamixer which looks like:

I also have installed pavucontol, and checked the outputs.

So at this time I’m a little out of my abilities to further diagnose. Anything I should check and/or run to have a fix?
Thanks!

Can you post pacmd list-sinks ?

Here it is:

pacmd list-sinks                                                                                                                                                                                                             ✔ 
1 sink(s) available.
  * index: 0
        name: <alsa_output.pci-0000_00_1f.3.analog-stereo>
        driver: <module-alsa-card.c>
        flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
        state: SUSPENDED
        suspend cause: IDLE
        priority: 9039
        volume: front-left: 98304 / 150% / 10.57 dB,   front-right: 98304 / 150% / 10.57 dB
                balance 0.00
        base volume: 65536 / 100% / 0.00 dB
        volume steps: 65537
        muted: no
        current latency: 0.00 ms
        max request: 0 KiB
        max rewind: 0 KiB
        monitor source: 0
        sample spec: s16le 2ch 48000Hz
        channel map: front-left,front-right
                     Stereo
        used by: 0
        linked by: 1
        configured latency: 0.00 ms; range is 0.50 .. 1837.50 ms
        card: 1 <alsa_card.pci-0000_00_1f.3>
        module: 7
        properties:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = "ALC1220 Analog"
                alsa.id = "ALC1220 Analog"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "0"
                alsa.card_name = "HDA Intel PCH"
                alsa.long_card_name = "HDA Intel PCH at 0xc5410000 irq 158"
                alsa.driver_name = "snd_hda_intel"
                device.bus_path = "pci-0000:00:1f.3"
                sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
                device.bus = "pci"
                device.vendor.id = "8086"
                device.vendor.name = "Intel Corporation"
                device.product.id = "06c8"
                device.product.name = "Comet Lake PCH cAVS"
                device.form_factor = "internal"
                device.string = "front:0"
                device.buffering.buffer_size = "352800"
                device.buffering.fragment_size = "176400"
                device.access_mode = "mmap+timer"
                device.profile.name = "analog-stereo"
                device.profile.description = "Analog Stereo"
                device.description = "Built-in Audio Analog Stereo"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-pci"
        ports:
                analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)
                        properties:
                                device.icon_name = "audio-speakers"
                analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: no)
                        properties:
                                device.icon_name = "audio-headphones"
        active port: <analog-output-speaker>

Can you post /etc/pulse/daemon.conf ?

# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
## more information. Default values are commented out.  Use either ; or # for
## commenting.

; daemonize = no
; fail = yes
; allow-module-loading = yes
; allow-exit = yes
; use-pid-file = yes
; system-instance = no
; local-server-type = user
; enable-shm = yes
; enable-memfd = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
; lock-memory = no
; cpu-limit = no

; high-priority = yes
; nice-level = -11

; realtime-scheduling = yes
; realtime-priority = 5

; exit-idle-time = 20
; scache-idle-time = 20

; dl-search-path = (depends on architecture)

; load-default-script-file = yes
; default-script-file = /etc/pulse/default.pa

; log-target = auto
; log-level = notice
; log-meta = no
; log-time = no
; log-backtrace = 0

; resample-method = speex-float-1
; avoid-resampling = false
; enable-remixing = yes
; remixing-use-all-sink-channels = yes
; remixing-produce-lfe = no
; remixing-consume-lfe = no
; lfe-crossover-freq = 0

; flat-volumes = no

; rescue-streams = yes

; rlimit-fsize = -1
; rlimit-data = -1
; rlimit-stack = -1
; rlimit-core = -1
; rlimit-as = -1
; rlimit-rss = -1
; rlimit-nproc = -1
; rlimit-nofile = 256
; rlimit-memlock = -1
; rlimit-locks = -1
; rlimit-sigpending = -1
; rlimit-msgqueue = -1
; rlimit-nice = 31
; rlimit-rtprio = 9
; rlimit-rttime = 200000

; default-sample-format = s16le
; default-sample-rate = 44100
; alternate-sample-rate = 48000
; default-sample-channels = 2
; default-channel-map = front-left,front-right

; default-fragments = 4
; default-fragment-size-msec = 25

; enable-deferred-volume = yes
; deferred-volume-safety-margin-usec = 8000
; deferred-volume-extra-delay-usec = 0

I assume, that the sound chip can handle 24 bits resolution and 192 kHz sampling frequency.

So edit the lines as follows:

; default-sample-format = s16le
; default-sample-rate = 44100
; alternate-sample-rate = 48000
; default-sample-channels = 2

to

default-sample-format = s24le
default-sample-rate = 96000
alternate-sample-rate = 48000
default-sample-channels = 2

I do not want to interfere!
And I cannot and did not test it myself.

This is just a possibility - it may be helpful:

I think I have seen threads where it was suggested to use the alternate driver - the one that is available, but not loaded by default.

alternate: snd_soc_skl,snd_sof_pci_intel_cnl

For this to work, the driver that is used now would need to be blacklisted - I think …
(a file in /etc/modprobe.d ending with the .conf suffix
containing:
blacklist snd_hda_intel
)

Firmware might also be needed, as @bogdancovaciu mentioned.

But there are two soundcards here and I do not know which one is being used and making trouble.

Great news, I have audio! But it isn’t 100%. After following the assistance, I am at the point where I have crisp, clear audio. Thank you!

The trouble is that, I found by increasing the “headphone” option in alsamixer, that that increased the audio output (yes, for speakers too!). Except that it seems to reset every time I restart, so I need to go back into alsamixer and set it to 100 again. So I am just curious if there is a way to just leave that set at 100.

4

Thank you again!

You need to save the alsamixer settings by alsactl store (as root).

Previous discussions about this motherboard advise that speaker output for onboard audio codec ALC1220 is not restored correctly when system is booted

A Manjaro user with same motherboard found a workaround to reset the speaker control in ALSA

amixer --card=0 sset Headphone 100% unmute

No Sound (Temporary Fix) alsamixer MSI Ge75 Raider


Another workaround for this motherboard was confirmed to work in Linux Mint forum
[Laptop] No sound from built in speakers - Linux Mint Forums
linux mint cinnamon 20 no sound until plugging headphone - Linux Mint Forums

Edit PulseAudio configuration for speaker output

sudo nano +102,10 /usr/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf

Change this section:

[Element Headphone]
switch = off
volume = off

To this:

[Element Headphone]
switch = off
volume = merge

That worked a treat, issue is completely fixed. Thank you so much!