Графічна підсистема X.Org X11, надає велику кількість драйверів, принаймні прискорювачі 2D для більшості відео карт, якщо система поставляється з GPU від AMD (ATI) чи nVIDIA, то до них можна завантажити та встановити бінарні пропрієтарні драйвери, з офіційного сайту виробника.
Ціль цієї статті, визначити різні методи встановлення та налаштування цих пропрієтарних драйверів, в системі Slackware.
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
Едвард Коініг (Edward Koenig) обслуговує пакунки libvdpau, nvidia-driver та nvidia-kernel на SlackBuilds.org
Щоб працював драйвер nVIDIA, необхідні усі ці пакунки. Пакунок nvidia-kernel, збирає модуль ядра, nvidia-driver збирає драйвер для X.Org та містить у собі реалізацію OpenGL та сумісні COMPAT32 бібліотеки, для використання у мультибібліотечній системі Slackware64. Для nvidia-driver необхіден пакунок libvdpau.
Перший крок під час встановлення драйверу, це внесення до чорного списку (blacklist) драйвер nouveau
. Невиконання цього кроку, призводить до помилок у startx як на приклад: “ERROR: could not insert 'nvidia': No such device”.
Внесення драйверу nouveau до чорного списку, виконується встановленням пакунка xf86-video-nouveau-blacklist
з директорії “extra
”, яка знаходиться на носії з встановлювачем системи Slackware. Це може бути зроблено використавши встановлювальні CD чи DVD диски, завантаження файлів з одного з багатьох дзеркал Slackware, чи використовуючи утиліту slackpkg
.
На цей час є два способи встановлення пакунків з SlackBuilds.org:
Як тільки пакунок було встановлено згідно з інструкцію яка поставляється з кожним SlackBuild, сервер X11 може бути запущено з повноцінною підтримкою GPU (модуль графічний процесор).
Для налаштування X11 на автоматичний запуск, подивіться в наступному розділі “Запуск X11 з підтримкою GPU nvidia”.
Встановлення бінарного драйверу nVIDIA, включає в себе наступні кроки:
nvidia
nouveau
nvidia
Наступний лист містить у собі ключові кроки по встановленню драйверу nvidia
. Повний текст статті далі.
# sh /path/to/NVIDIA-Linux-ARCH-VERSION.run
Якщо nvidia-xconfig не був запущений встановлювачем, він також може бути запущений після завершення процесу встановлення, та перед запуском серверу X11, чи файл “/etc/X11/xorg.conf
” має бути відредаговано вручну.
Перший крок це завантаження відповідного драйверу з вебсайту драйверів nVIDIA для Unix. Для 64 бітної версії Slackware (включаючи мільтибібліотечну систему) ви повинні завантажити пакунок “Linux x86_64/AMD64/EM64T”, а для 32 бітної версії, потрібно завантажити “Linux x86/IA32”. Ви можете спокійно обрати “Гілку з найсвіжішою версією та з довгою підтримкою”, але в деяких випадках (наприклад дуже сучасна відео картка, або халепа з монітором яку ви хочете вирішити) ви повинні обрати “Гілку з найсвіжішою версією та з короткою підтримкою”.
Також доступні старі версії драйверів, та драйвери для старих карток (які вже не підтримуються). Коли ви обираєте драйвер, відображається лист зі списком сумісних GPU. Як тільки ви визначились з версією драйверу, потрібно погодитись з ліцензійним договором, після чого файл буде збережено на доступне вам місце. Перед тим як запустити встановлювач, є декілька інших кроків які потрібно зробити.
Взагалі, 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)
Після відображення помилки про несумісність пропрієтарних драйверів 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 не може бути завершено якщо система вікон X11 активна.
За замовченням Slackware завантажується у текстову консоль (термінал). В цьому випадку, встановлювач nVIDIA може бути просто запущений. Але, якщо графічне оточення вже запущено, треба спочатку з нього вийти. Якщо графічне оточення було запущено командою ”startx
“, то просто вийдіть з нього (logout), чи якщо потрібно, натисніть Ctrl+Atl+Bksp.
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
Якщо встановлювач запущено без додаткових аргументів, та не виникло ніяких помилок, то процес буде виглядати так:
/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.
Все що нам залишилось, це запустити сервер X.org. Це може бути виконано шляхом налаштування Slackware так, щоб вона запускалась в режимі runlevel 4, який запускає графічний менеджер входу, такий як наприклад KDM чи XDM, під час завантаження системи. Якщо вам це і потрібно, відредагуйте файл ”/etc/inittab“, замінивши рядок
id:3:initdefault:
на
id:4:initdefault:
Інакше, ви можете увійти під обліковим записом користувача, та для запуску сесії X, виконати команду ”startx
“.
.xinitrc
“ в домашній директорії користувача, так щоб запускався якийсь інший менеджер. \\Альтернативно, менеджер вікон може бути змінений для кожного користувача окремо, запустивши утиліту ”xwmconfig
“ та обравши один з доступних менеджерів.
Встановлювач nVIDIA має багато опції доступних для системного адміністратора (maintainer), до яких можна отримати доступ запустивши його з параметром -A:
# sh ./NVIDIA-Linux-ARCH-VERSION.run -A
Деякі популярні опції
-a, --accept-license
: обійти вікно з ліцензійним текстом. Вважаючи що ліцензія прийнята.--update
: перевірити будь які оновлення драйверу на сайті nVIDIA; якщо оновлення маються, автоматично завантажити, та встановити вже нову версію.--uninstall
: вилучити драйвер nVIDIA та усі файли з попереднього встановлення.-q, --no-questions
: вважати що відповіді на усі запитання майстра встановлення, вже надані. Нотатка: це не означає що ліцензія прийнята.-s, --silent
: запустити бінарний встановлювач без користувацького інтерфейсу, автоматично прийняти ліцензію та відповісти на всі питання.