No Sound from Internal Speakers - Acer Swift 5

Hello there! I’m new to forums (usually just lurk and figure things out myself) so forgive me for any poor etiquette and whatnot, but feel free to correct me.

My issue is very similar to another Manjaro forum post called “Internal speakers do not work, other audio does = headphones, bt, hdmi” (I can’t link it because I cannot post links (yet?)) - I have the same laptop and seemingly the same sound issue, but I can’t seem to get my speakers working on any other kernel, either. I have tried Manjaro and another arch-based distro to no avail, but I do get sound from the speakers on an ubuntu live session and on Windows 10, so the speakers do physically work. I’m fairly experienced with linux, but this is the first time I’ve ever had to go into any depth in the linux audio system so I really don’t know what I’m doing here. I’ve seen a lot of Arch forum posts about the Acer Swift 5 having trouble with its internal microphone, but mine does not seem to be having any issues with its microphone at all.

I’ve tried replacing pulseaudio and alsa with pipewire, but that has not changed anything. Both before and after the replacement, audio appears to be playing in pavucontrol and I’ve messed with the alsamixer settings to try and get it to actually play by turning up all the volumes, unmuting and muting various outputs, and disabling the auto-mute mode, but nothing happens. speaker-test does not output anything either, but it shows as playing in pavucontrol. I can’t see any obvious errors in dmesg (though I may have just overlooked something, again, I am inexperienced with audio troubleshooting on linux).

I feel like I’ve tried everything I could think of so I’m hoping somebody can give me some guidance. I’ll post any logs or script outputs here upon request. Thanks!

Hello,
You obviously didn’t tried this:
https://wiki.archlinux.org/title/Acer_Swift_5

Hello!

I’m not sure what exactly on that page you’re referencing, but I have tried all of it. Secure Boot is disabled, the SATA mode is AHCI, no kernel boot parameters are relevant (everything listed already seemingly works out of the box), and the kernel modules section is outdated. The kernel modules section is the only one that seems possibly relevant to me, but I have tried setting all of those modules at once, tried them one at a time, and tried multiple other configurations. As far as I can tell, none of that worked at all.

Acer has a number of different models for Swift SF514-xx
linux-hardware.org - Acer Swift SF514 (All)
Please post response to

inxi -SMAa

To show model number of laptop and audio hardware

Try using speaker-test (or an audio player) to play audio direct to onboard audio in ALSA without using PulseAudio or Pipewire

inxi -SMAa

System:    Host: kronos-manjaro Kernel: 5.10.49-1-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 
           parameters: BOOT_IMAGE=/boot/vmlinuz-5.10-x86_64 root=UUID=efa972fc-4f6f-4d69-b0ce-0f0aa57c37e4 rw quiet apparmor=1 
           security=apparmor udev.log_priority=3 
           Desktop: Xfce 4.16.0 tk: Gtk 3.24.29 info: xfce4-panel wm: xfwm 4.16.1 vt: 7 dm: LightDM 1.30.0 
           Distro: Manjaro Linux base: Arch Linux 
Machine:   Type: Laptop System: Acer product: Swift SF515-51T v: V1.04 serial: <superuser required> 
           Mobo: WL model: Guinness_WL v: V1.04 serial: <superuser required> UEFI: American Megatrends v: 1.04 
           date: 05/24/2019 
Audio:     Device-1: Intel Cannon Point-LP High Definition Audio vendor: Acer Incorporated ALI driver: sof-audio-pci 
           alternate: snd_hda_intel,snd_soc_skl,snd_sof_pci bus-ID: 00:1f.3 chip-ID: 8086:9dc8 class-ID: 0401 
           Sound Server-1: ALSA v: k5.10.49-1-MANJARO running: yes 
           Sound Server-2: JACK v: 0.125.0 running: no 
           Sound Server-3: PulseAudio v: 14.2 running: no 
           Sound Server-4: PipeWire v: 0.3.31 running: yes

Looks like it’s an Acer Swift SF515-51T.

Try using speaker-test (or an audio player) to play audio direct to onboard audio in ALSA without using PulseAudio or Pipewire

I’m not really sure how I should go about doing that - doesn’t speaker-test direct audio straight to ALSA by default? If it helps, pavucontrol shows PipeWire ALSA [speaker-test]: ALSA Playback in the playback panel while speaker-test is running.

If speaker-test was playing audio direct to ALSA hardware and not through Pipewire the audio stream would not be visible in pavucontrol

If audio can play to speakers via ALSA any issue is likely to be just within Pipewire

If audio cannot play audio direct to ALSA device you should run a full ALSA diagnostic to check for errors or misconfiguration

sudo alsa-info.sh --upload

If speaker-test command does not include option -D or --device to specify a playback device
the command will use the ALSA default, usually set to PulseAudio in Manjaro
if Pipewire has replaced PulseAudio, speaker-test is probably using Pipewire as default in much the same way
command aplay -L will show ALSA default and other playback options

But if you are not familiar with CLI use of speaker-test command use an audio player that can be configured to use ALSA output (eg VLC or Audacious)

I, uh, can’t include links in my posts. I assume that splitting up the link might flag me as spam or something but I’m going to try it anyway.

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

The output of my aplay -L:

null
    Discard all samples (playback) or generate zero samples (capture)
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pipewire
    PipeWire Sound Server
pulse
    PulseAudio Sound Server
speex
    Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
default
    Default ALSA Output (currently PipeWire Media Server)
