pondělí 12. dubna 2010

Jak jsem ladil grafiku II. , aneb můj boj s x-serverem

Na úvod malé vysvětlení pro ty, kdo Linux nepoužívají, a eventuálně by se tímto příspěvkem chtěli prokousat. X-server je tzv. grafický server, který zajišťuje zobrazování veškeré grafiky na monitor počítače. Pokud nefunguje, je možné zadávat příkazy pouze pomocí příkazové řádky, nebo pomocí jednoduchých pseuodografických aplikací – což je sice docela dobře možné, ale malinko nepraktické… J
Můj notebook Acer Extensa 5220 má integrovanou grafickou kartu Intel GMA X3100. Jestli si dobře vzpomínám, dřívě běžela grafika na výkon kolem 900 fps. Od některé aktualizace (nebo přechodu na novější verzi OS, přesně tento okamžik nevím) se výkon snížil na zhruba 380 fps. Dříve šlo hrát třeba oblíbenou hru mého syna TORCS (závody aut) bez problémů, ovšem s nynějším výkonem je zobrazování opravdu dost trhané. Pod vlivem úspěchu s grafikou u táty jsem si říkal, že s tím zkusím něco udělat. Intel totiž v nedávné době měl problémy s ovladači, které byly za určitých okolností nestabilní a s malým výkonem. U mě jsem tehdy nic takového nezaznamenal, paradoxně špatný výkon mám s novými verzemi ovladačů.
Osvědčeným zdrojem nejnovějších balíčků pro grafiky Intel je SW repozitář Ivana Bíbra, který vždy kompiloval (a testoval) nové verze inteláckých ovladačů pro Mandriva Linux. Momentálně používám verzi 2.9.1, Ivan nabízel 2.10.0 a 2.10.909. Po dobrých zkušenostech s dřívějšími verzemi jsem vybral nejnovější a nainstaloval. Po restartu ovšem grafika nenaběhla. Byl jsem celkem v klidu, s terminálem už trochu umím a v Linuxu už se přeci jenom docela orientuji. Navíc existuje jednoduchá utilita XFdrake, která umožňuje jednoduše vybrat a nastavit ovladač GK. Chtěl jsem použít standardní ovladač vesa, který běží v podstatě s jakoukoliv grafárnou – a on nefungoval! Protože momentálně nemám moc času, po chvíli experimentování jsem se na věc vykašlal a pár dní používal OpenSUSE 11.2, které mám nainstalované jako druhý operační systém.
Protože mám už svoji Mandrivu opravdu dobře přizpůsobenou, bylo potřeba problém vyřešit. Nastudoval jsem si příkazy z rodiny urpmi, abych udělal pořádek ve svých softwarových balíčcích (kde jsem předpokládal původ problému). Aktualizoval jsem zdroje, provedl aktualizaci systému, zkontroloval nainstalovaný ovladač – a pořád nic. I když se zdálo, že je nainstalován ovladač GK původní (v. 2.9.1), x-server tvrdošíjně trval na tom, že nemůže nejít modul intel, a tudíž se logicky nespustil. Nepomohla ani opravná instalace z instalačního DVD. Po dalším experimentování jsem zjistil, že se x-server spustí s ovladačem framebuffer (generic), ovšem bez 3D akcelerace. Zaplať pánbůh aspoň za to, systém se rozběhnul!
Nicméně mě žralo, že intelácký ovladač nefunguje, i když je nainstalovaná správná (tedy dříve funkční) verze. Vzhledem ke hlášce o chybějícím modulu intel jsem došel k názoru, že balíček s ovladačem je nějak „nakopnutý“ a neobsahuje všechny soubory. Při pokusu o odinstalaci (abych ho mohl nainstalovat znovu) s sebou díky závislostem chtěl odinstalovat tolik dalších balíčků, že bych si totálně rozhasil systém. Odinstalace balíčku bez kontroly závislostí se mi nepodařila, parametry --allow-nodeps a --allow-force mi příkaz urpme nebral, asi fungují jenom s urpmi. Jak tedy z toho ven? Přeinstalovávat celý systém se mi nechtělo, protože byl velmi dobře funkční . Matně jsem si vzpomněl, že při studiu příkazu urpmi v příručce Mandriva Linuxu (jejímž zastřešujícím autorem je právě Ivan Bíbr alias bibri) jsem narazil na něco, co by mi mohlo pomoct. Jde o o příkaz, který odebere odkaz na balíček z databáze nainstalovaných balíčků, takže je možné nainstalovat balíček znovu. Takže jsem zadal jako root rpm --nodeps --justdb -e jmeno_balicku a potom nainstaloval balíček znovu. Bingo! – po restartu vše šlape tak, jak má!
Nevím, čím byl problém spojený. Můj tip je ten, že jsem se trefil zrovna do období, kdy Ivan uploadoval do repozitáře nové verze balíčků. Tomu by napovídaly chybové hlášky při aktualizaci Ivanova zdroje i hlášky o některých chybějících balíčcích na serveru. Takže nakonec vše dobře dopadlo a až mi trochu otrne, zkusím poslední verzi...

… ovšem proč nefungoval ani ovladač vesa je mi nadále záhadou...

Žádné komentáře:

Okomentovat