[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Пропрієтарні графічні драйвери

Графічна підсистема X.Org X11, надає велику кількість драйверів, принаймні прискорювачі 2D для більшості відео карт, якщо система поставляється з GPU від AMD (ATI) чи nVIDIA, то до них можна завантажити та встановити бінарні пропрієтарні драйвери, з офіційного сайту виробника.

Ціль цієї статті, визначити різні методи встановлення та налаштування цих пропрієтарних драйверів, в системі Slackware.

Встановлення та налаштування драйверу AMD (ATI) Catalyst

AMD лишили підтримку старих відео карток (серії 4xxx та нижче) в поточних (12.6), так і в наступних версіях пропієтарних драйверів, так що майте це на увазі та впевніться що ваша відео картка підтримується драйвером. Якщо ваша картка не підтримується, відкритий драйвер xf86-video-ati може стати у нагоді, але він значно повільнішій.

Завантаження

Зазначте, що встановлювач (installer) збере драйвер (fglrx), та йому потрібні встановлені модулі ядра (kernel-modules) та джерельний код ядра (kernel-source). Наступні кроки підходять як для графічного (UI), так і для консольної версії(CLI) користувальницького інтерфейсу встановлювача.

Встановлення

Наступні інструкції описують як створити та встановити пакунок сумісний з Slackware. Він генерується автоматично встановлювачем і за звичай працює добре. Існує ще метод 'автоматичного' встановлення.

Catalyst з драйверами для Linux, можна завантажити з цього посилання. Цей файл сумісний для двох архітектур 32 та 64 біт.

Після завантаження, розпакуйте (unzip) файли командою:

$ unzip amd-driver-installer-VERSION-x86.x86_64.zip

Наступний крок, перекричіться на користувача root:

$ su -

Перейдіть до директорії яка містить файл 'run', та запустіть встановлювач командою:

# sh amd-driver-installer-VERSION-x86.x86_64.run

Встановлювач збере інформацію про вашу систему, та запропонує обрати один з двох методів, автоматично встановити чи створити пакунок для цільової системи (дистрибутив). Тут оберіть створення пакунку, так як такий пакунок в майбутньому можна керувати в системному менеджері пакунків Slackware.

Коли вибір зроблено як пакунок, будь ласка оберіть “Detected OS: Slackware/Slackware”.

Після того як збірка завершена, встановлювач згенерує пакунок в ту саму директорію, де був файл 'run', та ви можете виконати команду:

# installpkg fglrx-VERSION-x86-1.tgz

Якщо будь-які помилки будуть знайдені під час встановлення, ви можете побачити їх у файлі журналі /usr/share/ati/fglrx-install.log.

Налаштування

Щоб користуватись новими драйверами, вам необхідно перезавантажити систему. Перед цим, відредагуйте файл /etc/modprobe.d/blacklist.conf (чи створіть йього /etc/modprobe.d/radeon_blacklist.conf), та додайте в нього рядки:

blacklist radeon
blacklist radeonhd

Далі ви можете створити новий файл налаштувань для X.Org, виконавши:

# aticonfig --initial -f

Зазвичай X.Org не потребує файл /etc/X11/xorg.conf, але в деяких випадках (зазвичай для старих карт) необхідні наступні рядки у fglrx секції 'Device':

Option "SWCursor" "true"

Якщо помилок не трапилось, та драйвер нормально встановився, ви повинні перезавантажити систему, щоб почати користуватись драйвером.

Тестування

Після перезавантаження, ви можете зробити тест драйверу, запустивши:

$ fgl_glxgears

Повинні з’явитись обертові шестерні, які обертаються повільно та без глюків.

Також ви можете виконати:

$ glxinfo

Перегляньте перші декілька рядків щоб дізнатись, чи увімкнена функція DRI. Якщо ні, тоді вам потрібно зробити набагато більше дій, тому, що процес створення пакунка, який вмонтовано у встановлювач ati, дуже старий (до офіційної версії Slackware з архітектурою 64біт), та деякі файли треба пересунути в інше місце, щоб воно запрацювало на версії Slackware 14.1. Пакунок для slackbuilds.org який виправляє цю проблему, працює, але в той же час, ви можете самостійно та вручну виконати це рішення (з форуму linuxquestions), чи якщо все інше закінчилось з помилкою, опція автоматичного встановлювання повинна працювати.

Автоматичне видалення

Якщо ви до цього обрали встановлення пакунку автоматично, та вам стало необхідним вилучити драйвер, ви можете запустити встановлювач з додатковим аргументом uninstall, як наприклад:

# sh amd-driver-installer-VERSION-x86.x86_64.run --uninstall

Чи викликати скрипт видалення напряму командою

#/usr/share/ati/amd-uninstall.sh
Не має значення як він був встановлений, видалення драйверу fglrx, “зламає” підсистему mesa як тільки файли будуть пересунуті. Встановлювач попередить про перевстановлення mesa. Також, пам’ятайте, що якщо ви захочете повернути заводські “ядерні” драйвери radeon/radeonhd, ви повинні будете видалити рядки з blacklist, які раніше були додані у файл налаштувань модулів ядра.

Встановлення та налаштування драйвера nVIDIA

Встановлення через SlackBuilds.org

Едвард Коініг (Edward Koenig) обслуговує пакунки libvdpau, nvidia-driver та nvidia-kernel на SlackBuilds.org

Щоб працював драйвер nVIDIA, необхідні усі ці пакунки. Пакунок nvidia-kernel, збирає модуль ядра, nvidia-driver збирає драйвер для X.Org та містить у собі реалізацію OpenGL та сумісні COMPAT32 бібліотеки, для використання у мультибібліотечній системі Slackware64. Для nvidia-driver необхіден пакунок libvdpau.

Видалення модуля ''nouveau''

Перший крок під час встановлення драйверу, це внесення до чорного списку (blacklist) драйвер nouveau. Невиконання цього кроку, призводить до помилок у startx як на приклад: “ERROR: could not insert 'nvidia': No such device”.

Внесення драйверу nouveau до чорного списку, виконується встановленням пакунка xf86-video-nouveau-blacklist з директорії “extra”, яка знаходиться на носії з встановлювачем системи Slackware. Це може бути зроблено використавши встановлювальні CD чи DVD диски, завантаження файлів з одного з багатьох дзеркал Slackware, чи використовуючи утиліту slackpkg.

Встановлення пакунка

На цей час є два способи встановлення пакунків з SlackBuilds.org:

  • завантаження відповідних скриптів з SBo, та дотримання процедури встановлення SlackBuild
  • використання інструменту sbopkg, який автоматизує завантаження сирцевого коду, та зробить послідовність збірки та встановлення декількох пакунків.

Як тільки пакунок було встановлено згідно з інструкцію яка поставляється з кожним SlackBuild, сервер X11 може бути запущено з повноцінною підтримкою GPU (модуль графічний процесор).
Для налаштування X11 на автоматичний запуск, подивіться в наступному розділі “Запуск X11 з підтримкою GPU nvidia”.

Вирішення проблем

FIXME

Встановлення використовуючи бінарний встановлювач nVIDIA

Встановлення бінарного драйверу nVIDIA, включає в себе наступні кроки:

  • Завантаження відповідного пакунку встановлювача драйверу nvidia
  • Вимкнення та вивантаження драйверу nouveau
  • Встановлення драйверу nvidia
  • За бажанням, налаштування системи для автоматичного старту графічного інтерфейсу

Наступний лист містить у собі ключові кроки по встановленню драйверу nvidia. Повний текст статті далі.

Для тих, хто хоче відразу побачити усі команди, тут підібрано лист з відповідними командами:
  • Перейдіть до вебсайт драйверів nVIDIA для Unix та завантажте відповідний драйвер. Ім'я пакунка з драйвером повинен бути щось на зразок “NVIDIA-Linux-архітектура-версія.run” де “архітектура” це архітектура центрального процесору комп'ютера, а “версія” це версія драйвера.
  • Впевніться зо X11 не запущено; якщо запущено, вийдіть та увійдіть у текстову консоль
  • Зайдіть як користувач root, запустіть встановлювач nVIDIA командою
    # sh /path/to/NVIDIA-Linux-ARCH-VERSION.run
  • Якщо напише, що потрібно занести nouveau до чорного списку, зробіть це та перезавантажте систему
  • Запустіть встановлювач з правами root після перезавантаження
  • Як мінімум, оберіть що ви приймаєте ліцензію, та встановіть драйвер. Зверніться до встановлювача nVIDIA, щоб дізнатись про автоматичні варіанти встановлення.

Якщо nvidia-xconfig не був запущений встановлювачем, він також може бути запущений після завершення процесу встановлення, та перед запуском серверу X11, чи файл “/etc/X11/xorg.conf” має бути відредаговано вручну.

Завантаження відповідного встановлювача бінарних драйверів nVIDIA

Перший крок це завантаження відповідного драйверу з вебсайту драйверів nVIDIA для Unix. Для 64 бітної версії Slackware (включаючи мільтибібліотечну систему) ви повинні завантажити пакунок “Linux x86_64/AMD64/EM64T”, а для 32 бітної версії, потрібно завантажити “Linux x86/IA32”. Ви можете спокійно обрати “Гілку з найсвіжішою версією та з довгою підтримкою”, але в деяких випадках (наприклад дуже сучасна відео картка, або халепа з монітором яку ви хочете вирішити) ви повинні обрати “Гілку з найсвіжішою версією та з короткою підтримкою”.
Також доступні старі версії драйверів, та драйвери для старих карток (які вже не підтримуються). Коли ви обираєте драйвер, відображається лист зі списком сумісних GPU. Як тільки ви визначились з версією драйверу, потрібно погодитись з ліцензійним договором, після чого файл буде збережено на доступне вам місце. Перед тим як запустити встановлювач, є декілька інших кроків які потрібно зробити.

Відключення модуля nouveau

Взагалі, nVIDIA GPU буде виявлений системою Slackware, та графічний драйвер “nouveau” буде увімкнено. Це дозволить працювати прискорювачу 3D (трьох вимірна геометрія малюнка) на багатьох картках. Модулі nouveau та nvidia не є сумісними; отже; перед тим як встановити модуль nvidia, модуль nouveau необхідно вивантажити, та заборонити завантажуватись автоматично в ядро при включені системи.

Для цього, потрібно створити файл у директорії “/etc/modprobe.d/”, текст у файлі повинен бути такий:

blacklist nouveau
options nouveau modeset=0

та він повинен мати відповідну назву; наприклад, “disable_nouveau.conf

Перший рядок блокує модуль nouveau від автоматичного запуску. Модуль все ще можна завантажити вручну, або сервером X. Отже, другий рядок запобігає контролювання modest (KMS - керування роздільною здатністю та іншими параметрами дисплея в просторі ядра) драйвером nouveau, якщо той буде все ж таки запущено, та дозволяє модулю бути вивантаженим з ядра. 1)