sysdefault:CARD=sofhdadsp
    sof-hda-dsp, 
    Default Audio Device
usbstream:CARD=sofhdadsp
    sof-hda-dsp
    USB Stream Output

Which one of these should I try outputting to? I tried a few that seemed logical but still nothing. I also just installed audacious, hoping it was just me not understanding speaker-test, and grabbed an audio file, but none of the outputs in there seem to be working either.

In Audacious the direct ALSA hardware outputs will begin with hw:0

But Audacious will not be able to use the ALSA hardware device if Pipewire is still connected to it

I am not familiar with Pipewire to know exactly how to disconnect it for ALSA testing

In PulseAudio a user can usually either set the card Profile to Off in pavucontrol --tab=5

or suspend the sink - pactl suspend-sink 0 1
(to de-suspend it after testing - pactl suspend-sink 0 0)

or even stop the PulseAudio systemd service
(Pipewire has multiple systemd services and I am not sure which would need to be stopped so best not to try this unless someone who knows about pipewire can advise and assist)

Alright, so rather than messing with pipewire anymore, I just went ahead and reinstalled manjaro entirely to reset to pulse and verify that there is no weird configuration. I stopped the pulseaudio systemd socket and service and tried both speaker-test and aplay.

Now that pulse is killed, I get this from speaker-test -D hw:0,0

speaker-test 1.2.5

Playback device is hw:0,0
Stream parameters are 48000Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
Playback open error: -16,Device or resource busy

and something similar from aplay -vv /usr/share/sounds/alsa/Noise.wav

aplay: main:852: audio open error: Device or resource busy

Audacious and VLC seemed to give me very similar messages when I tried them afterwards.

Also, it looks like I can post links now. Here is my new sudo alsa-info.sh --upload output after a fresh install of manjaro with pulseaudio stopped:
http://alsa-project.org/db/?f=8e0ab4dbd8693b7b044e4fa4ce3d466a0f416b25

Use this command to see what is keeping audio playback device busy

fuser -v /dev/snd/*

If you have changed to using PulseAudio you can use pacmd commands that are not available in Pipewire

pacmd dump

will show suspend status and active profile

and all sinks and sources can be suspended with one command

pacmd suspend 1

Okay, I feel like we’re getting somewhere here.
Dumb mistake on my end with the outputs being busy, so I fixed that and now fuser -v /dev/snd/* outputs nothing. Currently I can’t use any pacmd commands because pulseaudio is completely dead - I stopped the systemctl service, killing the daemon.

Now trying speaker-test -D hw:0,0 -c 2 I get:

speaker-test 1.2.5

Playback device is hw:0,0
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 96 to 16368
Period size range from 48 to 4080
Using max buffer size 16368
Periods = 4
was set period_size = 3312
was set buffer_size = 16368
 0 - Front Left
 1 - Front Right
Time per period = 5.230810

but no sound at all. Seems to me like it’s running fine, just still not playing anything at all.
About the same thing with aplay -vv /usr/share/sounds/alsa/Noise.wav (or any of the other test wavs) where it seems like it’s working fine but it’s not actually playing anything.

I can also confirm that in alsamixer everything should be unmuted - Master@100, Headphone@100, Speaker@100, Auto-Mute Mode Disabled, PGA1.0 1 Master@100, PGA 3.0 3 Master@100, and PGA 7,8,9 all at 100 as well. There are three S/PDIFs that are muted but frankly I have no idea what those are - unmuting them only sets them to 0 instead and that doesn’t change the lack of sound output.

I haven’t gotten any response here in a while, so I’m just gonna post this in a hope to get somebody to help me out with this.

As I said before, sound does work on Linux distros other than Arch, such as Ubuntu. I have no idea if this will help, but it’s worth a shot - here is the alsa-info output link from a live-booted Ubuntu (where the sound does work).

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

I don’t think this will be too different from any other alsa-info I’ve uploaded before for Manjaro, but here’s another link to a new one I just ran on Manjaro.

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

I know the Arch forums are not exactly friendly to people who have an arch-based distro, but for anybody who sees this - would it be a better idea for me to go through the vanilla Arch install process so I can go and ask on the Arch forums for a more specific/technical question like this? (Assuming that sound would also not work on vanilla Arch, but I feel pretty confident in saying that it would not)

Arch forum would probably ask a user to do their own differential comparison of ALSA

Comparison of the 2 alsa-info data sets in meld shows that the differences are similar to the other post you mentioned in OP where audio does not work in kernel v5.10 but is ok in an earlier kernel
Internal speakers do not work, other audio does = headphones, bt, hdmi

Both data sets show the same kernel module in use - snd_soc_skl_hda_dsp

ALC256 pin configurations in !!HDA-Intel Codec information only show differences in the volume settings for speakers and headphones

for Ubuntu kernel v5.8, onboard audio is shown as - Card hw:0 'sofhdadsp'/'WL-SwiftSF515_51T-V1.03-Guinness_WL'
But on Manjaro kernel v5.10 card is shown as - Card hw:0 'sofhdadsp'/'sof-hda-dsp'

in !!All Loaded Modules Manjaro v5.10 has 4 skylake (skl) kernel modules

snd_soc_skl
snd_soc_skl_hda_dsp
snd_soc_sst_dsp
snd_soc_sst_ipc

Ubuntu v5.8 only has snd_soc_skl_hda_dsp

If you want something more specific/technical try asking at Issues · thesofproject/sof · GitHub