[2026-05-08] htpc-system: expand audio section (AMD HDA bug, pipewire/wireplumber configs)
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user