У довідки (README) modprobe.d сказано, що монолітний файл чорного списку, був розділений на маленькі файли які знаходяться у директорії /lib/modprobe.d/ Але, файли .conf в директорії /etc/modprobe.d/ перевизначають (мають вищий пріоритет) файли з директорії /lib/modprobe.d/, тому це місце дає більше гарантій що модуль nouveau заблоковано.

Після відображення помилки про несумісність пропрієтарних драйверів nVIDIA та nouveau, встановлювач nVIDIA запитає права на створення файлу чорного списку .conf в директорії /etc/modprobe.d/ для блокування модулю nouveau, який за замовченням буде мати ім’я nvidia-installer-disable-nouveau.conf, вміст файлу буде:

# generated by nvidia-installer
blacklist nouveau
options nouveau modeset=0

Після чого встановлювач визначить, що він має помилки, та запитає виконати перезавантаження системи, для прийняття змін до сили. Як тільки система перезавантажиться, драйвер nouveau більше не буде завантажений, а процес встановлення бінарного драйверу можна продовжити.

Альтернативно, можна встановити пакунок xf86-video-nouveau-blacklist з директорії /extra“ яка знаходиться на встановлювальному диску Slackware. Як тільки він був встановлений, систему потрібно перезавантажити, з цієї крапки можна продовжити встановлення драйверу.

