From f15d69e5b82b5ea0567b975237d55e3fa2b4436f Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Fri, 8 May 2026 00:54:50 +0600 Subject: [PATCH] [2026-05-08] htpc-system: expand audio section (AMD HDA bug, pipewire/wireplumber configs) --- family/how-to/htpc-system.md | 51 +++++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/family/how-to/htpc-system.md b/family/how-to/htpc-system.md index aced5a8f..6b34d515 100644 --- a/family/how-to/htpc-system.md +++ b/family/how-to/htpc-system.md @@ -45,10 +45,55 @@ GAMESCOPE_REFRESH=60 - 4K вызывает AMD HDA audio clock bug: пиксельный клок ~594 MHz → HDMI audio 880 Hz вместо 440 Hz ## Аудио -TV поддерживает только LPCM 2ch, 32000/44100/48000/96000/192000 Hz, 16/20/24 bit. -`~/.config/wireplumber/wireplumber.conf.d/fix-hdmi.conf` — S16LE, 48000 Hz, no suspend -`~/.config/pipewire/pipewire.conf.d/99-hdmi-fix.conf` — allowed-rates [44100, 48000] +### Проблема +LG webOS TV по HDMI принимает **только LPCM 2ch**. +Поддерживаемые частоты: 32000 / 44100 / 48000 / 96000 / 192000 Hz, 16/20/24 bit. + +**AMD HDA audio clock bug** (RX 570 + 4K@60Hz): +При pixel clock ~594 MHz (4K@60Hz) AMD HDMI audio контроллер выдаёт неправильный clock — тон 440 Hz воспроизводится как 880 Hz (в 2 раза выше). Решение — переключиться на **1080p@60Hz** (pixel clock ~148 MHz, bug не воспроизводится). + +### Решение: зафиксировать 1080p +`~/.config/environment.d/gamescope.conf`: +``` +GAMESCOPE_WIDTH=1920 +GAMESCOPE_HEIGHT=1080 +GAMESCOPE_REFRESH=60 +``` + +### Решение: PipeWire/WirePlumber конфиги + +`~/.config/wireplumber/wireplumber.conf.d/fix-hdmi.conf`: +```lua +monitor.alsa.rules = [ + { + matches = [{ node.name = "~alsa_output.pci*hdmi*" }] + actions = { + update-props = { + audio.format = "S16LE" + audio.rate = 48000 + session.suspend-timeout-seconds = 0 + } + } + } +] +``` + +`~/.config/pipewire/pipewire.conf.d/99-hdmi-fix.conf`: +```conf +context.properties = { + default.clock.allowed-rates = [ 44100 48000 ] +} +``` + +### Проверка +```bash +# Посмотреть активный sink и его параметры: +pactl list sinks | grep -A20 "HDMI" + +# Тест тона 440 Hz — должен звучать как ля первой октавы: +speaker-test -t sine -f 440 -c 2 +``` ## OSTree / Обновления - `/usr/local/bin` слетает при `rpm-ostree` upgrade (новый `/usr` overlay)