Linux E X P R E S

Facebook

Rozhovor: Jaroslav Kysela

Lukáš Zapletal vyzpovídal českého vývojáře, který se stará o projekt ALSA.


Dobrý den, jak jste se vlastně dostal do vývojového týmu společnosti SUSE?

Dobrý den. Začátkem roku 1999 jsem byl touto společností osloven a slovo dalo slovo a od té doby pracuji v SUSE Labs (tehdy tedy ještě toto oddělení neexistovalo - byl jsem organizačně ve velkém týmu R&D).

Z jakého důvodu se věnujete právě zvukovému systému ALSA? Byl to záměr, záliba v hudbě, či snad příkaz nadřízeného?

Rozhodně nepracuji na ALSA, protože jsem dostal od někoho nařízení. V roce 1994 jsem začal po seznámení s OS Linux pracovat na ovladači pro zvukové karty Gravis UltraSound. V té době to byly nejlepší karty za rozumné peníze, které se u nás daly koupit. Moje motivace byla v tom, že tyto karty neměly v Linuxu dobrý ovladač. Projekt měl docela velký ohlas a tyto karty se skládaly z několika čipů, ze kterých se stavěly i zvukové karty od ostatních výrobců, takže na začátku roku 1998 jsem založil nový projekt Advanced Linux Sound Architecture.

Asi po čtyřech nebo pěti dramatických změnách v API ovladače (cesta pokusů a omylů), podpory SUSE a dalších lidí v komunitě okolo projektu samotného, se dostal tento projekt do stavu, ve kterém je v současné době.

Kolik po akvizici zůstalo v ČR pracovníků, kolik z toho vývojářů?

Momentálně je v SUSE ČR přes třicet zaměstnanců, z toho pět administrativních pracovníků. Ze zrušených oddělení přešli někteří bývalí kolegové do české pobočky Novellu.

Na jakých projektech právě v SUSE pracujete?

Rád bych pracoval na více projektech, ale bohužel čas mi to neumožňuje. Projekt ALSA je tak rozsáhlý, že se prakticky zabývám pouze udržováním a pomalým vývojem nových částí tohoto projektu.

Firma vůbec věnovala obrovské množství úsilí do vývoje na 64bitech. Co mohou 64bitové produkty od SUSE nabídnout navíc oproti konkurenci?

Vzhledem k tomu, že naše vývojová činnost vychází a zůstává pod licencí GPL, tak všechny části týkající se podpory 64bitů na procesorech AMD a Intel jsou ihned předávány linuxové komunitě. Takže všichni distributoři nabízejí víceméně stejné produkty založené na stejném kódu. Samozřejmě, moji kolegové, kteří na podpoře 64bitových procesorů pracují a pracovali, mají díky aktivnímu vývoji velmi dobré zkušenosti. Můžeme tedy velmi rychle reagovat na chyby, které portování na 64bitové platformy přináší, a to jak pro aplikace, tak pro jádro. Neměl bych tady zapomenout ani na náš GCC tým.

Zpět k ALSA, co bylo při vývoji tohoto subsystému nejtěžší?

Nejtěžší asi stále je získat potřebné informace od některých výrobců hardwaru, kteří se bojí o svoje patenty. Ale situace se v tomto ohledu stále zlepšuje. Dokonce některé firmy mají svoje, někdy i dočasné, týmy, které vytváří ALSA ovladače pro jejich hardware. Dále stále bojujeme s nedostatkem lidí. Myslel jsem si, že po integraci ALSA ovladačů do jádra bude více aktivnějších vývojářů.

Co má vývojový tým v dohledné době v plánu?

Momentálně vývoj API a abstraktních vrstev trochu stagnuje, protože se spíš zaměřujeme na vylepšování ovladačů, čištění kódu v jádře 2.6 a přidávání podpory pro nový hardware. Plán pro příští období je vylepšit flexibilitu konfigurace knihovny alsa-lib pomocí upraveného jazyka lisp a s jeho pomocí popisovat i abstraktní vrstvy (například mixer, konfiguraci PCM pluginů apod.). Dlouhodobější plány počítají s vytvořením nástroje s GUI, který knihovnu alsa-lib a ALSA ovladače bude přehledně konfigurovat. Samozřejmě další prioritou je podpora nového hardwaru.

