- Check the audio is on and volume is turned up.
- Check all audio sources. It is possible for there to be no sound from the speakers, but you will have sound through the headphones or through your external speakers or through your monitor's speakers.
- For external devices such as headphones, microphones, or speaker:
- If using a wired device, try a different port on your computer. If using the front ports then try the rear ports. If using USB2 ports then try USB3 ports.
- If using a bluetooth device:
- Try removing and re-adding your devices. Sometimes that is all that is needed.
- Check the Networking forum for advice about bluetooth connections.
- Try a different headphone, microphone, or speaker.
- If you are dual-booting with Windows, make sure fast start-up is disabled How to turn off fast startup or hybrid sleep in Windows.
- Check the audio drivers are installed.
- Verify the sound card is recognized.
- Chromebooks have different firmware than other computers and may require special firmware versions if it is even at all possible to get sound with it. Check the "Chromebooks" section in this topic.
- If you are getting a beep/screech or other sound problems with Intel Atom, Celeron, or Pentium processors on Linux Mint 21, check the "BEEP with Intel Atom/Celeron/Pentium Computers" section in this topic.
- If you are missing HDMI audio, make sure the graphics drivers are installed. See Tips for Troubleshooting Graphics Issues (including external monitors not working) for information on how to check graphic driver installation.
- If you are having issues with 5.1 or 7.1 surround sound and running a Linux Mint 21 version please see the "Surround Sound" section in this topic.
- If you have an Apple Macbook or iMac and no sound card is showing, please see the "Apple Computers with CS8409 sound cards" section in this topic to see if you have that sound card. There are several solutions listed which may help you if you do.
- If you have sound coming from both the speakers and the headphones simultaneously, install pavucontrol (see "Audio Volume Options" section for instructions), then start alsamixer and look for the Auto-Mute Mode setting and make sure it's enabled.
- When experimenting or making changes, remember to take incremental Timeshift snapshots or some other system backup to make reverting to a prior state easier.
Audio Volume Options
- The Sound app will be your first step to check for listed sources and volumes.
- An app with more configuration options, Pulse Audio Volume Control, can be added either through Software Manager or from the command line with
apt install pavucontrol
. Check to see if adjustments there help you gain sound output.- This older reference How to Use PulseAudio to Manage Sounds on Ubuntu 18.04 has screenshots and explains some of the functionality available in Pulse Audio Volume Control.
- An app which is run inside a terminal is Alsamixer. Open a terminal and type
alsamixer
and the app opens inside your terminal window.- Directions for using it are here Ubuntu Wiki: Alsamixer. Exit using the Escape key.
- How to fix volume control (ALSA problem)
Audio Hardware Drivers
Run
inxi -Axxx
in a terminal to verify the drivers are installed. Note: PipeWire is not part of the default install of Linux Mint 20, but it is part of Linux Mint 21. SoundWire is not used in Linux Mint 20 nor Linux Mint 21.
Sample LM20 with the 5.4.0-91 kernel installed:
Device-1: Intel 6 Series/C200 Series Family High Definition Audio vendor: Hewlett-Packard
driver: snd_hda_intel v: kernel bus ID: 00:1b.0 chip ID: 8086:1c20
Sound Server: ALSA v: k5.4.0-91-generic
Sample LM21 with the 5.15.0-52 kernel installed:
Audio:
Device-1: Intel Celeron/Pentium Silver Processor High Definition Audio
driver: snd_hda_intel v: kernel bus-ID: 00:0e.0
Sound Server-1: ALSA v: k5.15.0-52-generic running: yes
Sound Server-2: PulseAudio v: 15.99.1 running: yes
Sound Server-3: PipeWire v: 0.3.48 running: yes
Sample LM21 with the 6.0-oem kernel installed:
Device-1: Intel Comet Lake PCH-LP cAVS driver: sof-audio-pci-intel-cnl
Sound Server-1: ALSA v: k6.0.0-1009-oem running: yes
Sound Server-2: PulseAudio v: 15.99.1 running: yes
Sound Server-3: PipeWire v: 0.3.48 running: yes
While
snd_hda_intel
is the most common driver for older kernel versions, the SOF drivers (last example above) are becoming more common with newer kernels. Your kernel driver might change if you change kernels. Also, your computer may use a driver other than snd_hda_intel
or the SOF drivers.If your system is missing drivers (ie. the output indicates N/A), you likely need to install a newer kernel series to get the drivers.
Audio Cards Detection
Run
aplay -l
in a terminal to verify the sound cards are recognized. Notice the
ALC294
in the below output. While your computer's code might be different, that code is a key to finding your solution. See what others with that output have done. You can also check Latest HD-Audio Codec-Specific Models for possible quirks for your device.
Code: Select all
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC294 Analog [ALC294 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 11: HDMI 5 [HDMI 5]
Subdevices: 1/1
Subdevice #0: subdevice #0
If you get the following, you will likely need a newer kernel series. See the next section for upgrading. The system must find soundcards for it to provide audio.
Code: Select all
aplay -l
aplay: device_list:274: no soundcards found..
Code: Select all
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
Upgrading to a Newer Kernel Series
If you are running a Linux Mint 20 version, the newest kernel available is the 5.15 kernel.
Instructions for upgrading to a newer kernel series in Linux Mint 20 or 21:
- Open Update Manager.
- Select View > Linux Kernels and click Continue.
- Select the top option on the left panel (5.15 in LM20 versions and 6.5 in LM21 versions).
- Then click the top-most option on the right panel. An "Install" button will appear.
- Install the kernel and then reboot for it to become active.
aplay -l
again to see if the output has changed. Troubleshooting Considerations
What is the brand name and model of the laptop/computer? Searching on specifics for your exact model are best. Next best is searching on the manufacturer.
To help with troubleshooting, run the following in a terminal:
Code: Select all
journalctl -k | grep -Ei "ALSA|HDA|sof[-]|HDMI|snd[_-]|sound|hda.codec|hda.intel"
If you see mention of the ES8336 sound card, support only started with the 5.19 kernel. Resources for getting it to work with the 5.19 or 6.0 kernels are here. (Note: it requires you to build your own kernel with the necessary modifications.)
Sound Open Firmware
It is an option which can be installed on Linux Mint 20. It is standard as part of Linux Mint 21. There is a linux kernel component and a firmware component.
Known SOF firmware/topology issues are here.
The latest SOF firmware and topology files are here.
- Installation instructions are on this page thesofproject / sof-bin : Readme as well as in the Readme.md doc in the tar file on the download page.
- It is possible you may only need the file(s) missing on your computer and not all the files in the release.
- It is possible the file(s) listed as missing will change if you upgrade to a newer kernel. (There have been cases where the files were there, but were mislabeled when named so the bug fix resulted in a name change on newer versions.)
- If you did not take a Timeshift snapshot before experimenting, here are instructions How to uninstall? #52.
Chromebooks
In many cases the fastest way to fix the no-sound situation is to buy and attach an external sound usb.
No sound is a very common issue with Chromebooks because of their specialty hardware and firmware. Firmware is the link between the operating system software and the hardware. Most computers have BIOS or UEFI firmware, but only the very newest Chromebooks have UEFI. Most Chromebooks have firmware called coreboot.
Machine:
Type: Laptop System: Google product: Magolor v: rev5
serial: <superuser required> Chassis: type: 9 serial: <superuser required>
Mobo: Google model: Magolor v: rev5 serial: <superuser required>
UEFI: coreboot v: Google_Magolor.13606.458.0 date: 05/09/2022
In order to get coreboot functioning as a proper middleman between the operating system and the hardware, most people use the technology of MrChromebox. Check that page for your product. The example Machine info above is Magalor while the below example, which already has MrChromebox firmware installed, is Cave.
Machine:
Type: Laptop System: Google product: Cave v: 1.0 serial: <superuser required> Chassis: type: 9
serial: <superuser required>
Mobo: Google model: Cave v: 1.0 serial: <superuser required> UEFI: coreboot
v: MrChromebox-4.18.2 date: 11/29/2022
There is no one such computer called a Chromebook; there are many different Chromebooks. When searching for possible solutions, search your specific model.
If you have an Apollo Lake Chromebook (such as product name Babytiger / ASUS CX1500CN Chromebook), the instructions in the following Reddit post by MrChromebox has worked for a number of people HOWTO: Audio on Apollolake devices under Linux.
- Note 1: Make sure you are running an LM21 version with the 5.15 LTS kernel and all updates have been run in Update Manager. That ensures your system is ready and you can start with the "1. Download fixed topology file:" step and skip the prior steps.
- Note 2: Not all Apollo Lake Chromebooks automatically use the snd_hda_intel driver (for which the above works). Check your driver and take a Timeshift snapshot before attempting the changes.
BEEP with Intel Atom/Celeron/Pentium Computers
The transition from using legacy SST drivers (in LM20 versions) to using sof-audio-acpi-intel-byt drivers (in LM21 versions) for a number of Intel CherryTrail and BayTrail computers can result in the sound stopping with a beep or screech. Specific computers helped include ones with Intel Atom x5-Z8350, Intel Celeron N3060 and Intel Celeron N3160 CPUs.
To get the system fully on the SOF driver, adding the
snd_sof.sof_debug=1
kernel parameter has helped people with a variety of hardware. A sampling of some of the sound cards which may run into this issue include the following:
Code: Select all
bytcht_cx2072x
bytcht_da7213
bytcht_es8316
bytcr_rt5640
bytcr_rt5651
cht_bsw_max98090_ti
cht_bsw_nau8824
cht_bsw_rt5645
cht_bsw_rt5672
snd_sof.sof_debug=1
kernel parameter. When you add it temporarily, it adds it only for that current boot cycle, so if, for any reason, it seems to cause issues or it does not work, all you need to do is reboot to clear it. If you need more details than that topic provides, post a topic on the forum requesting help.This kernel parameter sets some extra logging parameters so there are more messages to help with troubleshooting SOF issues. For some reason, just turning on that logging helps these specific computer models fix audio issues.
If it works, you can either make the kernel parameter permanent, or you can add the following line to the end of the /etc/modprobe.d/alsa-base.conf file.
Code: Select all
options snd_sof sof_debug=1
.
in it and does not have the word options
so take care to use the correct term for the correct location. Do only one of the two options; you do not need both.Surround Sound
If you are running a version of Linux Mint 21 and have a 5.1 or 7.1 surround sound system and you play a stereo file, the sound will not
automatically come out of all your speakers if you have a version of Pipewire 0.3.68 or newer. Upmixing to multichannel was disabled in Pipewire version 0.3.68. Here is the reference for the below instructions to enable upmixing for PulseAudio clients.
- Go to the hidden config directory in your computer's home folder and create a
pipewire
folder if one does not exist. - Inside the pipewire folder create a
pipewire-pulse.conf.d
folder if one does not exist. - Inside the pipewire-pulse.conf.d folder create a file named
40-upmix.conf
with the following content:Code: Select all
# Enables upmixing stream.properties = { channelmix.upmix = true channelmix.upmix-method = psd channelmix.lfe-cutoff = 150 channelmix.fc-cutoff = 12000 channelmix.rear-delay = 12.0 }
- Save the file.
Code: Select all
cat ~/.config/pipewire/pipewire-pulse.conf.d/40-upmix.conf
Apple computers with CS8409 sound cards
These directions are specifically for Apple computers which have the CS8409 sound card. The first solution has worked for those with the following: MacBookPro 14,1, iMac 18,1 and iMac 18,3. It may work for others if they also have the same sound card.
Check to see if your computer has this sound card by running
Code: Select all
journalctl -k | grep -Ei "ALSA|HDA|sof[-]|HDMI|snd[_-]|sound|hda.codec|hda.intel"
snd_hda_codec_cs8409
similar to the following:
Code: Select all
kernel: snd_hda_codec_cs8409 hdaudioC0D0: autoconfig for CS8409: line_outs=2 (0x24/0x25/0x0/0x0/0x0) type:speaker
kernel: snd_hda_codec_cs8409 hdaudioC0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
kernel: snd_hda_codec_cs8409 hdaudioC0D0: hp_outs=1 (0x2c/0x0/0x0/0x0/0x0
kernel: snd_hda_codec_cs8409 hdaudioC0D0: mono: mono_out=0x0
kernel: snd_hda_codec_cs8409 hdaudioC0D0: inputs:
kernel: snd_hda_codec_cs8409 hdaudioC0D0: Internal Mic=0x44
kernel: snd_hda_codec_cs8409 hdaudioC0D0: Mic=0x3c
If you do have the CS8409 sound card, below are directions for several options you can try. Neither option specifies an iMac version. The GitHub for the first option says, "Linux Kernel Sound Driver for Cirrus Logic CS8409 (e.g. for iMac27 5k)". The GitHub for the second option says, "Kernel audio driver for Macs with 8409 HDA chip + MAX98706/SSM3515 amps".
This first option has worked for most people.
- Take a Timeshift snapshot of your system. If you have Timeshift already running you may have one, but you can also take a one-time manual snapshot. Here is the method I use How to Use Timeshift to Backup and Restore Linux Mint 19 Systems from USB Drive. (It works the same for LM20 and LM21.)
- Install git:
sudo apt install git
- Clone the driver code:
git clone https://github.com/egorenar/snd-hda-codec-cs8409.git
- Switch to the directory so you can compile the code:
cd snd-hda-codec-cs8409
- Run:
make
- Run:
sudo make install
- Reboot the computer.
If that first option does not work, there is another option you can try.
- Restore to your Timeshift snapshot from before trying the first method.
- Install git:
sudo apt install git
- Install other packages (some of these may already be on your install):
apt install wget make gcc linux-headers-generic
- Clone the driver code:
git clone https://github.com/davidjo/snd_hda_macbookpro.git
- Switch to the directory so you can compile the code:
cd snd_hda_macbookpro/
- Run:
sudo ./install.cirrus.driver.sh
- Reboot the computer.
Tips continued in the next post.