Inštalácia ovládača nVidia a nouveau
Do testingu nedávno prišlo jadro 2.6.32, ktoré môže znepríjemniť život používateľom proprietárneho ovládača nVidia, pretože v sebe prináša podporu slobodného ovládača pre nVidia karty. Trochu ho znepríjemnila i mne, a to v najnevhodnejšiu chvíľu aktualizácia jadra nastala presne v deň, keď som si domov doniesol nový stroj…
Obsah článku
Ovládač nouveau
Ak sa pýtate, čo je zlé na slobodnom ovládači, iste máte pravdu, ale… Podľa dostupných informácií je nový slobodný ovládač pre grafické karty nVidia nouveau, oproti starému nv, veľkým krokom vpred, a to po všetkých stránkach. Nový ovládač prináša:
- Kernel Mode Setting (KMS), teda prenos zodpovednosť za nastavenie rozlíšenia na jadro
- podpora uspávania a prebúdzania
- 2-D podpora s akceleráciou EXA, Xv a Randr12 (dva monitory, rotácie a podobne)
- 3-D podpora nie je implementovaná
Tí odvážnejší môžu experimentovať s podporou 3D akcelerácie pomocou ovládača Gallium3D, ale táto časť je stále viac experimentálna ako funkčná.
Inštalácia ovládača nVidia
Ak sa teda rozhodnete napriek všetkým výhodám slobodného ovládača i
tak nainštalovať proprietárny, nič vám v tom nebráni a postup je
vlastne rovnaký ako predtým, ale oproti starším jadrám je potrebné
urobiť jeden krok naviac. Tým krokom je zakázanie použitia modulu
nouveau
, ktorý sa inštaluje do obrazu initrd
a už jeho existencia v
pamäti zabráni kompilácii modulu nvidia
.
Tip
Takže nebude popisovať samotnú inštaláciu, ale len zakázanie nouveau.
Prvým krokom je pridanie tohoto modulu do blacklistu, teda do zoznamu zakázaných modulov. Toto zaistíte pridaním riadku:
blacklist nouveau
do súboru v adresári /etc/modprobe.d
. Do ktorého súboru? No tu si
môžete zvoliť napríklad systémový blacklist.conf
, ale ja dávam
prednosť vytvoreniu si samostatného súboru (napríklad
moj-blacklist.conf
). Pýtate sa prečo? Spomínaný súbor
(/etc/modprobe.d/blacklist.conf
) je súčasťou balíka udev a
aktualizácia udev sa pokúsi aktualizovať i tento súbor. Nie, neprepíše
ho automaticky, ale jeho aktualizáciu, teda nahradenie, ponúkne. Ak ho
nenahradíte, nebude jeho obsah aktuálny, ak ho nahradíte, prídete o
svoje nastavenia.
Ak však vytvoríte v tomto adresári (/etc/modprobe.d/
) súbor vlastný
a pomenujete ho tak, že bude mať príponu .conf
, žiadna aktualizácia
sa ho týkať nebude a svoje zmeny nastavenia nebudete musieť neustále
obnovovať.
Zakázanie modulu však nestačí, je potrebné aktualizovať aj inicializačný RAM disk, pomocou príkazu:
update-initramfs -u
V závislosti od výkonu stroja zaberie vykonanie tohoto príkazu nejaký čas, ale kávu si nevarte, až tak dlho zase nepobeží. Po jeho dokončení ešte treba reštartovať počítač. Teda možno netreba, ale ručné odstránenie modulu nouveau sa mi proste nepodarilo, tak som to vzdal a reštartoval.
Po reštarte som sa samozrejme dostal do problémov s grafickým rozhraním (nenabehlo), ale to ako problém nepociťujem, keďže na inštaláciu ovládača nvidia ho i tak treba vypnúť.
Až vám teda systém naštartuje, možno už bez problémov nainštalovať proprietárny ovládač a spustiť X server.
Dnes som z iného dôvodu opäť študoval pomocníka, ktorého inštalátor ovládačov nVidia poskytuje, a našiel som prepínač, ktorý som si predtým nevšimol. Keďže už mám ovládač nouveau zakázaný, tak som jeho funkčnosť neskúšal, ale možno niekto iný vyskúšal a podelí sa so skúsenosťou. O tom prepínači pomocník píše:
-z, --no-nouveau-check
Normally, nvidia-installer aborts installation if the
nouveau kernel driver is in use. Use this option to
disable this check.
Z uvedeného vyplýva, že by malo byť možné nainštalovať ovládač aj pri aktívnom nouveau, a teda vyvarovať sa problémom s nenabehnutým grafickým prostredím po reštarte so zablokovaným nouveau.
Záver
Ziadne dlhé litánie na záver, len krátka poznámka, že systém KMS na mňa zapôsobil, pretože automatické nastavenie rozlíšenia konzoly bolo proste effektné! Takže vývojári nouveau, gratulujem k výsledku vašej práce (hoci ešte nie je celkom hotová, je super) a prajem veľa úspechov s implementáciou podpory 3D akcelerácie, aby som mohol na proprietárny ovládač zabudnúť celkom!