Drukuj
Nadrzędna kategoria: Ubuntu
Kategoria: Gotowe rozwiązania
Odsłony: 17946
Gwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywna
 
PulseAudio od początku sprawiał problemy szczególnie na kartach dźwiękowych Intel'a (znów ten Intel). Ale technologicznie stoi wyżej niż wysłużona już Alsa. W walce z problemami z dźwiękiem zostaje albo przestawić się całkiem na PulseAudio, albo pozostać przy Alsie i odinstalować PulseAudio.
Ja wybrałem drogę PulseAudio choć nie było łatwo, ale udało mi się pozbyć problemów trzeszczącego bądź urywającego się dźwięku, a w laptopie posiadam właśnie chipset dźwiękowy hda_intel. Sposobów na walkę było kilka, przeszukałem sieć w poszukiwaniu tych najskuteczniejszych, które załatwiły problem z hda_intel.
Jednym ze sposobów na pozbycie się problemu to przestawienie wszystkich programów, które mają taką możliwość na korzystanie z PulseAudio. Np. miałem problem z SMPlayer'em. W opcjach miałem ustawione używanie Alsy i synchronizowanie dźwięku z obrazem. Alsa nawalała przez co synchronizacja dźwięku z obrazem powodowała zwolnienie filmu, aż do momentu zatrzymania się. Odtwarzacz potem się zawieszał i nie można było oglądać wideo. Zgłosiłem błąd do programisty SMPlayer'a. Pomoc uzyskałem w ciągu 10 minut Laughing Chodziło przestawienie z Alsy na PulseAudio. To przegapiłem. Po przestawieniu wszystko wróciło do normy.
Ale czasem się zdarza, że dany program nie ma możliwości ustawienia PulseAudio, ponieważ wykorzystywanie Alsy zostało wkompilowane w program. Tak miałem ze stabilną wersją UFO: Alien Invasion. Przez jakiś czas grałem bez dźwięku, dopiero po jakimś czasie za namową ludzi z forum UFO wyemigrowałem na wersję beta, która była bardziej rozwinięta i miała możliwość użycia PulseAudio dzięki czemu zniknął problem z trzeszczącym i urywającym się dźwiękiem. Po za tym gdy dźwięk w stabilnej wersji gry znikał ta zawieszała się przy wyjściu. Pomagało dopiero zabicie procesu.
Jednym ze sposobów pozbycia się trzeszczącego dźwięku na hda_intel było edytowanie pliku /etc/pulse/daemon.conf. Odnajdujemy poniższe linijki i wstawiamy te wartości:
default-fragments = 5
default-fragment-size =25
Jak już jesteśmy przy pliku z ustawieniami serwera PulseAudio ważne jest zorientować się na jakiej domyślnej częstotliwości próbkowania dźwięku pracuje nasza karta. Jeśli domyślną częstotliwością jest 48000 Mhz, a PulseAudio jest ustawione na pracę w 44100 Mhz to nie potrzebnie zmuszamy kartę do przepróbkowania. To w niektórych przypadkach powodowało trzeszczenie dźwięku. Ustawienia próbkowania ustawiamy w linijce:
default-sample-rate = 48000
Zamiast 48000 możemy wstawić takie ustawienia jak pasują do naszej karty. Oczywiście po edycji pliku z ustawieniami należy zrestartować PulseAudio za pomocą poleceń:
pulseaudio -k
pulseaudio -D
Polecenia wydajemy bez sudo ponieważ serwer dźwięku działa na prawach użytkownika.
Jeśli to nie pomogło możemy spróbować triku z zainstalowaniem kilku aplikacji wspomagających PulseAudio. Dziwne, że one w ogóle nie znalazły się w domyślnej instalacji Ubuntu 9.10. Pakiety które proponuje zainstalować to: libasound2-plugins, padevchooser, libsdl1.2debian-all, Zaawansowana kontrola głośnościpavucontrol. Menedżer serwera PulseAudioW pakietach znajdują się pluginy do Alsy które pozwalają przekierować dźwięk na Pulse, graficzna aplikacja do kontrolowania serwera Pulse, biblioteki pozwalające programom SDL do wykorzystywania m.in systemu dźwięku, program do kontrolowania głośności dźwięku i siły mikrofonu (trochę bardziej rozbudowany niż ten systemowy). Po zainstalowaniu biblioteki libsdl1.2debian-all trzeba jeszcze ustawić parametr SDL_AUDIODRIVER, który rozkaże aplikacjom SDL używać Pulse.
Do tego celu edytujemy plik .profile znajdujący się katalogu domowym. To plik ukryty i jeśli chcemy go wyświetlić w Nautilusie musimy zastosować skrót klawiszowy Ctrl+h. Na samym końcu pliku dajemy linijkę:

export SDL_AUDIODRIVER=pulse
Aby aplikacje SDL zaczęły od razu używać Pulse potrzebne będzie wylogowanie się i zalogowanie się jeszcze raz.
Teraz przejdźmy do System/Preferencje/Wybór systemów multimediów. Wybór systemów multimediówJeśli tego nie widzisz w menu, kliknij prawym na głównym menu, potem edytuj, zaznacz Preferencje po lewej i zaznacz Wybór systemów... aby stało się widoczne. Gdy uruchomisz preferencje na karcie Audio jako domyślny plugin ustawiamy Serwer dźwięku PulseAudio dla Input i Output. Pole wyboru Device ustawiamy na Domyślnie. Możemy potestować klikając po prostu przycisk testu. W przypadku testu mikrofonu dobrze podkręcić głośniki, aby słyszeć jak mikrofon zgarnia, można postukać w mikrofon.
Możemy również jeszcze przekonfigurować Alse. Gdy przez dłuższy czas jest nie używana system kładzie kartę dźwiękową, aby oszczędzać prąd. Gdy nagle dostajemy powiadomienie np. od komunikatora internetowego, że ktoś do nas napisał słyszalny jest stukot tuż przed samym dźwiękiem powiadomienia. Ten stukot to włączenie karty dźwiękowej. W takim razie trzeba wyłączyć funkcję oszczędzania prądu. Edytujemy plik /etc/modprobe.d/alsa-base.conf. Odnajdujemy linijkę:
options snd-hda-intel power_save=10 power_save_controller=N
Parametr power_save odpowiada za wyłączenie kontrolerów hda_intel po 10 sekundach. Ja ustawiłem ten parametr na 0. Więc wygląda ona tak, po przeróbkach:
options snd-hda-intel power_save=0 power_save_controller=N
Po edycji restartujemy Alsę:
sudo alsa force-reload
Nad doprowadzeniem PulseAudio do porządku spędziłem masę czasu, aby znaleźć te kilka sposób. Jakby powyższe sposoby nie działały proszę pisać w komentarzach, postaram się pomóc.
Spodobało Ci się? Udostępnij, przypnij, podziel się z innymi:

Simple Disqus Comments