# Dokumentasi Perbaikan Audio Pop!_OS 24.04
**Tanggal:** 17 Desember 2025
**Sistem:** Pop!_OS 24.04 NVIDIA Edition
**Audio System:** PipeWire 1.4.2 + WirePlumber
—
## 📋 Ringkasan Masalah
Setelah instalasi Pop!_OS 24.04, audio tidak berfungsi baik untuk output analog (speaker/headphone) maupun HDMI.
### Hardware Audio Terdeteksi:
1. **NVIDIA GPU Audio** (card 0) – untuk HDMI/DisplayPort
– Device: `HDA NVidia (0x22eb)`
– 4 output HDMI tersedia
2. **AMD HD Audio** (card 2) – untuk speaker/headphone analog
– Device: `Realtek ALC897`
– Output: Line Out, Headphones
– Input: Front Mic, Rear Mic, Line In
3. **Logitech Webcam C310** (card 1) – microphone saja
—
## 🔍 Root Cause Analysis
### Masalah yang Ditemukan:
1. **Default Audio = Dummy Device**
– Default sink: `auto_null` (tidak menghasilkan suara)
2. **Kartu Audio Dalam Status “OFF”**
– NVIDIA card: Active Profile = `off`
– AMD card: Active Profile = `off`
3. **Jack Detection Gagal**
– Semua port menunjukkan `not available`
– Sistem tidak mendeteksi speaker/headphone terpasang
– Ini adalah bug umum di beberapa motherboard AMD
4. **Profile HDMI-Specific Tidak Available**
– Profile `output:hdmi-stereo` dst menunjukkan `available: no`
– Solusi: gunakan profile `pro-audio` yang selalu available
—
## ✅ Solusi yang Diterapkan
### 1. Aktivasi Manual Kartu Audio
“`bash
# Aktifkan AMD card (speaker/headphone)
pactl set-card-profile alsa_card.pci-0000_37_00.6 pro-audio
# Aktifkan NVIDIA card (HDMI)
pactl set-card-profile alsa_card.pci-0000_01_00.1 pro-audio
“`
### 2. Konfigurasi Permanent WirePlumber
**File:** `~/.config/wireplumber/main.lua.d/51-alsa-custom.lua`
“`lua
— Set AMD HD Audio to pro-audio profile by default
amd_rule = {
matches = {
{
{ “device.name”, “equals”, “alsa_card.pci-0000_37_00.6” },
},
},
apply_properties = {
[“device.profile”] = “pro-audio”,
},
}
table.insert(alsa_monitor.rules, amd_rule)
— Set NVIDIA HDMI to pro-audio profile by default
nvidia_rule = {
matches = {
{
{ “device.name”, “equals”, “alsa_card.pci-0000_01_00.1” },
},
},
apply_properties = {
[“device.profile”] = “pro-audio”,
},
}
table.insert(alsa_monitor.rules, nvidia_rule)
“`
**Fungsi:** Otomatis mengaktifkan kedua kartu audio setiap boot dengan profile `pro-audio`
### 3. Restart Audio Services
“`bash
systemctl –user restart pipewire wireplumber
“`
—
## 🔊 Output Audio yang Tersedia
Setelah perbaikan, output audio yang tersedia:
| ID | Device Name | Deskripsi | Lokasi Fisik |
|—|—|—|—|
| 58 | `alsa_output.pci-0000_37_00.6.pro-output-0` | Analog Output | Jack hijau motherboard (Line Out / Headphones) |
| 99 | `alsa_output.pci-0000_01_00.1.pro-output-3` | HDMI 1 | Port HDMI pertama GPU |
| 100 | `alsa_output.pci-0000_01_00.1.pro-output-7` | HDMI 2 | Port HDMI kedua GPU |
| 101 | `alsa_output.pci-0000_01_00.1.pro-output-8` | HDMI 3 | Port HDMI ketiga GPU |
| 102 | `alsa_output.pci-0000_01_00.1.pro-output-9` | HDMI 4 | Port HDMI keempat GPU |
**Catatan:** Nomor output HDMI (3,7,8,9) tidak berurutan karena mengikuti konvensi ALSA device numbering.
—
## 🎯 Cara Menggunakan
### Melihat Daftar Output Audio
“`bash
pactl list sinks short
“`
### Switch ke HDMI (Monitor/TV)
“`bash
# HDMI 1 (biasanya port pertama yang aktif)
pactl set-default-sink alsa_output.pci-0000_01_00.1.pro-output-3
# Atau lewat GUI: Settings → Sound → Output Device
“`
### Switch ke Speaker/Headphone Analog
“`bash
pactl set-default-sink alsa_output.pci-0000_37_00.6.pro-output-0
“`
### Cek Default Output Saat Ini
“`bash
pactl info | grep “Default Sink”
“`
### Test Audio
“`bash
# Speaker test (akan bunyi “Front Left” dan “Front Right”)
speaker-test -t wav -c 2 -l 1
# Atau putar file audio
paplay /usr/share/sounds/freedesktop/stereo/bell.oga
“`
### Cek Volume
“`bash
# Interactive mixer
alsamixer
# Cek volume Master
amixer sget Master
“`
—
## 🔧 Troubleshooting
### HDMI Tidak Bunyi
1. **Cek monitor/TV mendukung audio HDMI**
– Beberapa monitor tidak punya speaker built-in
– Cek volume di monitor/TV tidak mute
2. **Coba output HDMI lain**
“`bash
# Jika port fisik berbeda, coba output 7, 8, atau 9
pactl set-default-sink alsa_output.pci-0000_01_00.1.pro-output-7
speaker-test -t wav -c 2 -l 1
“`
3. **Cek kabel HDMI tersambung dengan baik**
“`bash
# Lihat port mana yang connected
for port in /sys/class/drm/card0-*/status; do
echo “$port: $(cat $port)”
done
“`
### Speaker/Headphone Tidak Bunyi
1. **Pastikan colok ke jack yang benar**
– Jack hijau = Line Out / Speaker
– Jack merah muda = Microphone
– Biasanya di belakang motherboard
2. **Cek volume tidak mute**
“`bash
alsamixer
# Tekan M untuk unmute jika ada “MM” di channel
“`
3. **Test dengan command**
“`bash
pactl set-default-sink alsa_output.pci-0000_37_00.6.pro-output-0
speaker-test -t wav -c 2 -l 1
“`
### Audio Hilang Setelah Reboot
1. **Cek konfigurasi WirePlumber masih ada**
“`bash
cat ~/.config/wireplumber/main.lua.d/51-alsa-custom.lua
“`
2. **Restart audio services**
“`bash
systemctl –user restart pipewire wireplumber
sleep 3
pactl list sinks short
“`
3. **Cek log WirePlumber untuk error**
“`bash
journalctl –user -u wireplumber -n 50
“`
### Aplikasi Tertentu Tidak Ada Suara
1. **Aplikasi mungkin menggunakan output lama**
– Restart aplikasi setelah switch output
– Atau atur output per-aplikasi di Settings → Sound → Applications
2. **Cek aplikasi tidak mute**
“`bash
pavucontrol # Install jika belum ada: sudo apt install pavucontrol
“`
—
## 📊 Verifikasi Status Audio
### Command Diagnostik Lengkap
“`bash
# 1. Cek hardware audio terdeteksi
lspci | grep -i audio
cat /proc/asound/cards
# 2. Cek PipeWire running
systemctl –user status pipewire pipewire-pulse wireplumber
# 3. Cek kartu audio dan profil aktif
pactl list cards short
pactl list cards | grep -E “Name:|Active Profile:”
# 4. Cek output audio tersedia
pactl list sinks short
# 5. Cek default output
pactl info | grep “Default Sink”
# 6. Cek volume
amixer sget Master
# 7. Test suara
speaker-test -t wav -c 2 -l 1
“`
### Output yang Diharapkan
**Status Normal:**
“`
# pactl list sinks short
58 alsa_output.pci-0000_37_00.6.pro-output-0 PipeWire s32le 2ch 48000Hz SUSPENDED
99 alsa_output.pci-0000_01_00.1.pro-output-3 PipeWire s32le 8ch 48000Hz RUNNING
100 alsa_output.pci-0000_01_00.1.pro-output-7 PipeWire s32le 8ch 48000Hz SUSPENDED
101 alsa_output.pci-0000_01_00.1.pro-output-8 PipeWire s32le 8ch 48000Hz SUSPENDED
102 alsa_output.pci-0000_01_00.1.pro-output-9 PipeWire s32le 8ch 48000Hz SUSPENDED
“`
**Status:**
– `RUNNING` = sedang aktif digunakan
– `SUSPENDED` = tersedia tapi tidak aktif
—
## 🎛️ Konfigurasi Lanjutan (Opsional)
### Install PulseAudio Volume Control (GUI)
“`bash
sudo apt install pavucontrol
“`
Kemudian jalankan: `pavucontrol`
**Fitur:**
– Switch output per aplikasi
– Atur volume individual per aplikasi
– Monitor input/output real-time
### Set Default Output Permanent
Jika ingin HDMI atau speaker sebagai default permanent, tambahkan ke `~/.config/pulse/default.pa`:
“`bash
# Buat file jika belum ada
mkdir -p ~/.config/pulse
echo “set-default-sink alsa_output.pci-0000_01_00.1.pro-output-3” >> ~/.config/pulse/default.pa
“`
**Catatan:** Biasanya tidak perlu, sistem akan ingat output terakhir yang digunakan.
—
## 📝 Catatan Penting
1. **Device ID mungkin berbeda di sistem lain**
– `pci-0000_01_00.1` dan `pci-0000_37_00.6` adalah PCI bus address spesifik untuk hardware ini
– Jika hardware berbeda, jalankan `pactl list cards` untuk mendapatkan device name yang benar
2. **Pro-audio profile vs stereo profile**
– Profile `pro-audio` memberikan kontrol granular per HDMI port
– Profile `output:hdmi-stereo` lebih sederhana tapi kadang tidak available karena jack detection
3. **Jack detection bug**
– Ini adalah bug driver/kernel yang umum di beberapa motherboard
– Workaround dengan `pro-audio` profile adalah solusi yang stabil
4. **NVIDIA driver dan audio HDMI**
– Audio HDMI NVIDIA bekerja dengan driver proprietary maupun nouveau
– Tidak perlu konfigurasi khusus di Pop!_OS karena sudah termasuk NVIDIA driver
—
## 🔗 Referensi
– **PipeWire Documentation:** https://docs.pipewire.org/
– **WirePlumber Documentation:** https://pipewire.pages.freedesktop.org/wireplumber/
– **ALSA Project:** https://www.alsa-project.org/
– **Pop!_OS Support:** https://support.system76.com/
—
## 📅 Log Perubahan
| Tanggal | Perubahan | Status |
|—|—|—|
| 2025-12-17 | Initial fix – Aktivasi AMD & NVIDIA cards | ✅ Berhasil |
| 2025-12-17 | Buat konfigurasi WirePlumber permanent | ✅ Berhasil |
| 2025-12-17 | Test HDMI dan analog output | ✅ Berhasil |
—
**Dibuat oleh:** Claude Code
**Sistem:** Pop!_OS 24.04 LTS
**Kernel:** 6.17.9-76061709-generic