I am using an Intel NUC 12 and here is some current information of my current state:

$ inxi -Aaz
Audio:
Device-1: Intel Alder Lake PCH-P High Definition Audio driver: snd_hda_intel
v: kernel bus-ID: 00:1f.3 chip-ID: 8086:51c8 class-ID: 0401
API: ALSA v: k6.4.9-248.current status: kernel-api
tools: alsactl,alsamixer,amixer
Server-1: JACK v: 1.9.22 status: off tools: jack_control
Server-2: PipeWire v: 0.3.77 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active tools: pw-cat,pw-cli,wpctl
Server-3: PulseAudio v: 16.1 status: off (using pipewire-pulse)
tools: pacat,pactl

On Linux Mint sound worked out of the box.
On EndeavourOs I got sound working after running these commands:
$ sudo pacman -R --nodeps --nodeps gnome-bluetooth-3
$ sudo pacman -R --nodeps --nodeps gnome-bluetooth-3.0
$ sudo pacman -S pulseaudio
$ sudo pacman -S pulseaudio-alsa pulseaudio-jack pulseaudio-bluetooth
$ systemctl --user stop pipewire-pulse.service
$ systemctl --user start pulseaudio

I thought I would ask here first before trying to mess around and replicate what I did was instructed to do with my EndeavourOS install.

  • Found a solution, it was this:

    user@user ~ $ systemctl --user start pulseaudio

    but WITHOUT stopping pipewire-pulse.service.

    Then I followed jumpy to make this permanent

    $ systemctl --user enable pulseaudio

    Thanks everyone!