Můžete srovnat platformy Microsoft/WDM/ASIO, Macintosh/ASIO a Linux/ALSA v kostce?

Musím se přiznat, že ostatní ovladače technicky moc neznám, ale podle doslechu ASIO a WDM jsou už hotová, vyšší abstraktní API, která jsou založena na callback modelu. My v ovladači definujeme univerzální HAL (Hadware Abstraction Layer), kam se snažíme zahrnout všechny možné přístupy k hardwaru, ale s ohledem na to, aby ovladače byly co nejmenší. Dále pak máme knihovnu, která aplikace odkazuje přímo na ovladač nebo přidává ještě další funkcionalitu (např. operace, které některý hardware nepodporuje apod.). V této knihovně také můžeme definovat několik vyšších abstraktních API pro různé typy aplikací.

V kostce - ovladač umožňuje veškeré operace, které hardware podporuje (chceme z hardwaru dostat maximum) a knihovna zastřešuje vyšší abstraktní API.

Jak je to s podporou USB zvukových zařízení? Zlepšuje se situace den za dnem?

Měla by být podporována všechna zařízení podle USB standardů. Bohužel velké množství výrobců tyto standardy nedodržuje nebo vytváří svá vlastní rozšíření, která nejsou nikde definována. Tento hardware může mít s ALSA ovladači problémy.

Firefox jede. Kdy se Linux a ALSA usídlí dejme tomu ve 30 % profesionálních studií, jako je tento browser doma v internetových kavárnách a velkých firmách?

Přesně neodpovím, ale zdá se mi, že se začíná Linux dostávat do povědomí profesionální veřejnosti. Když se podíváte například na stav aplikace Ardour, tak budoucnost je jistě velmi nadějná. Tady je také nutné si uvědomit, že pro takovéto aplikace musí být pracovní stanice s Linuxem docela dobře nakonfigurovaná (včetně low-latency patchů do jádra) a je nutné použít také vhodný hardware. Kdo si myslí, že koupí například tři levné zvukovky a bude je chtít použít najednou pro vícestopý záznam, tak ten je na omylu, protože tyto karty nejsou mezi sebou synchronizované, a tudíž se jejich hodiny za chvilku rozběhnou. Je nutné použít profesionální zvukové karty, nebo karty, u nichž je možná časová synchronizace master/slave přes zvláštní kabel nebo S/PDIF rozhraní, aby časová základna byla v audio systému jediná.

A kdy myslíte, že Linus vyřadí ovladače OSS ze své větve?

Myslím, že OSS ovladače budou vyřazeny ve vývojovém jádře 2.7.

XMMS, nebo amarok?

Ani jedno. Používal jsem mpg123, mpg321. Teď mám období, kdy moc muziku neposlouchám. Občas si pustím přes Internet rádio. V tomto případě používám MPlayer. Jak už jsem se zmínil - u mě vede příkazová řádka.

Tušil jsem to. KDE, nebo GNOME?

Používám spíš KDE, ale třeba můj pracovní notebook má Fvwm2, protože jsem KDE omylem smazal a zjistil jsem, že tak robustní okenní manažer ke své práci vůbec nepotřebuji. Pracuji převážně ve shellu z příkazové řádky a doba nutná k vyvolání aplikace z příkazové řádky může být mnohdy kratší než proklikáním přes menu.

Vim, nebo Emacs?

Ani jedno (smích). Joe je můj editor. Je malý a najdu ho skoro všude.

Vzkaz čtenářům?

Přeju jim, ať si užívají Linux a open-source software obecně. Pro mě jako člověka, který do něj trochu vidí, začíná být například fantastické to, že se objevuje stále více malých zařízení, ve kterých Linux je a že firmy začínají distribuovat i zdrojové kódy, takže lze výrazně upravit funkčnost. Samozřejmě je mnoho uživatelů, kteří toto neocení, ale na druhou stranu i tito uživatelé mohou těžit z toho, že výsledný produkt je, nebo může být, díky open source, levnější než konkurenční produkty.

Děkuji za rozhovor a přeji mnoho úspěchů.

Děkuji. Nápodobně.

Diskuze (0) Nahoru