Kategorie:
22

RealtimeKit

Lennart Poettering, deweloper który popełnił PulseAudio, wpadł na pomysł rozwiązania problemu przerw w dostawie dźwięku do karty w Linuksie.

Problem ten jest szeroko znany użytkownikom Linuksa – pojawia się, gdy w systemie pracuje kilka programów i jednocześnie odtwarzana jest muzyka. Wtedy jeśli odtwarzacz nie ma określonego odpowiednio niskiego poziomu nice, mogą się pojawić przerwy w dostawie materiału grającego do karty dźwiękowej.

Popularnym rozwiązaniem tego problemu jest ustawienie odpowiednio niskiego poziomu nice dla procesu odtwarzacza. Jednak, żeby ustawić bardzo niski poziom nice, trzeba użyć konta administratora i wydać dwa polecenia – mało wygodne, jeśli często wyłącza się odtwarzacz lub używa różnych programów (kiedyś dało się zautomatyzować). Lennart zaproponował trochę inne rozwiązanie – zmianę polityki szeregowania dla wybranych procesów na SCHED_RR używaną dla programów ograniczonych czasowo (RT).

To rozwiązanie ma oczywiście jedną dużą wadę – jeśli taki program przestanie poprawnie działać, to bardzo trudno będzie go zabić. Uważni czytelnicy pewnie zauważą – zaraz, ale przecież to już było! Faktycznie, ale tym razem problem rozwiązuje Lennart Poettering, deweloper PulseAudio, a jego nowe dzieło nazywa się RealtimeKit :)

Więcej informacji: http://git.0pointer.de/?p=rtkit.git

«
»

Znalazłeś literówkę? Zgłoś ją używając formularza!


Jeśli uważasz, że ten nius jest nieobiektywny, przedstawia nieprawdziwe wydarzenie, jest spamem lub nie spełnia standardów serwisu, napisz raport.

Niusy na podobny temat:

Komentarze (RSS)

Komentarze są prywatnymi opiniami dodających je osób. Prosimy o zachowanie kultury wypowiedzi. Komentarze obraźliwe oraz obniżające poziom serwisu będą usuwane. Więcej w regulaminie komentowania.

35 komentarzy

zwiń wątek gothmori  3 lipca 2009 o godz. 15:10 #
Gravatar

OSS?

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek whogivesaflyingsh  3 lipca 2009 o godz. 15:17 #
Gravatar

ALSA czy OSS tu nic do tego nie mają – chodzi tylko o przestrzeń użyszkodnika.

zwiń wątek gothmori  3 lipca 2009 o godz. 15:31 #
Gravatar

zatem chodzi o JACK tak? ;>

 
zwiń wątek gothmori  3 lipca 2009 o godz. 15:33 #
Gravatar

ale w sumie… fajnie, że pulse audio się rozwija tak czy inaczej i że autor niesie dobrą nowinę :)

 
zwiń wątek Sławek  3 lipca 2009 o godz. 15:50 #
Gravatar

Najbardziej mnie denerwują ludzie twierdzący, że PulseAudio, to sterownik dźwięku(odpowiednik ALSA).

PulseAudio jest właśnie czymś w stylu esd, artsd, jack. Jest to serwer dźwięku. Nie wiem dlaczego zdobył on taką popularność. Więcej dla dźwięku pod Linuksem zrobili twórcy KDE niż autorzy PulseAudio.

zwiń wątek Paweł Ciupak  3 lipca 2009 o godz. 17:32 #
Gravatar

Fakt. Twórcy KDE wywalili swój zabugowany, nikomu niepotrzebny serwer dźwięku (aRts), a twórcy PulseAudio… właśnie takie coś stworzyli – także zabugowane i nikomu niepotrzebne.

 
zwiń wątek Swift Geek  4 lipca 2009 o godz. 13:23 #
Gravatar

Mi się przydaje… A jak kto chce FullAutomat to jest EarCandy – moich wymagań jeszcze nie spełnia ale kto wie może za parę lat ;]

 
 
 
 
zwiń wątek Sławek  3 lipca 2009 o godz. 15:25 #
Gravatar

Jeżeli, to co autor napisał jest prawdą, to bardzo dobry news! Widać, że ban się przydał ;-) ! O realtimekit słyszałem już wcześniej. Ma być połączony z PolicyKit. Trzeba jednak zdefiniować dwa poziomy nice: standardowy użytkownika, jak również wyższy od niego(jeżeli PolicyKit by na to pozwalał). Przypisanie poziomu wyższego od domyślnego wymagałoby podania tylko hasła użytkownika. Podania poziomu nice ujemnego wymagałoby już podania hasła root-a. To są tylko moje fantazje, ale mogą okazać się prawdą. Sesja przy starcie automatycznie podwyższałaby sobie nice.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek Sławek  3 lipca 2009 o godz. 15:33 #
Gravatar

