Dziwna jakość audio na Tuf Gaming X570 PLUS Kubuntu

Witajcie,

Mam problem z jakością dźwięku na wyjściu cyfrowym S/PDIF (optyczne/IEC958), który utrzymuje się pomimo zastosowania wszystkich standardowych poprawek konfiguracji PipeWire. Dźwięk jest poprawny na wyjściu HDMI, co potwierdza problem tylko na torze ALC1200 S/PDIF.

Proszę o pomoc w znalezieniu specyficznego quirku jądra (snd_hda_intel) dla mojej płyty głównej.


1. :gear: Konfiguracja Sprzętowa i Oprogramowania

Element Szczegóły
Płyta Główna ASUS TUF Gaming X570-PLUS
Kodek S/PDIF Realtek ALC1200 (zintegrowany)
System Kubuntu (PipeWire jako serwer dźwięku)
Wyjście Docelowe Wyjście cyfrowe S/PDIF (IEC958)
Urządzenie Docelowe Amplituner Yamaha R-N800A

2. :mute: Precyzyjny Opis i Diagnoza Problemu

  1. Problem: Dźwięk jest cyfrowo zniekształcony/filtrowany, zwłaszcza w zakresie wysokich częstotliwości. Mowa brzmi nienaturalnie, jak „zaszumiona bez szumu”. Sybilanty (dźwięki „S”, „Z”) są nadmiernie podkreślone lub przesterowane (jak MP3 o bardzo niskim bitrate).
  2. Kluczowa Weryfikacja:
  • Stabilność jest OK (brak trzasków i zacinania).
  • Dźwięk na tym samym sprzęcie pod Windows 11 jest idealny.
  • Dźwięk na wyjściu HDMI/DisplayPort (NVIDIA) jest idealny.
  • Wniosek: Problem jest izolowany do błędnego przetwarzania cyfrowego (DSP) przez sterownik snd_hda_intel na wyjściu S/PDIF kodeka ALC1200.

3. :white_check_mark: Dotychczas Podjęte Kroki (bezskutecznie)

Wyczerpałem wszystkie próby naprawy po stronie oprogramowania PipeWire/ALSA. Żadne z tych działań nie usunęło zniekształcenia.

  • Optymalizacja PipeWire:
    • W pliku konfiguracyjnym PipeWire ustawiono duży bufor Quantum (2644, eliminując potencjalne trzaski).
    • Wymuszono najwyższą jakość resamplingu PipeWire: resample.quality = 4 oraz resample.method = "speex-float-10".
  • Optymalizacja Jądra/Sterownika:
    • Dodano opcję jądra options snd-hda-intel power_save=0 (wyłączenie oszczędzania energii).
    • Testowano wszystkie znane modele kodeka HDA: model=alc1220-asus, model=alc1200-asus, model=generic, model=auto.
  • Inne:
    • Obniżenie głośności S/PDIF do 90% w celu uniknięcia cyfrowego clippingu.

:question: Pytanie do Społeczności

Czy ktoś spotkał się z tym problemem na płytach ASUS X570 / Realtek ALC1200 S/PDIF i znalazł specyficzny quirk (obejście) wymagany w alsa-base.conf lub innej konfiguracji jądra dla tej konkretnej kombinacji sprzętowej?

Dziękuję za wszelkie sugestie!

Link do pełnego raportu diagnostycznego ALSA: http://alsa-project.org/db/?f=8ef4dd53e2472b8348b62177895244e56f0ce8bb

problem - prawdopodobnie - jest związany z jitterem/taktowaniem S/PDIF na ALC1200, ponieważ żadna optymalizacja PipeWire nie pomogła, a domyślny sterownik HDA najwyraźniej źle taktuje wyjście cyfrowe.

Przeprowadziłem krytyczny test sygnałem sinusoidalnym (sweep 5-20 kHz) generowanym w Audacity. Wynik jest rozstrzygający:

  1. Wyjście HDMI: Ton jest czysty i narasta poprawnie.
  2. Wyjście S/PDIF (Realtek ALC1200): Ton jest cyfrowo zniekształcony i brzmi jak „świergot/artefakty modulacji” w wysokich częstotliwościach.

Wniosek: Ten test dowodzi, że problemem jest niepoprawna obsługa sygnału PCM przez sterownik jądra (snd_hda_intel) na wyjściu S/PDIF, co skutkuje błędem taktowania (jitter) i zniekształceniami w zakresie sybilantów.

Ponieważ nawet najlepszy resampler (Speex) nie pomógł (próby zostały przerwane z powodu błędu składni, ale wszelkie inne rozwiązania software’owe zawiodły), proszę o sugestie dotyczące konkretnych quirków lub opcji jądra dla ALC1200 na ASUS X570-PLUS mających wpływ na zegar S/PDIF.

ZAMYKAM TEMAT Z WAŻNYM WNIOSKIEM KOŃCOWYM:

Dziękuję wszystkim za zaangażowanie i pomoc w tak szczegółowej diagnostyce! To była prawdziwa walka o każdy bit.

Po serii intensywnych testów (w tym kluczowy test tonem sinusoidalnym z Audacity, który wykazał cyfrowe zniekształcenie w zakresie 5–20 kHz na S/PDIF), i przed podjęciem się skomplikowanych modyfikacji jądra, problem niespodziewanie ustąpił (prawdopodobnie po cyklu wyłączenia/włączenia amplitunera).

Kluczowe Odkrycia dla Innych Użytkowników ALC1200:

  1. To nie była wina PipeWire/Resamplingu: Wszystkie optymalizacje (quantum, Speex-float-10) zostały wykluczone. Nawet gdyby były aktywne, problem by się utrzymał, co potwierdził ton testowy.
  2. Problem jest niestabilny (Intermittent): Błąd pojawia się i znika po włączeniu/wyłączeniu amplitunera lub po przełączeniu portów.
  3. Wniosek: Problem jest prawie na pewno spowodowany błędem w inicjalizacji (taktowania/jitter) sprzętowego wyjścia S/PDIF przez sterownik jądra (snd_hda_intel) na płycie ASUS X570-PLUS (ALC1200).

Obecnie dźwięk jest czysty. Zamykam wątek i wrócę z dokładniejszymi logami, jeśli niestabilność powróci. Jeszcze raz dziękuję!