No sound from Acer Predator laptop speakers

@Sheila_Flanagan
Is your MX using systemd.?
If so, it may be overriding sound config?

Apparently sound can be muted in alsa, and/or in pulseaudio. Have you checked both?

How to clean up pulseaudio

1 Like

Yes, but I think I have always had sysd in MX, no, I do recall trying to use the other init (sysV) at first and could not get my calendar app to work and sync with my phoneā€“I was used to writing the file in sysd and did not know how in sysV, so I switched. I know you can boot into the other only because after downloading the other kernels with the MX pkg tool and going into Advanced in GRUB, I had the option on each kernel. Hmmm, not sure if I can install the other init version, but let me check.

Thanks,
Sheila

1 Like

I guess I had forgotten about the other init in MX. Wondered why when I had gone into Advanced GRUB, it appeared to have 2 of the same kernel. Now I see the 2nd one had sysd at the end. SysV apparently does not state that in the name.

So switching between them changes nothing you have done in one to the other? I just booted the one without systemd in the name, SysV and uname -a says ā€˜#1 PREEMPT_DYNAMIC Debian 6.8.12-1-mx23ahs (2024-06-07)ā€™

Are there any differences in the inxi report for audio. Let me post this one:

MX SystemV:

[CODE]Audio:
  Device-1: Intel Tiger Lake-LP Smart Sound Audio vendor: Acer Incorporated ALI
    driver: sof-audio-pci-intel-tgl alternate: snd_hda_intel,snd_sof_pci_intel_tgl
    bus-ID: 0000:00:1f.3 chip-ID: 8086:a0c8 class-ID: 0401
  Device-2: NVIDIA GA106 High Definition Audio vendor: Acer Incorporated ALI
    driver: snd_hda_intel v: kernel bus-ID: 0000:01:00.1 chip-ID: 10de:228e class-ID: 0403
  API: ALSA v: k6.8.12-amd64 status: kernel-api tools: alsamixer,amixer
  Server-1: PipeWire v: 1.0.6 status: off with: 1: pipewire-pulse status: off 2: wireplumber
    status: off tools: pw-cat,pw-cli,wpctl
  Server-2: PulseAudio v: 16.1 status: active tools: pacat,pactl,pavucontrol,pulsemixer[/CODE]

MX SystemD:

Audio:
  Device-1: Intel Tiger Lake-LP Smart Sound Audio vendor: Acer Incorporated ALI
    driver: sof-audio-pci-intel-tgl alternate: snd_hda_intel,snd_sof_pci_intel_tgl
    bus-ID: 0000:00:1f.3 chip-ID: 8086:a0c8 class-ID: 0401
  Device-2: NVIDIA GA106 High Definition Audio vendor: Acer Incorporated ALI
    driver: snd_hda_intel v: kernel bus-ID: 0000:01:00.1 chip-ID: 10de:228e class-ID: 0403
  API: ALSA v: k6.5.0-1mx-ahs-amd64 status: kernel-api tools: alsamixer,amixer
  Server-1: PipeWire v: 1.0.6 status: off with: 1: pipewire-pulse status: off 2: wireplumber
    status: off tools: pw-cat,pw-cli,wpctl
  Server-2: PulseAudio v: 16.1 status: active tools: pacat,pactl,pavucontrol,pulsemixer

I just noticed the Tiger Lake has an ā€œalternateā€ driver? not sure if the comma indicates 2 options, but we have been using the ā€˜sof-hda-dspā€™ just wondered if there were optional drivers to use.

So as for the article, I deleted that file in .cache and killed pulseaudio, which worked. What did not work was restarting it

myviolinsings@mx--acer:~/.cache
$ rm event-sound-cache.tdb.9c86df9a055445af8bd595bac219482a.x86_64-pc-linux-gnu
myviolinsings@mx--acer:~/.cache
$ ls -a
 .                         kdeconnect.app                              simple-scan
 ..                       'ksycoca5_en_mAVGwzFB1ZTTjf9E2n9F+P9mL28='   strawberry
 akonadi_ical_resource_0   lutris                                      TeamViewer
 babl                      mesa_shader_cache                           thumbnails
 BraveSoftware             mesa_shader_cache_db                        thunderbird
 dconf                     mozilla                                     transmission
 flatpak                   nvidia                                      vivaldi
 fontconfig                obexd                                       winetricks
 gegl-0.4                  opera                                       xfce4
 gimp                      qtshadercache-x86_64-little_endian-lp64     xournalpp
 gstreamer-1.0             samba
 icon-cache.kcache         sessions
myviolinsings@mx--acer:~/.cache
$ pulseaudio -k
myviolinsings@mx--acer:~/.cache
$ pulseaudio -D
E: [pulseaudio] main.c: **Daemon startup failed.**
myviolinsings@mx--acer:~/.cache
$ pulseaudio
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() failed.