Chodziło o standardowy nice, jak również ujemy(napisałem: wyższy). Program działający o podwyższonym nice miałby dwie drogi do jego zmniejszenia – poprosić użytkownika, poprosić administratora.

 
 
zwiń wątek Sławek  3 lipca 2009 o godz. 15:26 #
Gravatar

"popełnił PulseAudio"

Bardzo dobre sformułowanie, proszę jednak umieszczać własne zdanie w komentarzu.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 
zwiń wątek Sławek  3 lipca 2009 o godz. 15:29 #
Gravatar

Sprawa faktycznie działa. Moduły do pracy w trybie RT chyba nazywane są modułami Curtz-a.

PS: Nie wystarczy wykonać renice na wyższych uprawnieniach?

PS2: Przecież, jak program działa w RT w określonym przedziale czasu, to jego popsucie nie powinno wpłynąć na pracę systemu. Przecież po wyczerpaniu się limitu czasu sterowanie znowu przejmuje jądro, które przydziela czas kolejnemu procesowi.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 
zwiń wątek norbert_ramzes  3 lipca 2009 o godz. 15:34 #
Gravatar

Problem ten jest szeroko znany użytkownikom Linuksa – pojawia się, gdy w systemie pracuje kilka programów i jednocześnie odtwarzana jest muzyka.

Hmm? Ileś lat używam Debiana, prawie zawsze mam odpalone kilka, kilkanaście (czasami nawet kilkadziesiąt) programów użytkowych korzystające z GTK, QT czy innych bibliotek i nie przypominam sobie żebym musiał często używać renice. Bywało u mnie tak że jakiś soft obciążał tak cpu że nawet kursor stawał a muzyka spokojnie sobie grała. Miewałem tak dopiero jak kilka programów (np. domowej roboty) zapętlało się bez celu i bez wywołania usleep().

W normalnej sytuacji, soft który nic nie robi (np. krusader który używam codziennie) zajmuje 0.0% czasu CPU. Co innego gdybym to samo oprogramowanie używał na np. 486…

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek Sławek  3 lipca 2009 o godz. 15:48 #
Gravatar

Z tym zapętlaniem, to już przeszłość. Obecnie wszystkie procesy dostają procesora po równo, a nie wg. zapotrzebowania. Przynajmniej system Ci nie obciąży się zbyt mocno.

zwiń wątek stilgar  3 lipca 2009 o godz. 16:58 #
Gravatar

serio? po równo? to dość… nieoptymalnie.

zwiń wątek Sławek  3 lipca 2009 o godz. 17:34 #
Gravatar

Jest to dosyć nieoptymalne, ale kod nowego sheludera jest szybszy, a poza tym czemu jakieś zadanie miałoby móc wziąć zbyt wiele czasu procesora. Oczywiście w przypadku, gdy jakiś proces czeka, to nie jest brany pod uwagę.

 
zwiń wątek whogivesaflyingsh  3 lipca 2009 o godz. 17:51 #
Gravatar

"Jest to dosyć nieoptymalne, ale kod nowego sheludera jest szybszy, a poza tym czemu jakieś zadanie miałoby móc wziąć zbyt wiele czasu procesora. Oczywiście w przypadku, gdy jakiś proces czeka, to nie jest brany pod uwagę."

Nie wiem o czym mówisz, ale chyba nie o CFS :)

 
 
 
zwiń wątek whogivesaflyingsh  3 lipca 2009 o godz. 17:56 #
Gravatar

"Ileś lat używam Debiana"

O, to pewnie dla tego. U mnie nie działało (i u kilku procent użytkowników niezadowolonych z poziomu podsystemów audio w Linuksie) bo używałem innej dystrybucji. W Debianie to cały kernel jest przepisany tak, żeby działał :)

P.S. Debiana kiedyś przez jakiś czas używałem – dawno temu i nie prawda ;) . Nie mam zamiaru już nigdy nigdzie go używać, gdy się dowiedziałem, że jego deweloperzy robią poprawki do kodu, którego nie rozumieją…

zwiń wątek norbert_ramzes  3 lipca 2009 o godz. 18:10 #
Gravatar

jego deweloperzy robią poprawki do kodu, którego nie rozumieją…

Jak pracuje się nad dużym projektem który pisał ktoś inny to coś takiego jest normalne. Sam tak robię.

Chcesz zrobić poprawkę albo ulepszyć kod czegoś co źródła zajmują 10MiB albo więcej to albo czytasz całość/prawie całość, albo czytasz mały fragment żeby jako tako zrozumieć i ten fragment poprawić.