Встановлення бінарного драйверу nVIDIA

Встановлення бінарного драйверу nVIDIA не може бути завершено якщо система вікон X11 активна.

За замовченням Slackware завантажується у текстову консоль (термінал). В цьому випадку, встановлювач nVIDIA може бути просто запущений. Але, якщо графічне оточення вже запущено, треба спочатку з нього вийти. Якщо графічне оточення було запущено командою ”startx“, то просто вийдіть з нього (logout), чи якщо потрібно, натисніть Ctrl+Atl+Bksp.

Якщо використовується графічний менеджер входу (login manager), як наприклад KDM, простий вихід через меню чи натискання комбінації Ctrl+Alt+Bksp не спрацює так як графічний менеджер входу буде автоматично перезавантажуватись.
Найкращій спосіб вимкнути X, це вийти (logging off), перейти в консольний термінал натиснувши комбінацію Alt+F2, увійти як користувач root та виконати:
telinit 3

Інший метод повернутись у консоль, це дуже не рекомендований спосіб, але він дієвий якщо дуже потрібно, зупинити процес менеджера дисплею (DM), а потім вийти з серверу X, натиснувши комбінацію кнопок Ctrl+Atl+Bksp. Наприклад, KDM можна зупинити виконавши команду

killall -9 kdm

