Instalace nejen realtimeového jádra do openSUSE 11.1

tuxbassRealtimeový kernel, neboli nízkolatenční jádro, slouží převážně muzikantům. Umožňuje totiž díky okamžité odezvě systému zpracování zvuku s nízkou latencí, tedy s velmi malým zpožděním, a to v řádu milisekund.

Nyní po velmi dlouhé době od vydání aktuální verze naší milované distribuce je realtimeové jádro konečně dostupné i pro openSUSE 11.1 a to díky vývojáři jménem Jan Engelhardt (http://jengelh.medozas.de/linux/) a jeho repozitáři, který se nalézá na adrese:

http://ftp5.gwdg.de/pub/linux/misc/suser-jengelh/SUSE-11.1/

Obsahuje nejnovější jádra řady 2.6.29. Obsahuje jak realtimeová jádra, tak jádra defaultní, a dále příslušné jaderné moduly a ovladače pro grafické karty od firmy nVIDIA. Díky obsahu více typů jader mohou využít tento repozitář i běžní uživatelé (bez hudebního sluchu).

Obsažená jádra jsou následující:

  • kernel-default (výchozí jádro)
  • kernel-pae (jádro s podporou až 64 GB operační paměti i na 32b systému)
  • kernel-rt (realtimeové jádro)
  • kernel-rtpae (realtimeové jádro s podporou až 64 GB operační paměti i na 32b systému)

Dále z tohoto repozitáře bezprostředně využijete balíčky ovladačů pro grafické karty nVIDIA (ovladače pro karty od firmy ATI obsaženy nejsou a bohužel se (zatím) v repozitáři nenalézá ani příslušný balíček kernel-rt-source nutný pro instalaci binárních ovladačů stažitelných přímo ze stránek výrobce). Každopádně balíčky ovladačů jsou následující:

  • nvidiagfx (nejnovější ovladače ve verzi 180.44 pro grafické karty řady GeForce 6xxx a vyšší. Tento balíček víceméně odpovídá balíčku x11-video-nvidiaG02 z komunitního repozitáře nVIDIA)
  • nvidiagfx-legacy173 (ovladače pro řadu GeForce FX 5xxx)
  • nvidiagfx-legacy96 (ovladače pro řadu GeForce 4 a starší)
  • nvidiagfx-legacy71 (ovladače pro archaické, tedy hodně staré karty?)

K nim jsou zapotřebí balíčky jaderných modulů:

  • nvidiagfx-kmp-default (jaderný modul ovladačů pro výchozí jádro)
  • nvidiagfx-kmp-pae (jaderný modul ovladačů pro PAE jádro)
  • nvidiagfx-kmp-rt (jaderný modul ovladačů pro realtimeové jádro)
  • nvidiagfx-kmp-rtpae (jaderný modul ovladačů pro realtimeové PAE jádro)

Uvedl jsem jen jaderné moduly pro nejnovější ovladače, tedy balíček nvidiagfx. Podobně jsou obsaženy i jaderné moduly nVIDIA Legacy ovladačů a to samozřejmě pro všechna jádra.

Objevil se mi ale také jeden problém. Dal jsem si instalovat kernel-rt a k němu balíček ovladačů nvidiagfx s příslušným jaderným modulem nvidiagfx-kmp-rt. Díky potřebě vyřešení vyvstalých konfliktů závislostí jsem současně s touto operací byl nucen odinstalovat všechny součásti defaultního jádra a samozřejmě všechny balíčky z komunitního repozitáře nVIDIA. To by nebylo zas tak hrozné, používal jsem vždycky jen jedno a to právě realtimeové jádro. Po instalaci a potřebném restartu mi systém relativně normálně naběhl (do grafického rozhraní), ale nebyla aktivována 3D podpora ani kompozitní režim (efekty plochy v KDE 4.2), s tím, že příslušná zatržítka byla zašedlá, čili neaktivní.

Pakliže se Vám to také stane, vyřešte to stejně jako já:

  1. spusťte si konzoli
  2. přihlašte se příkazem su jako superuživatel, čili root (zadejte heslo)
  3. spusťte příkazem mc správce souborů Midnight Commander
  4. přejděte do složky /etc/X11
  5. najděte a klávesou F4 otevřete pro editaci konfigurační soubor xorg.conf
  6. vyhledejte v něm sekci "Device" a v ní v řádku Driver zaměňte "nv" za "nvidia"
  7. v té samé sekci u řádku Option "HWCursor" přepište "off" na "on"
  8. nakonec vyhledejte sekci "Extensions" a v řádku Option "Composite" přepište "off" na "on"
  9. pak soubor klávesou F2 uložte a následně ho klávesou F10 zavřete
  10. zavřete konzoli a restartujte počítač

Nyní již by vše mělo být v pořádku.

Pozor! v hlavním repozitáři openSUSE můžete nalézt zcela nové jádro kernel-trace s popiskem The Realtime Linux Kernel. Zjistil jsem ale, že tento popisek balíčku je špatný.

kernel-trace

Kernel-trace není realtimeové jádro, ale z dostupných informací jsem zjistil, že se jedná o jádro s podporou sledování (trasování) událostí. Zapátral jsem totiž na internetu, ale prvotním impuls mi dal program Rosegarden, který mě přivítal následující hláškou:

rosegarden-kernel-rt

Navíc Jack také nepracuje se stabilně nízkou latencí, ale dochází k výpadkům ve zpracování.

Zadal jsem to do Bugzilly jako bug číslo 488692 a vypadá to, že bude popisek balíčku kernel-trace v dohledné době opraven.

Poznámka:

Objevil jsem i o něco oficiálnější repozitář přímo pojmenovaný RT na adrese:

http://download.opensuse.org/repositories/Kernel:/RT/openSUSE_11.1/

V něm se nacházejí realtimeová jádra verze 2.6.26.8, ale neobsahují už jaderné moduly pro ovladače grafických karet nVIDIA a ATI. Ovšem jsou v něm dostupné zdrojové texty v příslušném balíčku kernel-source-rt, který je potřeba pro klasickou instalaci binárních ovladačů. Bohužel i s tímto je problém, protože instalace zahlásí "The kernel header file does not exist" a balíček linux-kernel-headers opět v tomto repozitáři chybí, a ani tento stávající balíček z hlavního repozitáře nelze z důvodu závislostí odinstalovat (pomohlo-li by to vůbec něčemu). Navíc i kdyby to fungovalo, tento repozitář je také zvláštní, protože aktualizace těchto jader vychází takřka denně (kdo proboha co tak pořád opravuje na relativně starém jádru?) a kdo má tak často čas, chuť a náladu instalovat ovladače a jádro?

Více o problematice zpracování zvuku na Linuxu (v reálném čase) naleznete i na mých stránkách http://audiolinux.czweb.org/

Autor: Aidamos

Komentáře

Fuzo odpověděl -

Nevím co říct jen snad strohé Dík. Super článek a halavně vaše stránky. Klobouk dolů. Já sám používám SuSe 11 jako server v práci ale jnak jsem Widlák ale s desktopem doma pořád váhám a vaše stránky mě přesvědčili že opět zkusím dual boot. Ještě jednou díky.

diamonds-notebook odpověděl -

Zdravím,

chci se zeptat na to, zda a jak lze dostat do systému s Kernel 2.6.29 ndiswrapper, který celkem dost potřebuji. Díky

S pozdravem
Petr Malý

Aidamos odpověděl -

Copak ndiswrapper, ten je normálně v hlavním repozitáři, Ty myslíš jaderný modul, tedy něco jako balíček ndiswrapper-km-pae_2.6.29. Ten v repozitáři Jengelh chybí a ani jsem ho nikde jinde nenašel. Stejně tak, jak zmiňuji, nejsou v daném repozitáři jaderné moduly pro grafické karty ATI, jen nVIDIA.
Já ho naštěstí nepotřebuju, používám tohle jádro jen na desktopu, kde mám pevnou bezproblémovou síťovku a na noťasu mám wi-fi Broadcom, a pro tu je přímo balíček s ovladači.