Np. spróbuj dodać mgłę do Nexuiza 2.4.2 (po stronie serwera) bez możliwości zmiany przez konkretnego usera, ale z możliwością głosowania. Mnie to zajęło jakieś dwa tygodnie bez zbytniego wgłębiania się w szczegóły (np. jak działają funkcje z których korzystam [ile osób wie jak dokładnie działa printf?]). Gdybym miał zagłębiać wszystkie tajniki to zeszłoby mi ze 5 lat a nie 2 tygodnie.

zwiń wątek whogivesaflyingsh  3 lipca 2009 o godz. 20:43 #
Gravatar

Nie o to mi chodzi. Nie do tego piję :)

Chodziło mi o tą słynną poprawkę do OpenSSL. Gość nie rozumiejąc kodu zrobił "poprawkę" (wyrzucił jedną linijkę kodu czy coś w tym stylu) na jakiś ezoteryczny problem wykryty za pomocą valgrinda.

Zdaję sobie sprawę z tego, że w żadnej dystrybucji Linuksa nie ma wystarczającej kontroli nad tym jakie poprawki deweloperzy wrzucają do pakietów – każdy niekompetentny koleś może wrzucać wszystko co mu się podoba, bo jest opiekunem pakietu, deweloperem Debiana, panem i władcą na krańcu świata. Jednak w mojej skromnej opinii poziom niekompetencji i zadufania u deweloperów Debiana jest na tyle wysoki, że nie warto poświęcać czasu na walkę z nimi i tym systemem.

(Debian nie jest pierwszym systemem na mojej liście – nie warto na to tracić czasu – pierwszy jest oczywiście Gentoo – –enable-jestem-szybki-jak-Kubica-intel7)

 
zwiń wątek norbert_ramzes  3 lipca 2009 o godz. 22:10 #
Gravatar

nie ma wystarczającej kontroli

A w innych dystrybucjach albo w MS jest inaczej?

 
zwiń wątek ak47  4 lipca 2009 o godz. 7:55 #
Gravatar

Te mistrzu .

w GENTOO kompiluje UŻYTKOWNIK nie developer. Zrozumiałeś? UŻYTKOWNIK

 
zwiń wątek kj  4 lipca 2009 o godz. 13:14 #
Gravatar

@whogivesaflyingsh: mówisz o fragmencie kodu, który pobierał losowe dane z niezainicjalizowanej zmiennej? Z punktu widzenia teorii programowania developer Debiana postąpił słusznie, inna sprawa, że akurat twórca OpenSSL chciał w ten sposób liczby losować ;].

@norbert_ramzes: dlaczego odnosisz problem braku kontroli nad aplikacjami wchodzącymi w skład dystrybucji do MS? MS zdaje się robi system operacyjny, a nie kompletną dystrybucję z masą programów (przynajmniej często słychać argument pt. "z Windowsem nic nie dostaję")?

 
zwiń wątek norbert_ramzes  4 lipca 2009 o godz. 16:30 #
Gravatar

dlaczego odnosisz problem braku kontroli nad aplikacjami wchodzącymi w skład dystrybucji do MS?

Chodziło mi o to że brak kontroli może występować wszędzie indziej.

 
zwiń wątek pdemb  4 lipca 2009 o godz. 22:21 #
Gravatar

@whogivesaflyingsh: mówisz o fragmencie kodu, który pobierał losowe dane z niezainicjalizowanej zmiennej? Z punktu widzenia teorii programowania developer Debiana postąpił słusznie, inna sprawa, że akurat twórca OpenSSL chciał w ten sposób liczby losować ;].

To jest poleganie na niezdefiniowanym przez specyfikację języka programowania zachowaniu kompilatora. Z tego co piszesz wynika, że ten developer OpenSSL to ryzykant. W sumie dziwne jak na programistę od szyfrów.

 
zwiń wątek kj  5 lipca 2009 o godz. 12:06 #
Gravatar

@pdemb: Niezdefiniowane zachowanie kompilatora? A co tutaj jest niezdefiniowanego? Po kolei: kompilator przydziela fragment pamięci na daną zmienną i nie wpisuje pod jej adres żadnych danych. Od strony kompilatora wszystko jest jasne. Moim zdaniem niezdefiniowana jest tylko i wyłącznie zawartość zmiennej ;) . Ryzyko polega głównie na tym, że dana pamięć będzie np. wyzerowana (bo akurat program dostał wyzerowany obszar) i nie będzie robiła za dobre źródło losowe.

 
 
zwiń wątek AdamK  4 lipca 2009 o godz. 8:42 #
Gravatar

To nie bya wina developera Debiana (w sensie zmiany kodu). To co wykorzystywalo OpenSSL, to trick, ktory w 99.999% wypdkow jest powaznym bledem popelnionym przez programiste, wiec wykozystanie takiego tricku powinno byc dokladnie obkomentowane przez autora. Nie bylo – i to byl blad developerow OpenSSL.

