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!
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.
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)
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.
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).
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.
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)
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