r   e   k   l   a   m   a
r   e   k   l   a   m   a

Jest szansa na lepszą obsługę dźwięku w Linuksie: pomóżcie w testach

Strona główna Aktualności

W tym tygodniu pojawiła się kolejna wersja linuksowego jądra, oznaczona numerkiem 3.8 i przynosząca sporo zmian widocznych także dla „zwykłego” użytkownika Ubuntu czy Fedory na desktopie. Pełna obsługa wszystkich układów graficznych z rodziny Nvidia GeForce oraz nowych rdzeni graficznych Intela, które pojawią się w procesorach Haswell (Core i4000) czy nowy przyjazny dla pamięci flash system plików F2FS to znaczące ulepszenia. Stan podsystemu grafiki na Linuksie jest jednak dziś całkiem zadowalający – o wiele gorzej wygląda sytuacja z dźwiękiem, to co oferuje „pingwin” ustępuje Windows czy OS-owi X. Pierwsze zmiany w rozwijanym jądrze 3.9 dają nadzieję na zmianę tej sytuacji.

Jednym z najczęściej wykorzystywanych dziś protokołów audio jest Intel HDA. Znajdziemy go w większości zintegrowanych z płytami głównymi układów dźwiękowych, pozwala ona na też na obsługę wyjścia HDMI i DisplayPort. Jednym z największych problemów dla Linuksa jest liczba kontrolerów i kodeków, które trzeba dla Intel HDA obsłużyć – tych ostatnich jest ponad trzysta (a w dodatku każdy kodek obsługuje wiele różnych konfiguracji). Odpowiedni kod do ich obsługi był wprowadzany na poziomie frameworku ALSA. Utrzymanie tego stanu rzeczy wykraczało poza fizyczne możliwości deweloperów zajmujących się rozwojem podsystemu dźwięku w Linuksie. Próba dodania nowych funkcjonalności do sterowników audio w jądrze oznaczała konieczność robienia tego oddzielnie dla każdego kodeku – coś o co programiści OS-a X martwić się nie musieli, mając do dyspozycji znacznie bardziej uniwersalne sterowniki appleHDA.

Dzięki pracom Takashi Iwai, opiekującego się podsystemem dźwięku w jądrze Linuksa, wersja 3.9 przyniesie znaczną poprawę sytuacji. Ponad 150 łatek pozwoli na zunifikowanie sterowników kodeków HDA, a to oznacza zarówno znacznie łatwiejsze wprowadzanie ulepszeń w obsłudze audio jak i możliwość szybszego dodawania obsługi nowych układów. W pierwszej kolejności zintegrowane mają być kodeki – Realteka, C-Media, AD i CA0110, następnie przyjść ma czas na Cirrusa, VIA, Conexanta i IDT.

Rozmiar problemu, jakim jest obsługa dźwięku w Linuksie, robi wrażenie. David Henningsson z Canonicala pisze, że na podstawie zgłoszeń od użytkowników udało się zidentyfikować około 6 tysięcy różnych konfiguracji sprzętowych. Przetestowanie ich wszystkich nie wchodzi w grę, więc stworzono emulator hda-emu, do testowania kodu sterowników kodeków w zautomatyzowany sposób. Jednak w rzeczywistości to, jak sprzęt działa, niekoniecznie musi zgadzać się z tym, jak opisane zostało jego działanie w specyfikacji. Henningsson wyjaśnia: załóżmy, że kodek jest zepsuty tak, że ogłasza dwie ścieżki audio, ale w praktyce tylko jedna z tych ścieżek działa. Nowy parser może trasować audio odmiennie niż stary, w konsekwencji będzie się wydawało, że audio powinno działać. W praktyce usłyszymy tylko ciszę.

W tej sytuacji potrzebne są testy na jak największym zakresie sprzętu. Trudno oczekiwać od użytkowników, by sami sobie kompilowali jądra z poprawkami Takashiego Iwai, ale na szczęście możecie już wykorzystać pakiety DKMS do przeprowadzenia testów – instrukcję znajdziecie w wiki Ubuntu. Informacje o wyników testu można następnie przekazać za pomocą narzędzia AlsaInfo.

r   e   k   l   a   m   a
© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.