Знову ж таки, цим методом потрібно користуватись тільки якщо інші не спрацювали.

Як тільки сервер X11 вимкнули, встановлювач nVIDIA може бути запущений під користувачем root. Увійдіть як користувач root, чи виконайте команду ”su -“, і потім запустіть встановлювач. Інколи може бути корисним, запустити встановлювач з додатковими аргументами у командному рядку. За додатковою інформацією звертайтеся до розділу “опції встановлювача nVIDIA”.

$ su -
Password:
# sh /path/to/NVIDIA-Linux-ARCH-VERSION.run

Якщо встановлювач запущено без додаткових аргументів, та не виникло ніяких помилок, то процес буде виглядати так:

  • Встановлювач розпакує свій вміст, та запустить інтерфейс на базі бібліотеки ncurses. Першим кроком буде прийняття ліцензійного договору.
  • Якщо встановлення модуля виконується в системі де не було попередніх версії драйверу, встановлювач почне збірку модулю. Але, якщо було знайдено попередній драйвер, встановлювач запросить права для його видалення, як частину процесу встановлення нової версії. Для того щоб продовжити, потрібно надати ці повноваження, для видалення застарілого драйверу.
  • Після збірки модуля на 64 бітній системі, встановлювач запропонує встановити 32 бітні бібліотеки OpenGL для сумісності. Вам будуть потрібні 32 бітні бібліотеки сумісності тільки на 64 бітній Slackware з встановленим пакунком мультибібліотечності.
  • Далі, у випадку якщо попередній модуль, було видалено встановлювачем.
  • Як тільки було визначено, що в системі немає конфліктних файлів X та OpenGL (ця опція повинна бути обрана), модуль буде встановлено.
  • Після чого програма запропонує використати утиліту nvidia-xconfig, для редагування файлу xorg.conf, для відображення змін у відео драйвері. Ця утиліта зазвичай працює, але буває що треба змінити значення інших параметрів у файлі xorg.conf. Ця утиліта може зробити додаткові зміни, проте, вона спочатку зробить резервну копію у файл ”/etc/X11/xorg.conf.nvidia-xconfig-original
  • Далі буде запропоновано підтвердити що процес встановлення завершено, з цієї миті програма вийде у консоль.

