як... встановити драйвер відеокарти nvidia?

| оновлене, комп'ютери, linux

вкотре видаляю та встановлюю драйвер відеокарти nvidia для opensuse linux, і до цього часу доводилося щораз відкривати відповідну сторінку на сайті opensuse, щоби пригадати алгоритм. а перший раз ця -- проста! --- процедура нагадувала мені ті самі "шаманські танці з бубном", і скільки пішло часу на те, щоби знайти, прочитати та зрозуміти якісь інструкції, написані хоча б приблизно людською мовою...
! описане далі дійсне лише для відеокарт nvidia! якщо маємо карту ati --- шукаємо відповідні інструкції.
в користувачів сучасних версій opensuse (тобто 10.2 й старше) єсть можливість скористатися найпростішим методом --- встановленням через веб-сайт:
1. відриваємо сторінку з інструкціями на сайті opensuse
2. шукаємо свою відеокарту в переліку старих (legacy) карт --- якщо знаходимо, вибираємо кнопку встановлення відповідного legacy драйвера, якщо не знаходимо --- вибираємо новий драйвер.
3. далі просто спостерігаємо, поки працює менеджер пакунків yast2, котрий викачає з мережі та встановить драйвер.
все.

але що, коли доступу до інтернету немає, але єсть викачаний прямо з сайту nvidia файл з драйвером? або ж якщо жоден з двох драйверів (новий та legacy) в поточних версіяї не підтримує нашу відеокарту, але драйвер для неї все ж таки знайшовся в архівах там-таки на сайті nvidia?

другий метод --- використання інсталятора nvidia (файл скрипта з розширенням .run). отже...

1. викачуємо драйвер
в розділі download drivers веб-сайту nvidia шукаємо драйвер для своєї системи (linux), платформи (32 чи 64 біти) та відеокарти --- уважно читаємо примітки (readme): якщо модель карти не згадується в переліку підтримуваних --- не встановлюємо, інакше після цього доведеться вже по-справжньому "шаманити", щоби знову запустити віконну систему (x-сервер)... якщо все гаразд --- викачуємо драйвер і зберігаємо кудись на жорсткий диск, наприклад прямо в домашню папку (~).

2. переходимо до текстової консолі
комбінація клавіш ctrl+alt+f1 дозволить перейти до першої текстової консолі (ctrl+alt+f7 повертає до першого графічного екрану). отже, тиснемо
ctrl+alt+f1
і у відповідь на запрошення системи реєструємося адміністратором (root):
Computer login: root
Password: *
звісно, замість Computer тут буде назва пк, а замість зірочки треба набрати пароль адміністратора.

3. перемикаємо на рівень виконання 3
для встановлення драйвера необхідно зупинити графічну систему --- x-сервер (ікси). для цього набираємо просту команду init 3
Computer:~ # init 3
якщо тепер спробуємо повернутися до графічного екрану (ctrl+alt+f7) --- нічого не вийде, х-сервер не працює. нічого не залишається, як рухатися далі =)

4. запускаємо інсталятор
найперше переходимо до тієї папки, куди збережено файл з інсталятором. для навігації по структурі каталогів єсть команди cd (change directory) --- змінити поточну папку, та ls (list) --- дати перелік файлів у поточній папці. Наприклад, якщо інсталятор збережено в домашній папці користувача pupkin, набираємо таке:
Computer:~ # cd /home/pupkin
Computer:/home/pupkin # ls
у відповідь отримуємо перелік файлів у домашній теці. нас цікавить інсталятор --- щось типу NVIDIA-Linux-x86-71.86.01-pkg1.run, цифри після позначають платформу та версію і будуть відрізнятися. запускаємо:
Computer:/home/pupkin # sh NVIDIA-Linux-x86-71.86.01-pkg1.run -q
звісно, набирати все це руками ліньки --- добре, що не лише нам, але й розробникам оболонки, тому набравши, скажімо, sh NVI, тиснемо Tab --- і система закінчить набір.

інсталятор працює досить автономно (опція -q примушує його не задавати користувачеві лишніх запитань), але щонайменше погодитися з ліцензійною угодою (accept) доведеться.

5. відновлюємо рівень виконання 5
після того, як інсталятор ощасливить успішним завершенням встановлення драйвера, він каже щось про необхідність запустити sax2 для фінального налаштування x-сервера --- не треба цьго робити в opensuse версії 10.2 та вище! просто повертаємося до рівня виконання 5:
Computer:~ # init 5
тут маємо побачити звичне графічне запрошення до реєстрації (якщо не включено автореєстрацію --- тоді взагалі попадаємо одразу до своєї робочої стільниці).

власне, все. залишиться запустити yast2 (адміністраторські параметри --- конфігуратор opensuse) і перевірити, що дійсно функції тривимірної графіки включено.


якщо все це ми зробили, інсталятор нормально встановився, але функції 3d не увімкнулися --- швидше за все, система з якихось причин продовжує використовувати стандартний драйвер без підтримки тривимірної графіки. тоді варто запустити профіль адміністратора, знайти файл xorg.conf у теці /etc/X11, відкрити його простим текстовим редактором (kedit чи kate), знайти там у секції "Device" рядок
Driver "nv"
і замінити його:
Driver "nvidia"
зберігаємо файл і перезапускаємо x-сервер (для цього натискаємо ctrl+alt+backspace). тоді знову перевіряємо, чи увімкнулася підтрика 3d.

і ще одна деталь: якщо з якихось причин встановлений драйвер треба вилучити --- вся процедура повторюється, тільки на етапі запуску інсталятора необхідно вказати додаткову опцію:
Computer:/home/pupkin # sh NVIDIA-Linux-x86-71.86.01-pkg1.run --uninstall
p.s. до речі, а що ми знаємо про шаманські бубни?