And, of course, once that failed the pulse apps are gone from volume equalizer, despite as the article implied, it automatically restarts.

Alsamixer shows max volume (no MM) and volume control shows same. But I wanted to get back to where I had seen something that @daniel.m.tripp touched on this morning.

In the following screenshot, I searched for that Realtek ALC295 and found a lot of conversation on this chip causing sound issues and a link to GitHub fix here:

So I am not sure if that relates to my issue, but obviously, booting SysV does not fix the issue either.

Sorry, forgot to say that sound still does not work in sysV in either pulse apps (effects) nor in internal speaker.

Thanks,
Sheila

2 Likes

Follow @daniel.m.tripp , he has a lot of audio experience.

Looks like I led you in another fruitless direction with init systems.

Remember this in reply #18 from @Daniel_Phillips
ā€œThen the internal speakers, are more than likely using the intel sound and the external speakers are more than likely using nvidia!!! There has to be a switch somewhere, maybe in the pavucontrol config.ā€
Did you follow that up?

2 Likes

My MX has pipewire

Audio:
  Device-1: Intel C600/X79 series High Definition Audio vendor: ASUSTeK driver: snd_hda_intel
    v: kernel bus-ID: 00:1b.0 chip-ID: 8086:1d20 class-ID: 0403
  Device-2: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie: gen: 4
    speed: 16 GT/s lanes: 16 bus-ID: 03:00.1 chip-ID: 1002:ab28 class-ID: 0403
  API: ALSA v: k6.1.0-30-amd64 status: kernel-api tools: alsamixer,amixer
  Server-1: PipeWire v: 1.0.0 status: active with: 1: pipewire-pulse status: active
    2: wireplumber status: active 3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl

That was the MX quick system info output.
I assume yours will have pipewire too.
I have never touched pipewire, but do you perhaps need to do something there, rather than in pulseaudio?
Try man -k pipewire
there are lots of commands, and servers, and modules too.
Its config is here

nevj@trinity:~/.local/state/wireplumber
$ ls
default-nodes  restore-stream
2 Likes

I assume, in alsamixer everything was maxed up, nothing muted, aplay should have produced a sound.
But it did not.
That means sound doesnā€™t work properly even at Alsa level. Pipewire, Pulseaudio both work on top of Alsa, so if Alsa is broken, we canā€™t expect any of the others to workā€¦
So Iā€™m now stuck.
You also tried different kernels to no avail.

So if not the kernel, the firmware may be the culprit?
Can you check wether in your working Garuda what version of SOF Firmware is installed?
And compare that to the version in MXā€¦
In Debian it would be apt search firmware-sof and it tells what version is installed, if it is installed at all.

2 Likes

I might be way off but since no one has any ideas letā€™s try to disable one and enable one serviceā€¦ Hereā€™s a long text from Gentoo News, when they migrated to Pipewire. The text is long and thereā€™s a lot to not follow but try the systemd instructions I've preformatted them like this:

eselect news read 14
2022-07-29-pipewire-sound-server
Title PipeWire sound server migration
Author Sam James sam@gentoo.org
Posted 2022-07-29
Revision 1

PipeWire has gained a new USE flag ā€œsound-serverā€ for enabling/disabling its
sound server capabilities.

This change is needed to avoid PipeWire and PulseAudio conflicting over control
of audio devices. Before this change, OpenRC users were in some cases
accidentally migrated to PipeWire which was difficult to override without
manually editing launcher files.

For non-audio purposes, PipeWire is installed in many configurations as more
and more software depends on it for e.g. screensharing, sandboxing,
and window previews, so users will need to act based on their preferred
setup rather than simply avoiding installing PipeWire, as it is
increasingly required as a dependency.

Packages needing PulseAudioā€™s APIs will be migrated from the now-meta package
media-sound/pulseaudio to depending on media-libs/libpulse. The runtime
PulseAudio server can be provided by either PipeWire (media-video/pipewire)
or the original PulseAudio (media-sound/pulseaudio-daemon).

The new sound-server USE flag for PipeWire allows easily controlling
this behavior.

There are several options available:

  1. To use PipeWire for sound, users should enable USE=sound-server for PipeWire:

Place the following entries in /etc/portage/package.use:

media-video/pipewire sound-server
media-sound/pulseaudio -daemon

First, sync:

emerge --sync

Deselect media-sound/pulseaudio-daemon:

emerge --deselect media-sound/pulseaudio-daemon

Then perform a world upgrade with PipeWire on the command line to add
it to the world file:

emerge --ask --update --changed-use --deep @world media-video/pipewire

Then depclean:

emerge --ask --depclean

OpenRC users on an XDG-compliant desktop which respects autostart files
will not need to take any further action.

OpenRC users using a minimal desktop which does not respect autostart
files will need to run gentoo-pipewire-launcher & in e.g.
~/.xprofile.

