Nejnovější verze Ubuntu Jaunty Jackalope vyšla 23. dubna a proti předchozímu vydání přinesla některé zajímavé novinky, na které uživatelé delší dobu čekali. Bohužel s vylepšeními přišly také nové problémy – na počítačích s grafickými kartami Intel klesl výrazně výkon a některé stroje odmítly startovat grafický subsystém úplně.
Přechod na novou verzi je u uživatelské obce postupný, někteří opatrnější uživatelé takticky vyčkávají na první problémy, které se samozřejmě objeví až při „masivním testování“ – tedy při ostré instalaci na mnoha počítačích u deseti milionů uživatelů na světě.
Jak se problém projevuje?
Potíže se týkají počítačů s grafickými kartami Intel. Uživatelé pozorují výrazné snížení výkonu, grafické efekty v prostředích jsou velmi trhané, video ve vyšším rozlišení je nekoukatelné, 3D hry jsou nehratelné a pohyby oken jsou tak pomalé, že je systém často nepoužitelný.
Jiní uživatelé zase hlásí nefunkční akceleraci desktopu a zcela vypnuté efekty prostředí (Compiz), pády a další potíže.
Také server Phoronix, který se často zabývá různými (nejen) výkonnostními testy, se rozhodl problém prověřit a jeho výsledky vážný výkonnostní problém potvrzují. Ve většině testů je výkon méně než poloviční, ale často také pětinový. Podotýkám, že testy byly prováděny několik měsíců před vydáním, takže o problému se vědělo.
UXA, EXA a GEM
Za celým problémem stojí magická slůvka UXA, EXA a GEM. Nové jádro 2.6.28 přineslo podporu GEM, což je nový moderní správce paměti specializovaný na grafické karty. Jeho používání by mělo na grafických kartách Intel přinést výrazné zvýšení výkonu – hovoří se až o 60 %.
Jaderného správce GEM využívá nové API používané grafickým serverem X.org a ovladači karet Intel. Rozhraní se jmenuje UXA a mělo by časem nahradit zastaralé rozhraní EXA, které ještě mimo jiné nevyužívá GEM.
Vlivem postupného přechodu od EXA k UXA jsme se tak dostali do svízelné situace, protože EXA rozhraní je označováno za zastaralé a UXA zatím nikdo nepoužívá, protože je příliš nové a zatím ještě nestabilní. Vývojáři ovladačů Intel a linuxového jádra jsou tak na půl cesty mezi oběma rozhraními, což je jádro celého problému.
Právě v jádře 2.6.28, které je součástí Jauntyho, se objevil GEM a jeho použití vyžaduje úpravy v ovladačích. Tím se spustila hlavní vlna vývoje ovladačů, které jsou tak v nestabilním stavu a vývojáři se je snaží dostat „od EXA k UXA“. A do toho všeho se právě trefilo vydání nového Ubuntu.
Canonical už ale oznámil, že pokud vše půjde dobře, bude UXA zapnuté v příštím Ubuntu Karmic Koala:
V pozdějších testovacích verzích Karmic pravděpodobně ovladače Intel přejdou z akcelerační metody EXA na novou UXA. To vyřeší vážné výkonnostní problémy Ubuntu 9.04, ale stále ještě to není řešení stejně stabilní jako EXA, což je také důvod, proč ještě není standardně aktivní.
Tak EXA nebo UXA?
Canonical samozřejmě ví o nestabilitě UXA a ještě testuje a vyčkává. Přesto se již přechod na novou akcelerační architekturu začal projevovat i v aktuálním Ubuntu. V tom jsou totiž již nové ovladače Intel, které jsou určeny pro postupný přechod mezi EXA a UXA a tady je právě kámen úrazu. Zvolená kombinace jádra 2.6.28, Mesa 7.4.1 a X serveru 1.6 přináší výše popsané problémy nejen s výkonem.
Navíc nové verze ovladačů správně nefungují s některými kartami. Vývojáři proto museli zakázat akceleraci na některých modelech, což je také důvod, proč uživatelé hlásí mizející efekty v prostředí Compiz – po násilném povolení akcelerace dochází k nečekaným pádům a problémům s přehráváním videa.
Konkrétní problémy jednotlivých čipů a karet shrnuje speciální stránka, na které se také můžete dočíst, které karty dokonce vůbec nenastartují (například i855) a jak se na kterých kartách chovají nové ovladače s EXA či UXA. Zkušenosti uživatelů jsou v každém případě velmi různorodě a obvykle ne příliš dobré. Náprava tedy nebude příliš jednoduchá a zřejmě tedy ani rychlá.
Co s tím?
Problém je to samozřejmě velmi nepříjemný, neboť se dotýká mnoha uživatelů s netbooky, ale i dalšími počítači s dnes poměrně rozšířenými grafickými kartami Intel. Ty jsou podle dostupných informací obsaženy ve více než polovině všech současných notebooků. Řešení můžeme obecně shrnout do dvou kategorií: upgrade nebo downgrade.
Potíže se totiž projevují jen na aktuální „přechodové“ sestavě ovladačů, jádra a X serveru. Pokud se ručně vrátíte k ovladači 2.4 z Ubuntu 8.10, problémy zmizí a vše bude postaru – méně výkonná EXA disponující vysokou stabilitou. Tímto postupem ovšem přijdete o nové možnosti pohodlné konfigurace přídavných monitorů.
Naopak můžete také v Jaunty aktualizovat na jádro 2.6.29, které je již v integraci nového rozhraní pokročilejší a většinu problémů řeší. To naleznete připravené ve speciálním repositáři. Pokud chcete experimentovat, můžete ze stejného zdroje nainstalovat také vývojovou verzi jádra 2.6.30. Ta vám nabídne další zvýšení výkonu, ovšem nové problémy zase zavleče, což je ale vzhledem ke stádiu vývoje pochopitelné.
Poslední možností je čekat. Vývojáři Ubuntu některé problémy postupně opravují a řešení přijíždějí společně s aktualizacemi. Některé zdroje hlásí, že problémy s kartami x3100 byly aktualizací vyřešeny.
Muselo to být?
Akademická otázka na závěr zní: musel nutně Canonical do své distribuce dodat problémovou kombinaci balíků, která způsobuje ohromné problémy polovině uživatelů?
Canonical prokazatelně o problémech věděl, upozorňoval na ně v poznámkách k vydání, kde zmiňuje nejen problémy s výkonem, ale také se zamrzáním a další.
Bug byl hlášen už v březnu, tedy ještě s dostatečným předstihem, ale z mnohých zdrojů je jasné, že i před jeho nahlášením vývojáři o problému věděli. Otázka tedy je, jestli bylo opravdu nutné pospíchat a dodat rozbité a neotestované ovladače.
Firmě Canonical teď zbývá jediné: snažit se co nejrychleji většinu problémů eliminovat, jinak může přijít o dobré jméno i o dobrou pověst značky Ubuntu. Můžeme jen doufat, že se z tohoto problému ostatní tvůrci distribucí poučí.