double check if HDMI device is selected.
I had this issue before.

    Solarmass In Budgie Control Center > Sound > Output Device = "HDMI / DisplayPort - Built-in Audio" and no other selection is possible. The blue bar animates according to music I try to play, but nothing is outputted to the TV attached to the HDMI cable.

      This is the working info from Linux Mint:
      $ inxi -Aaz
      Audio:
      Device-1: Intel Alder Lake PCH-P High Definition Audio
      driver: snd_hda_intel v: kernel alternate: snd_sof_pci_intel_tgl
      bus-ID: 00:1f.3 chip-ID: 8086:51c8 class-ID: 0401
      Sound Server-1: ALSA v: k5.15.0-78-generic running: yes
      Sound Server-2: PulseAudio v: 15.99.1 running: yes
      Sound Server-3: PipeWire v: 0.3.48 running: yes

        Jumpy what about Devices in Raven? Have you tried to activate it from there?

        $ systemctl --user stop pipewire-pulse.service
        $ systemctl --user start pulseaudio

        You can certainly try these commands. They take effect immediately and don't persist past a reboot so they're safe to try and test out.

        That at the very least will help narrow down the problem.

          I noticed other issues with my Intel NUC and sent it for warranty repair. I will try to solve the sound issues and repost if needed when I get the unit back.

          4 days later

          I have the same issue. Solus Gnome, and I have used HDMI without any problems until after an update the sound is not working through HDMI (yes, I've checked HDMI is selected as output device).

          Okay Intel replaced my faulty NUC with a new one. But I still have no sound on Solus 🙁 Switching to LTS kernel did not make any difference.

          @kettu Terve kettu. MistÀ pÀin Suomea oot? PitÀsköhÀn vaan ootella jotain uutta pÀivitystÀ?

            Or maybe try installing sof-firmware and adding the snd_hda_intel driver to the blacklist:
            echo -e "blacklist snd_hda_intel" | sudo tee /etc/modprobe.d/blacklist.conf.

            Jumpy kernel alternate: snd_sof_pci_intel_tgl

            maybe this driver will work.
            Then show:

            inxi -Axx | grep driver
            lsmod | grep sof
            pactl info

              I'll revisit the kernel config options in a future update. Maybe I made a mistake when I was trying to fix this in the past.

                pomon After running echo -e "blacklist snd_hda_intel" | sudo tee /etc/modprobe.d/blacklist.conf nothing seems to change as I still get snd_hda_intel:

                user@user ~ $ inxi -Axx | grep driver
                  Device-1: Intel Alder Lake PCH-P High Definition Audio driver: snd_hda_intel
                user@user ~ $ lsmod | grep sof
                snd_sof_pci_intel_tgl    12288  0
                snd_sof_intel_hda_common   172032  1 snd_sof_pci_intel_tgl
                snd_sof_intel_hda_mlink    32768  1 snd_sof_intel_hda_common
                snd_sof_intel_hda      16384  1 snd_sof_intel_hda_common
                snd_sof_pci            20480  2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
                snd_sof_xtensa_dsp     16384  1 snd_sof_intel_hda_common
                snd_sof               307200  3 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_intel_hda
                snd_sof_utils          12288  1 snd_sof
                snd_soc_hdac_hda       20480  1 snd_sof_intel_hda_common
                snd_hda_ext_core       32768  4 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda_mlink,snd_sof_intel_hda
                snd_soc_acpi_intel_match    81920  2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
                snd_soc_acpi           12288  2 snd_soc_acpi_intel_match,snd_sof_intel_hda_common
                snd_soc_core          393216  3 snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda
                snd_intel_dspcfg       28672  3 snd_hda_intel,snd_sof,snd_sof_intel_hda_common
                snd_hda_codec         204800  6 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda,snd_sof_intel_hda
                snd_hda_core          131072  9 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
                snd_pcm               184320  11 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_sof_utils,snd_hda_core,snd_pcm_dmaengine
                snd                   139264  20 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_sof,snd_timer,snd_compress,snd_soc_core,snd_pcm
                user@user ~ $ pactl info
                Server String: /run/user/1000/pulse/native
                Library Protocol Version: 35
                Server Protocol Version: 35
                Is Local: yes
                Client Index: 102
                Tile Size: 65472
                User Name: user
                Host Name: user
                Server Name: PulseAudio (on PipeWire 0.3.77)
                Server Version: 15.0.0
                Default Sample Specification: float32le 2ch 48000Hz
                Default Channel Map: front-left,front-right
                Default Sink: alsa_output.pci-0000_00_1f.3.hdmi-stereo
                Default Source: alsa_output.pci-0000_00_1f.3.hdmi-stereo.monitor
                Cookie: c77a:05b0

                Mod edit: Used three backticks ( ``` ) to wrap the output so it has nicer formatting and scrollbars. 🙂
                - Evan

                pomon Okay, I tried driver blacklisting again. This time I created the file and folder /etc/modprobe.d/blacklist.conf in Nemo with root privileges instead of using the command line. Now after rebooting, the intel driver is blacklisted successfully.

                Now the following commands look like this:

                user@user ~ $ inxi -Axx | grep driver
                  Device-1: Intel Alder Lake PCH-P High Definition Audio driver: N/A
                user@user ~ $ lsmod | grep sof
                snd_sof_pci_intel_tgl    12288  0
                snd_sof_intel_hda_common   172032  1 snd_sof_pci_intel_tgl
                snd_sof_intel_hda_mlink    32768  1 snd_sof_intel_hda_common
                snd_sof_intel_hda      16384  1 snd_sof_intel_hda_common
                snd_sof_pci            20480  2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
                snd_sof_xtensa_dsp     16384  1 snd_sof_intel_hda_common
                snd_sof               307200  3 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_intel_hda
                snd_sof_utils          12288  1 snd_sof
                snd_soc_hdac_hda       20480  1 snd_sof_intel_hda_common
                snd_hda_ext_core       32768  4 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda_mlink,snd_sof_intel_hda
                snd_soc_acpi_intel_match    81920  2 snd_sof_intel_hda_common,snd_sof_pci_intel_tgl
                snd_soc_acpi           12288  2 snd_soc_acpi_intel_match,snd_sof_intel_hda_common
                snd_soc_core          393216  3 snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda
                snd_intel_dspcfg       28672  2 snd_sof,snd_sof_intel_hda_common
                snd_hda_codec         204800  2 snd_soc_hdac_hda,snd_sof_intel_hda
                snd_hda_core          131072  5 snd_hda_ext_core,snd_hda_codec,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
                snd_pcm               184320  8 snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_compress,snd_soc_core,snd_sof_utils,snd_hda_core,snd_pcm_dmaengine
                snd                   139264  11 snd_seq,snd_seq_device,snd_hwdep,snd_hda_codec,snd_sof,snd_timer,snd_compress,snd_soc_core,snd_pcm
                user@user ~ $ pactl info
                Server String: /run/user/1000/pulse/native
                Library Protocol Version: 35
                Server Protocol Version: 35
                Is Local: yes
                Client Index: 77
                Tile Size: 65472
                User Name: user
                Host Name: user
                Server Name: PulseAudio (on PipeWire 0.3.77)
                Server Version: 15.0.0
                Default Sample Specification: float32le 2ch 48000Hz
                Default Channel Map: front-left,front-right
                Default Sink: auto_null
                Default Source: auto_null.monitor
                Cookie: e042:c096

                I have sof-firmware installed, but is it not found?

                ReillyBrogan How did I miss this?

                user@user ~ $ systemctl --user stop pipewire-pulse.service
                user@user ~ $ systemctl --user start pulseaudio

                Well I tried it now and have sound. : Thank you and sorry.

                PS: I have both pipewire and pulseaudio packages installed. Removing the unused package was not necessary. And no reboot was needed (infact you should not reboot) after running these commands for the sound to start working. Now I just need to figure out how to make the change persist a reboot 🙂

                  I was finally able to make the fix permanent like this:

                  $ systemctl --user disable pipewire-pulse.service
                  $ systemctl --user enable pulseaudio

                  What's the output of sudo dmesg? Upload it to pastebin or a similar site and post the output here.

                    I have Solus Gnome:

                    inxi -Aaz
                    Audio:
                    Device-1: Intel Sunrise Point-LP HD Audio vendor: ASUSTeK
                    driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:9d70
                    class-ID: 0403
                    API: ALSA v: k6.4.11-251.current status: kernel-api
                    tools: alsactl,alsamixer,amixer
                    Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
                    Server-2: JACK v: 1.9.22 status: off tools: jack_control
                    Server-3: PipeWire v: 0.3.78 status: active with: 1: pipewire-pulse
                    status: active 2: wireplumber status: active tools: pw-cat,pw-cli,wpctl
                    Server-4: PulseAudio v: 16.1 status: off (using pipewire-pulse)
                    tools: pacat,pactl

                    Found a solution, it was this:

                    user@user ~ $ systemctl --user start pulseaudio

                    but WITHOUT stopping pipewire-pulse.service.

                    Then I followed jumpy to make this permanent

                    $ systemctl --user enable pulseaudio

                    Thanks everyone!

                    Yes, but pulseaudio is no longer supported on Solus and the server may be removed in a future package update. It would be better to figure out the root cause of this issue so we can get it fixed before then with PipeWire. It looks like SOF might not be loading your firmware, can you try sudo journalctl -b0 > bad-audio.log and upload it to Pastebin? Paste the link here.

                      4 days later
                      6 days later

                      I have several days of testing behind now and the solution I marked earlier doesn't seem to function consistently. The sounds might work for a while, but then stop working again. This also stalls YouTube video playback on Firefox and Vivaldi without any error message. Incase there's another Intel NUC user out there reading this, I would like to hear whether this sound issue affects your NUC version as well or not?

                      16 days later

                      I recently bought and installed a new monitor. It connects through USB-C and seems to have solved the sound issues I had with HDMI.

                      6 days later

                      jp923 Nicely spotted. I indeed had not upgraded to the latest bios. Upgrading solved some issues I was having with the USB-C ports.