diff --git a/content/audio.md b/content/audio.md
index 6cb1390f1d..70ba8f6169 100644
--- a/content/audio.md
+++ b/content/audio.md
@@ -1,13 +1,17 @@
---
-title: Audio Troubleshooting
+title: Audio Troubleshooting Guide
description: >
Here is how to fix several common audio issues with your computer.
keywords:
- - audio
- - dummy output
- - alsa
- - pulseaudio
- - pulse audio
+ - audio
+ - dummy output
+ - alsa
+ - pulseaudio
+ - pulse audio
+ - pipewire
+ - pipe wire
+ - wireplumber
+ - wire plumber
facebookImage: /_social/article
twitterImage: /_social/article
@@ -17,50 +21,98 @@ section: software-troubleshooting
tableOfContents: true
---
-Sound settings or packages related to the sound system can become corrupt or broken. Many times, deleting the configuration files, reinstalling the sound-related packages, and restarting the audio software can help. These commands can also help fix the Sound settings showing "Dummy Output" as the audio output.
+If your system has no sound, distorted sound, or missing input/output devices, this guide will walk you through verifying hardware, reloading drivers, and resetting audio services for Pop!_OS 22.04 and Pop!_OS 24.04.
-## Reset Audio Software (server)
+## Verify if the Correct Device is Selected
-If the system is not playing audio, first try restarting the audio daemon:
+If the system is not playing any audio, you can confirm the selected device from the System Settings.
-| PulseAudio | PipeWire |
-| :--------- | :-------|
-| Ubuntu pre-22.10 and Pop!\_OS pre-22.04 | Ubuntu 22.10+ and Pop!\_OS 22.04+ |
-| `systemctl --user restart pulseaudio` | `systemctl --user restart wireplumber pipewire pipewire-pulse` |
-| `rm -r ~/.config/pulse` | `rm -r ~/.config/pulse` |
-| `pulseaudio -k` | |
+Go to Launcher and search for Sound:
-This set of commands first restarts the sound daemon and removes the user's configuration for PulseAudio. On systems still using PulseAudio as a server, it restarts the PulseAudio server, which will create new default audio configuration files.
+
+
+Under the Sound Settings, the Input and Output Device selected will be displayed:
+
+
+
+## Verify Audio Devices Detected by the System
+
+Below are set of commands that can be used to detect various information about your audio device.
+
+List all detected audio devices:
+
+```
+aplay -l
+```
+
+List audio input devices:
+
+```
+arecord -l
+```
+
+List the current sound cards:
+
+```
+cat /proc/asound/cards
+```
+
+List kernel modules related to audio:
+
+```
+sudo lspci -k | grep -A 3 -i audio
+```
+
+Your audio devices should appear in these lists.
+
+If not, this may be a driver issue.
+
+## Restart the Audio Services
+
+Restart the audio daemon:
+
+```
+systemctl --user restart wireplumber pipewire pipewire-pulse
+```
+```
+rm -r ~/.config/pulse
+```
+
+This set of commands restarts the PipeWire audio server and its associated services for the current user. This also removes the PulseAudio configuration and will create new default audio configuration files.
## Check the PulseAudio Controls
-The program PulseAudio Volume Control is helpful in figuring out which program is producing audio, where that audio is being routed, what the default input/output devices are, and what the volume levels are set to. It can be installed using the Pop!\_Shop, or with this command:
+The program PulseAudio Volume Control is helpful in figuring out which program is producing audio, where that audio is being routed, what the default input/output devices are, and what the volume levels are set to. It can be installed using the Pop!_Shop or Cosmic Store:
+
+
+
+or with this command:
```
sudo apt install pavucontrol
```
-Once installed, open the PulseAudio Volume Control app in the Activities or Applications menu, or run `pavucontrol` in a terminal.
+Once installed, open the PulseAudio Volume Control app in the Activities or Applications menu, or run pavucontrol in a terminal.
The "Playback" tab will show a list of applications that are currently playing audio. The volume for each application can be individually controlled.
-
+
Similarly, the "Recording" tab will show a list of applications that are currently recording audio.
-
+
The "Output Devices" tab shows a list of output devices, and an indicator of what's being played out of each device. The green checkmark being selected indicates a device is the default output device.
-
+
The "Input Devices" tab shows a similar list for input devices.
-
+
Under "Configuration," each sound card should be listed.
-
+
## Troubleshooting ALSA
@@ -82,23 +134,13 @@ A device may be muted in the ALSA mixer, which will override any PulseAudio volu
alsamixer
```
-You can navigate between the different volume meters using the left and right arrow keys. Each meter can be adjusted using the up and down arrow keys. An "MM" at the bottom of a meter indicates that meter is muted. If the PulseAudio Volume Control shows that sound is playing, but you don't hear any sound, try unmuting all of the volume meters in alsamixer by pressing the M key while each meter is selected.
+You can navigate between the different volume meters using the left and right arrow keys. Each meter can be adjusted using the up and down arrow keys. An "MM" at the bottom of a meter indicates that meter is muted. If the PulseAudio Volume Control shows that sound is playing, but you don't hear any sound, try unmuting all of the volume meters in alsamixer by pressing the M key while each meter is selected.
-
+
If your system has more than one sound card (for example, an Intel sound card and an NVIDIA sound card in switchable-graphics systems), you can switch between them by pressing F6.
-
-
-## Check if Hardware is Detected
-
-If ALSA doesn't list a sound card, it may not be physically detected by the system at all. If the Linux kernel sees a sound card, it will show up in your `lspci` output. This command will list every sound card your system detects, and show the driver being used for each one:
-
-```
-lspci -v | grep -A6 Audio
-```
-
-If the output from that command is blank, then your system isn't detecting any sound cards (which could indicate a hardware issue.)
+
## Other Useful Commands
@@ -144,74 +186,33 @@ If you would like to monitor PipeWire, run:
pw-top
```
-## Configuration Tweaks
-
-Some particular problems may be solved by tweaks to ALSA or PulseAudio configuration. Clearing the current settings for Pipewire or PulseAudio may allow the defaults to be used again. To revert to defaults and clear any current saved settings run the following commands:
-
-```
-rm -r ~/.config/pulse/*
-rm -r ~/.local/state/wireplumber/*
-```
-
-**NOTE:** When running those commands you may see messages similar to this: `rm: cannot remove '/home/ckw/.config/pulse/*': No such file or directory` those are safe to ignore as the file simply does not exist.
+## Installing Sound Open Firmware Binaries
-### Audio crackling or hardware clicking
+This firmware is essential for proper audio functionality on systems using Intel audio hardware that relies on Sound Open Firmware.
-If you hear audio crackling (especially when you start or stop playing audio), your audio card may be going to sleep too often. This is known to happen on some versions of the [Serval WS](/articles/serval-dac/) and some [Thunderbolt docks](https://github.com/system76/docs/issues/491).
+To install, run the command:
-#### Prevent Crackling with PipeWire/WirePlumber
-
-For Pop!_OS 22.04 and newer (and other distributions using PipeWire with WirePlumber), these two commands will disable this behavior and restart PipeWire:
-
-```bash
-sudo sed -i 's/--\["session.suspend-timeout-seconds"\] = 5/\["session.suspend-timeout-seconds"\] = 0/' /usr/share/wireplumber/main.lua.d/50-alsa-config.lua
-systemctl restart --user pipewire.service
```
-
-This change can be undone using these commands:
-
-```bash
-sudo sed -i 's/\["session.suspend-timeout-seconds"\] = 0/--\["session.suspend-timeout-seconds"\] = 5/' /usr/share/wireplumber/main.lua.d/50-alsa-config.lua
-systemctl restart --user pipewire.service
+sudo apt update
+sudo apt upgrade
+sudo apt install firmware-sof-signed
```
-#### Prevent Crackling with PulseAudio
+## Installing Alsa Firmware Loaders
-For older versions of Pop!_OS or distributions using PulseAudio without PipeWire, these two commands will disable this behavior and restart PulseAudio:
+This package provides firmware files that may be necessary for certain sound cards to function correctly with the Advanced Linux Sound Architecture (ALSA).
-```bash
-sudo sed -i 's/load-module module-suspend-on-idle/#load-module module-suspend-on-idle/' /etc/pulse/default.pa
-pulseaudio -k
-```
-
-This change can be undone using these commands:
+To install, run the command:
-```bash
-sudo sed -i 's/#load-module module-suspend-on-idle/load-module module-suspend-on-idle/' /etc/pulse/default.pa
-pulseaudio -k
```
-
-### PCI/internal sound card not detected (dummy output)
-
-With hardware that uses the `snd_hda_intel` kernel module, rare [bugs](https://bugs.launchpad.net/ubuntu/+source/linux-oem-osp1/+bug/1864061) can cause the sound card to not be detected. If you're having this issue, try running these commands to force the usage of a specific audio driver:
-
-```
-echo "options snd-hda-intel dmic_detect=0" | sudo tee -a /etc/modprobe.d/alsa-base.conf
-echo "blacklist snd_soc_skl" | sudo tee -a /etc/modprobe.d/blacklist.conf
+sudo apt update
+sudo apt upgrade
+sudo apt install alsa-firmware-loaders
```
-Reboot after making the changes. If this doesn't solve the issue, undo the changes using these commands:
-
-```
-sudo sed -i 's/options snd-hda-intel dmic_detect=0//' /etc/modprobe.d/alsa-base.conf
-sudo sed -i 's/blacklist snd_soc_skl//' /etc/modprobe.d/blacklist.conf
-```
-
-Then reboot again.
-
## Gather Information for Support
-The `alsa-info` command will gather a number of outputs, including some of the above-listed outputs, and package them so they can be shared easily. In a terminal, run the command:
+The 'alsa-info' command will gather a number of outputs, including some of the above-listed outputs, and package them so they can be shared easily. In a terminal, run the command:
```
alsa-info
@@ -219,4 +220,4 @@ alsa-info
When the script is finished gathering information, type y and press Enter to upload your output to the ALSA website, then send the link to Support.
-
+
diff --git a/package.json b/package.json
index 9d8adb87d4..f1faf8f72d 100644
--- a/package.json
+++ b/package.json
@@ -35,5 +35,19 @@
"postcss": "^8.4.29",
"shiki": "^0.9.3",
"unist-util-visit": "^2.0.3"
- }
+ },
+ "description": "The docs system is powered by [NuxtJS][1] with [`@nuxtjs/content`][2],\r [tailwindcss][3], and some other packages. It uses Markdown in the `/content/`\r folder to render every article. If you don't know what Markdown is (or need a\r refresher), take a minute to look over [the basics][4].",
+ "main": ".eslintrc.js",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/system76/docs.git"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "type": "commonjs",
+ "bugs": {
+ "url": "https://github.com/system76/docs/issues"
+ },
+ "homepage": "https://github.com/system76/docs#readme"
}
diff --git a/static/images/audio/alsa-info.png b/static/images/audio/alsa-info.png
deleted file mode 100644
index 49a489e812..0000000000
Binary files a/static/images/audio/alsa-info.png and /dev/null differ
diff --git a/static/images/audio/alsa_audio_5.png b/static/images/audio/alsa_audio_5.png
new file mode 100644
index 0000000000..d190fe784b
Binary files /dev/null and b/static/images/audio/alsa_audio_5.png differ
diff --git a/static/images/audio/alsamixer-main.png b/static/images/audio/alsamixer-main.png
deleted file mode 100644
index db705584d8..0000000000
Binary files a/static/images/audio/alsamixer-main.png and /dev/null differ
diff --git a/static/images/audio/alsamixer-soundcard.png b/static/images/audio/alsamixer-soundcard.png
deleted file mode 100644
index 612eefcb49..0000000000
Binary files a/static/images/audio/alsamixer-soundcard.png and /dev/null differ
diff --git a/static/images/audio/audio_1.png b/static/images/audio/audio_1.png
new file mode 100644
index 0000000000..61791f3ac9
Binary files /dev/null and b/static/images/audio/audio_1.png differ
diff --git a/static/images/audio/audio_10.png b/static/images/audio/audio_10.png
new file mode 100644
index 0000000000..d190fe784b
Binary files /dev/null and b/static/images/audio/audio_10.png differ
diff --git a/static/images/audio/audio_11.png b/static/images/audio/audio_11.png
new file mode 100644
index 0000000000..c0a3f08ad2
Binary files /dev/null and b/static/images/audio/audio_11.png differ
diff --git a/static/images/audio/audio_2.png b/static/images/audio/audio_2.png
new file mode 100644
index 0000000000..d5bccfb465
Binary files /dev/null and b/static/images/audio/audio_2.png differ
diff --git a/static/images/audio/audio_3.png b/static/images/audio/audio_3.png
new file mode 100644
index 0000000000..ab86d2d112
Binary files /dev/null and b/static/images/audio/audio_3.png differ
diff --git a/static/images/audio/audio_4.png b/static/images/audio/audio_4.png
new file mode 100644
index 0000000000..6a01dc7eed
Binary files /dev/null and b/static/images/audio/audio_4.png differ
diff --git a/static/images/audio/audio_5.png b/static/images/audio/audio_5.png
new file mode 100644
index 0000000000..f778d6c1de
Binary files /dev/null and b/static/images/audio/audio_5.png differ
diff --git a/static/images/audio/audio_6.png b/static/images/audio/audio_6.png
new file mode 100644
index 0000000000..342a04972a
Binary files /dev/null and b/static/images/audio/audio_6.png differ
diff --git a/static/images/audio/audio_7.png b/static/images/audio/audio_7.png
new file mode 100644
index 0000000000..2bc58413c3
Binary files /dev/null and b/static/images/audio/audio_7.png differ
diff --git a/static/images/audio/audio_8.png b/static/images/audio/audio_8.png
new file mode 100644
index 0000000000..8bf0da1934
Binary files /dev/null and b/static/images/audio/audio_8.png differ
diff --git a/static/images/audio/audio_9.png b/static/images/audio/audio_9.png
new file mode 100644
index 0000000000..1bce57d05e
Binary files /dev/null and b/static/images/audio/audio_9.png differ
diff --git a/static/images/audio/gather_audio_2.png b/static/images/audio/gather_audio_2.png
new file mode 100644
index 0000000000..c0a3f08ad2
Binary files /dev/null and b/static/images/audio/gather_audio_2.png differ
diff --git a/static/images/audio/pavucontrol-configuration.png b/static/images/audio/pavucontrol-configuration.png
deleted file mode 100644
index 20d5c6ac7f..0000000000
Binary files a/static/images/audio/pavucontrol-configuration.png and /dev/null differ
diff --git a/static/images/audio/pavucontrol-input.png b/static/images/audio/pavucontrol-input.png
deleted file mode 100644
index db9b852d33..0000000000
Binary files a/static/images/audio/pavucontrol-input.png and /dev/null differ
diff --git a/static/images/audio/pavucontrol-output.png b/static/images/audio/pavucontrol-output.png
deleted file mode 100644
index f40dadccea..0000000000
Binary files a/static/images/audio/pavucontrol-output.png and /dev/null differ
diff --git a/static/images/audio/pavucontrol-playback.png b/static/images/audio/pavucontrol-playback.png
deleted file mode 100644
index 18929f5b71..0000000000
Binary files a/static/images/audio/pavucontrol-playback.png and /dev/null differ
diff --git a/static/images/audio/pavucontrol-recording.png b/static/images/audio/pavucontrol-recording.png
deleted file mode 100644
index 63e37f875e..0000000000
Binary files a/static/images/audio/pavucontrol-recording.png and /dev/null differ