Blad developera Debiana polegal na tym ze nie zglosil 'poprawki' do autorow OpenSSL – wowczas mogloby to wygladac zupelnie inaczej

zwiń wątek moloh  5 lipca 2009 o godz. 4:07 #
Gravatar

Oczywiście że poprawka była zgłoszona na liście OpenSSL, tylko nie tej co deweloperzy czytają…

 
zwiń wątek krzychoocpp  5 lipca 2009 o godz. 15:37 #
Gravatar

To też nie do końca tak. Developer nie wiedział do końca o co chodzi, spytał się na odpowiedniej liście (nie do końca szczegółowo) i dostał odpowiedź że proponowane zmiany nie spowodują problemów. http://research.swtch.com/2008/05/lessons-from-de

 
 
 
 
zwiń wątek hering  4 lipca 2009 o godz. 9:56 #
Gravatar

Mam same problemy z tym pulseaudio. Ustawienie nagrywania dźwięku dla skype to koszmar bo oczywiście po instalacji nie jest prawidłowo ustawione (Ubuntu/Mint). Jak miałem dystrybucję z samą Alsą to wszystko było super.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
zwiń wątek Sławek  4 lipca 2009 o godz. 10:29 #
Gravatar

Obecnie też z PA nie ma problemów większych. Ostatnio na niego psioczyłem, bo miałem ustawiony master na full, a PCM na wyciszenie. Zrobiłem to celowo, bo chciałem zobaczyć, jaki będzie tego efekt w grach pod WINE. Potem jednak wyleciało mi to z głowy. By naprawić problem zdowngratowałem nawet PA do starszej wersji.

Wszystko jednak działa. PA może być tak skonfigurowane, że aplikacje ALSY korzystają z niego. Może Ubuntu ma z tym jakieś problemy? Znasz jeszcze jakieś inne aplikacje z tym problemem? Nie ma konta na Skype, a poza tym nie chce mi się tego instalować.

Moje PA, to 0.9.14 .

 
zwiń wątek Sławek  4 lipca 2009 o godz. 10:29 #
Gravatar

W każdym razie PA miało spore problemy, i pewnie nadal ma. Można jednak z niego korzystać przy obecnej wersji.

 
zwiń wątek Maciej Piechotka  4 lipca 2009 o godz. 15:53 #
Gravatar

Z tego co wiem to Skype ma swoje założenia dotyczące API Alsy a PA implementuje to domyślnie z jakiś powodów inaczej. Przynajmniej PA tak twierdzi…

 
 
zwiń wątek jarek  5 lipca 2009 o godz. 10:36 #
Gravatar

Podrecznikowy przyklad rozwiazania w stylu: nic na sile, wszystko mlotkiem.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 
zwiń wątek pjure efil  5 lipca 2009 o godz. 14:29 #
Gravatar

można użyc po prostu demona verynice który automatycznie ustawi odpowiedni poziom nice dla odpowiednich aplikacji.

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 
zwiń wątek tanyue123  17 sierpnia 2011 o godz. 10:27 #
Gravatar

CCTV Security Systems the owner should see to it that the camera he is about to use and is currently using. The features that follow are those that can be controlled remotely and can be connected to a computer. They can be activated even if control area is not so near to the camera. All you need is an internet access that can throw a high speed access so that you can view the happenings and the activities even if you are away from home.
8 Channel Security DVR
Outdoor Surveillance Cameras
Indoor Surveillance Cameras
4 Camera DVR Security System
IP Surveillance Systems

(Poniżej tego poziomu komentarze nie będą zagnieżdżane)
 

Uwaga! Niektóre komentarze, m.in. te dodane przez niezalogowanych i nowych użytkowników, są ręcznie moderowane. Jeśli Twój komentarz nie ukaże się od razu, nie dodawaj go ponownie, tylko cierpliwie poczekaj na akceptację.

W komentarzach możesz używać prostych znaczników HTML. Przykłady:
  • Link: <a href="http://osnews.pl">OSnews: niusy IT</a>,
  • Wytłuszczenie: <strong>tekst pogrubiony</strong>,
  • Kursywa: <em>tekst pochylony</em>,
  • Przekreślenie: <strike>tekst przekreślony</strike>,
  • Kod: <code>printf("blok kodu");</code>,
  • Cytat: <blockquote>cytat</blockquote>
Uwaga: jeśli dodasz nieznany znacznik, będzie on niewidoczny, gdyż system filtruje takie znaczniki.

Wszystkie autorskie niusy w serwisie publikowane są na licencji Creative Commons Uznanie autorstwa 2.5 Polska.

Twoja sugestia