Perypetie z HDMI



Dzisiaj mało kontentu. Taki trochę rant, trochę moje zdziwienie objawami.

Wymieniłem ostatnio wyświetlacz w salonie na większy. Jedną z jego funkcji jest bycie cyfrową ramką na zdjęcia, a te w 4k wyglądają lepiej. Do tego czasem obejrzenie jakiś mediów video albo casualowe granie (Stadia FTW).

Zaskakująco, nie zadziało od razu. Dotychczas wystarczało mi iGPU wbudowane w procesor, jednak możliwości tego w i7-3770 kończą się na 2560×1600 przez DisplayPort. Przez HDMI nawet mniej – 1920×1200. Trzeba wymienić sprzęt. Wstępnie postanowiłem poczekać na nowe APU od AMD, w międzyczasie zacząłem szukać jakieś taniej karty graficznej. Z uwagi na sterowniki jedynym sensownym wyjściem są Radeony.

Kolega pożyczył mi swojego Radeona VTX HD 7850. Parę lat temu topowa karta. Dzięki niej po raz pierwszy zobaczyłem 3840×2160 na nowym wyświetlaczu. Ale! Nie było możliwości uzyskania więcej niż 30Hz. Wyjście HDMI było w zbyt starej wersji. Kartę więc oddałem i zacząłem szukać czegoś nowszego.

Wytypowałem i kupiłem na OLX kartę z serii RX 560. Obraz super, odświeżanie 60Hz bez problemu. Natomiast dźwięk przez HDMI – już nie bardzo. Wydawało mi się, że na początku działał, potem cisza. Może oszczędzanie energii zawiniło? Próbowałem z opcjami wysyłania cichego szumu i utrzymania urządzenia w akrtywności, ale bez sukcesów.

W wyniku pogłębionego researchu dodałem do linii poleceń jądra amdgpu.dc=1 amdgpu.audio=1 co z początku zadziałało, ale nie na długo. Dodam, że eksperymenty są dość uciążliwe, bo komputer o którym mowa służy mi też za router do internetu i centrum smart home. Problemu nie rozwiązałem, na szybko przeciągnąłem kable i podpiąłem stare głośniki do komputera.

Jakiś czas później postanowiłem przejrzeć ustawienia samego wyświetlacza. W menu znalazłem pozycję „Rozszerzenie sygnału wejściowego” (po angielsku to chyba “Input Signal Plus”). Jej włączenie spowodowało, że wyświetlacz zaczął raportować obsługę trybów do 120Hz. Hmm. Aż tyle nie udało mi się włączyć, ale wyszedłem trochę ponad 60Hz. Obraz był, natomiast pojawiły się artefakty. Coś jakby kabel był uszkodzony, albo nie dawał rady.

Kabel! Niby pierdoła, ale obecny mam od prawie dziesięciu lat. Kiedy standardy HDMI były mniej wyżyłowane, a 4k to była egzotyka. Tak się złożyło, że miałem inny, nowszy 5-metrowy (komputer stoi w innym pomieszczeniu) przewód HDMI pod ręką. Zamieniłem. Obraz stabilny. I dźwięk też po prostu działa. Hmm!

Wyszło na to, że źródłem problemu jest zbyt stary kabel HDMI, nie zapewniający odpowiedniego pasma przenoszenia. Faktycznie dźwięk po nim działał w rozdzielczości FullHD. Po przełączeniu na 4k, dostępnego pasma już nie starczało na przesłanie audio. Przełączniki do kernela pewnie nie były potrzebne. Nowszy kabel pozwolił na 4k@60Hz z audio, ale osiągnięcie 120Hz też go przerosło.

Wyjaśniło się też, czemu czasami dźwięk był. Przy rozdzielczości Full HD, domyślnej po reboocie, starczało pasma na dźwięk. Przestawienie na 4k już pasmo wyczerpywało i dźwięk magicznie cichł.

Upgrade serwera zostawiam na później – teraz działa, nie mam motywacji do składania nowego. Co prawda jest trochę gorzej – mało slotów PCIe, po włożeniu karty graficznej NVMe musiał powędrować do gniazda 1x – ale nie jest to odczuwalne. A z kablami HDMI zrobiliśmy podobny burdel jak z USB-C. Kabel kablowi nierówny, trzeba dokładnie czytać co obsługuje. Do tego ze znalezieniem HDMI 5-metrowego future-proof (8K z HDR) jest problem.

Comments


Comments powered by Disqus