Users who want to switch to PipeWire providing a PulseAudio daemon
may need to emerge --deselect packages in their world file which
hard-require media-sound/pulseaudio-daemon. There are only a handful
of these. A non-exhaustive list:

  • media-sound/paprefs
  • media-sound/pasystray
  • media-sound/pulseaudio-modules-bt (shouldnā€™t be needed anyway)
  • net-misc/pulseaudio-dlna

If not using any of those packages anymore, please emerge --deselect
them. If still using these, PipeWire as a PulseAudio is not an
option at this time.

(Note that media-libs/libpulse (which PipeWire will be using, donā€™t emerge
libpulse manually) provides ā€˜pactlā€™ which can be used as a replacement for
e.g. media-sound/pulseaudio-ctl, so personal scripts can be adapted to this
if desired.)

**systemd users will also need to run the following commands:**
**  $ systemctl --user --now disable pulseaudio.service pulseaudio.socket**
**  $ systemctl --user --now enable pipewire.socket pipewire-pulse.socket**
**  $ systemctl --user --now disable pipewire-media-session.service**
**  $ systemctl --user --force enable wireplumber.service**

Root user may replace --user with --global to change system default
configuration for all of the above commands.

  1. To use PulseAudioā€™s daemon for sound, users should disable USE=sound-server
    for PipeWire, enable USE=daemon on media-sound/pulseaudio, and add
    media-sound/pulseaudio-daemon to their world file:

Place the following entries in /etc/portage/package.use:

media-video/pipewire -sound-server
media-sound/pulseaudio daemon

Add media-sound/pulseaudio-daemon to @world:

emerge --noreplace media-sound/pulseaudio-daemon

Then perform a world upgrade:

emerge --ask --update --changed-use --deep @world

Then depclean:

emerge --ask --depclean

OpenRC users on an XDG-compliant desktop which respects autostart files
will not need to take any further action.

OpenRC users using a minimal desktop which does not respect autostart
files should consider adding gentoo-pipewire-launcher & in e.g.
~/.xprofile but itā€™s not strictly required in terms of audio
handling. It may be required in future for the non-audio usecases
described above.

systemd users will also need to run the following commands:
> systemctl --user --now enable pulseaudio.service pulseaudio.socket** **> systemctl --user --now disable pipewire.socket pipewire-pulse.socket
**> **
> Alternatively, systemd users can run the following commands as root to change
> the default for all users:
> # systemctl --global enable pulseaudio.service pulseaudio.socket
> # systemctl --global --force disable pipewire.socket pipewire-pulse.socket

(If taking this option, the services must be started manually as a one-off as
a user.)

  1. For users without sound on their system, those using JACK without
    PipeWire, or those using pure ALSA without PipeWire, the following steps
    are recommended:

    Place the following entries in /etc/portage/package.use:

    media-video/pipewire -sound-server
    media-sound/pulseaudio -daemon

    Then perform a world upgrade:

    emerge --ask --update --changed-use --deep @world

    Then depclean:

    emerge --ask --depclean

    OpenRC users on an XDG-compliant desktop which respects autostart files
    will not need to take any further action.

    OpenRC users using a minimal desktop which does not respect autostart
    files will need to run gentoo-pipewire-launcher & in e.g.
    ~/.xprofile.

systemd users will also likely want to run the following commands as a user, again
for the purposes of non-audio PipeWire use:**
systemctl --user --now enable pipewire.socket** systemctl --user --now --force enable wireplumber.service**

Alternatively, systemd users can run the following commands as root to change
the default for all users, again for the purposes of non-audio PipeWire use:**

systemctl --global enable pipewire.socket**

systemctl --global --force enable wireplumber.service**

(If taking this option, the services must be started manually as a one-off as
a user.)

Further resources:

1 Like

That does look interesting.

I am amazed at how complicated this audio configuration has become.
When you have pulseaudio, and pipewire, and systemd, all having a finger in it, and each of those is messy enough on their own, the possibilities for gliches are everywhere.

Your suggestion of disabling one may help. @Sheila_Flanagan has already tried disabling systemd.
Try the other two.

3 Likes

I have sometimes issues with my laptop because I use it with bluetooth speaker at the office and without bt speaker at home. Sometimes I need to open pavuā€™s control panel and mute/unmute all tabs (playback, recording, output devices, input devices) and change Configuration profile and change it back. Iā€™m using OpenRC with this laptop, not SystemD.

3 Likes

Hence I wanted to try pure Alsa.

AFAIK Pulseaudio and Pipewire conflict, so itā€™s not possible to have them both. However, Pipewire has a compatibility layer which mimics Pulseaudio functionality, so for example Pavucontrol can continue to work.

Until Alsa doesnā€™t work properly, thereā€™s no point to fiddle with Pipewire or PA config, I thinkā€¦

3 Likes