# Fedora Audio Troubleshooting Guide

> When addressing audio issues audio issues usually come down to one of the following Power something off and on restart a system service and reinstall the app

Source: https://knowledgebase.frame.work/en_us/fedora-audio-troubleshooting-guide-BJAe1Kr0o

Last updated: 2025-09-17T06:39:32.731Z

**Compatibility:** This guide works with PipeWire, ALSA across all major Linux distributions, with specific focus on Fedora, Bazzite, and Bluefin.

  

### Table of Contents

*   📋 [Overview & Common Issues](#overview)
*   🔍 [Step 1: Run the Diagnostic Script](#diagnostic)
*   ⚙️ [Step 2: Check Basic Configuration](#basic-config)
*   🔧 [Step 3: Quick Fixes Based on Results](#quick-fixes)
*   🔄 [Step 4: Service Management](#service-management)
*   🎤 [Microphone Troubleshooting](#microphone)
*   💤 [Step 5: After Suspend/Resume Issues](#suspend-resume)
*   📊 [Step 6: Generate Full Diagnostic Report](#full-report)

##   

## Overview & Common Issues

  

When addressing audio issues, problems usually come down to one of the following:

*   **Power cycling** - Turning hardware or services off and on
*   **Restarting system services** - Refreshing audio daemons
*   **Configuring the correct audio profile** - Ensuring proper device selection
*   **Reinstalling appropriate libraries** - Fixing corrupted packages

**Important:** Sometimes the audio IS working despite what you may see or hear. Often it's merely something on the user configuration side that is causing the issue.

  

**Common Quick Checks:**

*   No audio with YouTube/media? Check your system sound settings to see if the sound meter shows activity
*   If the meter doesn't move, you may be muted - press the Volume Up key on your keyboard
*   Check for attached USB headsets and 3.5mm jack connections to earbuds
*   Verify the video/media isn't muted in the browser

![Sound Settings Activity Meter](https://cdn.kustomerhostedcontent.com/media/6047cd84502177bce9fccae2/672cb01633b5c944b5261574a5436a9e.png)

## Step 1: Run the Diagnostic Script

  

### 🚀 Quick Start: Automated Diagnosis

  

**First,** [**download and use**](https://github.com/FrameworkComputer/linux-docs/tree/main/misc/audio-diagnostic#-linux-audio-diagnostic-script) **our diagnostic script to identify the exact issue:**

\# One-line download and run
curl -s https://raw.githubusercontent.com/FrameworkComputer/linux-docs/refs/heads/main/misc/audio-diagnostic/audio-diagnostic.sh -o audio-diagnostic.sh && chmod +x audio-diagnostic.sh && bash audio-diagnostic.sh

  

**Alternative step-by-step approach:**

\# 1. Download the script
curl -s https://raw.githubusercontent.com/FrameworkComputer/linux-docs/refs/heads/main/misc/audio-diagnostic/audio-diagnostic.sh -o audio-diagnostic.sh

# 2. Make it executable
chmod +x audio-diagnostic.sh

# 3. Run basic diagnostic
./audio-diagnostic.sh

# 4. Run with test tone to verify audio output
./audio-diagnostic.sh -t

# 5. Check recent issues (useful after suspend/resume)
./audio-diagnostic.sh --since "10 minutes ago"

# 6. Verbose mode for detailed information
./audio-diagnostic.sh -v

  

**Note:** The audio-diagnostic.sh script is a comprehensive universal audio diagnostic tool that checks your audio services, defaults, routing, profiles, and logs. Works with PipeWire, ALSA.

  

**Understanding the script output:**

✅ Green checkmarks = Working correctly

⚠️ Yellow warnings = Potential issues to investigate

❌ Red X marks = Problems found

ℹ️ Info icons = Important information

##   

## Step 2: Check Basic Configuration

  

**Before diving into terminal commands, check these common issues:**

1.  **Check System Sound Settings**
    *   Open Settings → Sound → Output Device
    *   Verify the correct output device is selected
    *   Check that volume is not muted or at zero
    *   Watch the visual meter while playing audio
2.  **Verify Physical Connections**
    *   Ensure headphones/speakers are properly connected
    *   Check USB connections for external audio devices
    *   Try different ports if available
3.  **Test with Different Applications**
    *   Try playing audio from different sources
    *   Test system sounds (Settings → Sound → Sound Effects)
    *   Use `speaker-test -c 2` in terminal for basic test

##   

## Step 3: Quick Fixes Based on Script Results

  

### If script shows "Dummy Output" or "No Default Sink":

  

#### Quick Fix:

\# Restart all audio services
systemctl --user restart wireplumber pipewire pipewire-pulse

# Check if services are running
systemctl --user status pipewire pipewire-pulse wireplumber

# View audio devices and routing
wpctl status

\# Check audio system info via PulseAudio layer
pactl info

# Note: pactl commands work with PipeWire's PulseAudio compatibility layer

###   

### If script shows wrong device selected:

\# For PipeWire/WirePlumber:
# Set default output (replace 67 with your device ID from wpctl status)
wpctl set-default 67

# Or use pactl commands (PipeWire provides PulseAudio compatibility):
# List sinks
pactl list short sinks

# Set default (use the NAME from the list)
pactl set-default-sink alsa\_output.pci-0000\_00\_1f.3.analog-stereo

# Or use GUI: Settings → Sound → Output Device

###   

### If script shows profile is OFF:

\# Check device profiles
pw-cli ls Device  # For PipeWire
pactl list cards  # Works with PipeWire's compatibility layer

# Or use GUI: Settings → Sound → Configuration → Select "Analog Stereo Duplex"

##   

## Step 4: Service Management - FEDORA SPECIFIC

  

**⚠️ FEDORA ONLY:** Fedora uses PipeWire as its audio system. These commands are specific to Fedora.

###   

### Restarting Audio Services on Fedora

  

**Recap of above:** Most Fedora audio issues can be resolved with:

systemctl --user restart wireplumber pipewire pipewire-pulse

\# FEDORA: Restart PipeWire services
systemctl --user restart wireplumber pipewire pipewire-pulse

# FEDORA: Check service status
systemctl --user status pipewire pipewire-pulse wireplumber

# FEDORA: If you need to stop and start services separately
systemctl --user stop wireplumber pipewire pipewire-pulse
systemctl --user start pipewire pipewire-pulse wireplumber

# FEDORA: Enable services to start on boot
systemctl --user enable pipewire pipewire-pulse wireplumber

# FEDORA: Reset PipeWire configuration to defaults
systemctl --user mask --now pipewire.socket pipewire.service
systemctl --user unmask pipewire.socket pipewire.service
systemctl --user restart pipewire pipewire-pulse wireplumber

###   

  

### Fedora Package Reinstallation Commands

  

#### Reinstall PipeWire on Fedora:

\# FEDORA: Complete PipeWire reinstallation
sudo dnf reinstall pipewire

# FEDORA: Reinstall all PipeWire components
sudo dnf reinstall pipewire pipewire-pulse pipewire-utils wireplumber

# FEDORA: Install additional PipeWire packages if missing
sudo dnf install pipewire-alsa pipewire-jack-audio-connection-kit

# FEDORA: Force reinstall with all dependencies
sudo dnf reinstall pipewire\* wireplumber\*

####   

#### Reinstall ALSA on Fedora:

\# FEDORA: Reinstall ALSA packages
sudo dnf reinstall alsa-lib alsa-utils

# FEDORA: Install firmware if missing
sudo dnf install alsa-firmware

# FEDORA: Reinstall all ALSA-related packages
sudo dnf reinstall alsa\*

# FEDORA: Reload ALSA after reinstall
sudo alsactl restore

####   

#### Additional Fedora-Specific Troubleshooting:

\# FEDORA: Check for package conflicts
sudo dnf check

# FEDORA: Update all audio-related packages
sudo dnf update pipewire\* alsa\* wireplumber

# FEDORA: Clean DNF cache and reinstall
sudo dnf clean all
sudo dnf reinstall pipewire pipewire-pulse wireplumber alsa-lib

# FEDORA: Remove and reinstall PipeWire completely
sudo dnf remove pipewire\* wireplumber
sudo dnf install pipewire pipewire-pulse pipewire-utils wireplumber pipewire-alsa

# FEDORA: Check audio group membership
sudo usermod -a -G audio $USER

  

**Fedora Note:** After reinstalling packages, always restart the audio services using:  
`systemctl --user restart wireplumber pipewire pipewire-pulse`

##   

## Microphone Troubleshooting

**Framework Laptop Users:** First, ensure the hardware privacy switch at the top of your screen isn't toggled off!

###   

### Hardware Privacy Switch (Framework Laptops)

**Toggled off, no input:**

![Microphone Switch Off](https://cdn.kustomerhostedcontent.com/media/6047cd84502177bce9fccae2/fb4dd97198f76828dade0077dfc406f1.jpg)

**Toggled on, mic has input and is active:**

![Microphone Switch On](https://cdn.kustomerhostedcontent.com/media/6047cd84502177bce9fccae2/0efaf0d73139dbc3639313de6b403816.jpg)

###   

### Check if Input Registers in Sound Settings

![Input Level Meter](https://cdn.kustomerhostedcontent.com/media/6047cd84502177bce9fccae2/3ee1ac44fe9553e75ebb17693776a0f2.png)

If the input level does not register when you speak, check the following:

#### 1\. Ensure the microphone is not muted in Settings:

*   Open Settings → Sound → Input
*   Check that the microphone slider is not all the way to the left (muted)
*   Ensure the correct input device is selected from the dropdown
*   Test by speaking and watching the input level meter

![Microphone Settings](https://cdn.kustomerhostedcontent.com/media/6047cd84502177bce9fccae2/ed25a158df90285742fc50451547f0e4.png)

#### 2\. Check application-specific permissions:

*   Some applications (Zoom, Teams, Discord) have their own audio settings
*   Check Settings → Privacy → Microphone to ensure apps have permission
*   For browsers, check site permissions (usually a microphone icon in the address bar)

#### 3\. Verify the correct input device is selected:

*   You may have multiple input devices (built-in mic, USB webcam mic, Bluetooth headset)
*   The wrong device might be selected as default
*   In Settings → Sound → Input, select the correct device from the dropdown

**Command Line Microphone Troubleshooting**

\# For PipeWire:
# Check microphone volume
wpctl get-volume @DEFAULT\_AUDIO\_SOURCE@

# Unmute microphone if muted
wpctl set-mute @DEFAULT\_AUDIO\_SOURCE@ 0

# Set microphone volume (0.0 to 1.0)
wpctl set-volume @DEFAULT\_AUDIO\_SOURCE@ 0.75

# Using pactl (works with PipeWire's compatibility layer):
# Check default source
pactl info | grep "Default Source"

# Set source volume
pactl set-source-volume @DEFAULT\_SOURCE@ 75%

# Unmute source
pactl set-source-mute @DEFAULT\_SOURCE@ 0

# Test microphone with recording (universal)
arecord -d 5 test.wav && aplay test.wav

##   

## Step 5: After Suspend/Resume Issues

Audio breaking after suspend/resume is a common issue. Here's how to diagnose and fix it:

\# Check what happened during resume
journalctl --user -u wireplumber --since "5 minutes ago"
# Check PipeWire logs:
journalctl --user -u pipewire --since "5 minutes ago"

# Run diagnostic script to check for issues
./audio-diagnostic.sh --since "10 minutes ago" -v

# Quick fix - restart audio services
systemctl --user restart wireplumber pipewire pipewire-pulse

**Tip:** You can create a script to automatically restart audio services after resume if this is a recurring issue.

##   

## Step 6: Generate Full Diagnostic Report

If problems persist, generate a complete diagnostic report to share when seeking help:

(
    echo "=== Audio Diagnostic Report ==="
    echo "Date: $(date)"
    echo "System: $(uname -a)"
    echo "Distribution: $(cat /etc/os-release | grep PRETTY\_NAME)"
    echo
    echo "=== Script Diagnostic ==="
    ./audio-diagnostic.sh -v
    echo
    echo "=== Audio Status ==="
    wpctl status 2>/dev/null || pactl info
    echo
    echo "=== Audio Devices ==="
    aplay -l
    arecord -l
    echo
    echo "=== Recent Logs ==="
    journalctl --user -u wireplumber -u pipewire --since "1 hour ago" --no-pager
    echo
    echo "=== Kernel Modules ==="
    lsmod | grep -E 'snd|audio'
    echo
    echo "=== Package Versions ==="
    if command -v dnf &> /dev/null; then
        rpm -qa | grep -E 'pipewire|alsa|wireplumber'
    elif command -v apt &> /dev/null; then
        dpkg -l | grep -E 'pipewire|alsa|wireplumber'
    fi
) > audio-report-$(date +%Y%m%d-%H%M%S).txt

echo "Report saved to audio-report-\*.txt"

##