Відтепер модуль nvidia встановлений у системі для ядра яке зараз запущено.

Ви повинні створити для X.Org файл налаштувань, який буде завантажувати бінарний драйвер Nvidia, якщо до цього, ви вирішили не дозволяти утиліті nvidia-xconfig редагувати файл xorg.conf. Slackware підтримує індивідуальні файли “*.conf” для X.Org у директорії /etc/X11/xorg.conf.d. Будь який файл з розширенням .conf, буде включений разом з загальним файлом налаштувань /etc/X11/xorg.conf як єдине ціле.
Ви можете створювати наприклад файл з ім'ям /etc/X11/xorg.conf.d/10-nvidia.conf, з наступним вмістом:

Section "Device"
    Identifier  "Device0"
    Driver  "nvidia"
    VendorName "Nvidia Corporation"
    BoardName ""
EndSection

Без цього визначення, ви не отримаєте підтримку прискорення від Nvidia GPU! X.Org перейде в цій ситуації (fall-back) до модулю VESA, так як модуль nouveau занесено до чорного списку. Ядро не зможе визначити бінарний драйвер, на відміну від того як це робиться з драйвером nouveau.

Запуск X11 з підтримкою nvidia GPU

Все що нам залишилось, це запустити сервер X.org. Це може бути виконано шляхом налаштування Slackware так, щоб вона запускалась в режимі runlevel 4, який запускає графічний менеджер входу, такий як наприклад KDM чи XDM, під час завантаження системи. Якщо вам це і потрібно, відредагуйте файл ”/etc/inittab“, замінивши рядок

id:3:initdefault:

на

id:4:initdefault:

Інакше, ви можете увійти під обліковим записом користувача, та для запуску сесії X, виконати команду ”startx“.

За замовченням, startx буде запускати менеджер вікон, який було обрано під час встановлення системи. Для зміни цієї поведінки, необхідно відредагувати файл ”.xinitrc“ в домашній директорії користувача, так щоб запускався якийсь інший менеджер. \\Альтернативно, менеджер вікон може бути змінений для кожного користувача окремо, запустивши утиліту ”xwmconfig“ та обравши один з доступних менеджерів.
Опції встановлювача nVIDIA

Встановлювач nVIDIA має багато опції доступних для системного адміністратора (maintainer), до яких можна отримати доступ запустивши його з параметром -A:

# sh ./NVIDIA-Linux-ARCH-VERSION.run -A

Деякі популярні опції

  • -a, --accept-license : обійти вікно з ліцензійним текстом. Вважаючи що ліцензія прийнята.
  • --update : перевірити будь які оновлення драйверу на сайті nVIDIA; якщо оновлення маються, автоматично завантажити, та встановити вже нову версію.
  • --uninstall : вилучити драйвер nVIDIA та усі файли з попереднього встановлення.
  • -q, --no-questions : вважати що відповіді на усі запитання майстра встановлення, вже надані. Нотатка: це не означає що ліцензія прийнята.
  • -s, --silent : запустити бінарний встановлювач без користувацького інтерфейсу, автоматично прийняти ліцензію та відповісти на всі питання.

Вирішення проблем

FIXME

Джерела

  • Оригінальний розділ про nVidia, написав rinias

 uk:howtos:hardware:proprietary_graphics_drivers ()
Цей переклад старіший ніж оригінальна сторінка і може бути не актуальним. Дивіться що було змінено.
Переклад цієї сторінки?: