Установка проприетарных драйверов NVIDIA и ATI

Материал из ALT Linux Wiki

Установка проприетарных драйверов на дистрибутивах шестой платформы.

Установка проприетарных драйверов NVIDIA и ATI :

Важное замечание для владельцев Radeon:

 последние проприетарные драйвера ATI/AMD (fglrx) поддерживают только видеокарты
 серии Radeon HD 2000 и выше. Если у вас более старая видеокарта, то вам придется
 использовать открытый драйвер и дальнейшую инструкцию вы можете не читать.
Примечание: в статье предпологается, что у вас стоит ядро типа std-def

Шаг 1. Обновите систему и ядро до текущего состяния репозитория. Для этого выполните в любом эмуляторе терминала

$ su -
# apt-get update 
# apt-get dist-upgrade
# update-kernel

Шаг 2. Перезагрузите компьютер и выберите пункт загрузки с новым ядром (обычно это первый пункт меню загрузчика).

Шаг 3. Установите соответствующий ядерный модуль видеодрайвера и сам видеодрайвер. Если вы не знаете, какой видеокартой вы пользуетесь, то выполните в терминале команду

$ lspci | grep VGA

После того как вы узнали модель вашей видеокарты выполните следующие команды.

Для владельцев Nvidia

$ su -

# apt-get install nvidia_glx_common
# nvidia-install-driver

Для владельцев Radeon

$ su -
# apt-get install kernel-modules-fglrx-std-def fglrx_glx fglrx-tools

где std-def тип вашего ядра, который можно определить при помощи команды uname -r, например

 $ uname -r
 2.6.39-std-def-alt1

в этом случае "ваше-ядро" называется std-def.

Шаг 4. Если не установлен, то установите модуль альтератора (центр управления системой), который отвечает за настройку X сервера.

# apt-get install alterator-x11

Шаг 5. Запустите альтератор, например, нажав Alt + F2 и введя в появившемся окне "acc". Зайдите в пункт "Дисплей", нажмите кнопку "Другой драйвер" и в появившемся окне выберите нужный драйвер: nvidia — Nvidia (proprietary) для владельцев Nvidia карт fglrx - ATI Radeon для владельцев карт Radeon. Нажмите "OK" и затем "Применить". Должно появиться окошко, сообщающее, что все изменения вступят в силу после перезагрузки.

Шаг 6. Перезагрузите компьютер.

Что делать, если после всех шагов не загрузилась графическая система?

При установке проприетарного драйвера ATI/Radeon установленного посредством выполнения скрипта, возможно, потребуется дать команду:

# amdconfig --initial -f

Успокойтесь и не паникуйте. Вы легко можете вернуться к использованию открытых драйверов. Для этого нужно проделать следующую последовательность шагов.

Смена проприетарных драйверов на открытые

Шаг 0. Обновляем систему и ядро до текущего состояния репозитория, как описано выше.

Шаг 1. Заходим в терминале под пользователем root.

Шаг 2. Устанавливаем открытый драйвер в конфигурационном файле /etc/X11/xorg.conf.d/10-monitor.conf . Для этого можно воспользоваться утилитой xsetup-monitor.

Пользователям nvidia необходимо выполнить следующую команду

# xsetup-monitor -d nouveau

Пользователям radeon

# xsetup-monitor -d radeon

В принципе, этих шагов достаточно, чтобы после перезагрузки загрузиться с открытыми драйверами, однако не будет работать сплэш. Для его починки необходимо проделать следующие дополнительные шаги.

Шаг 3. Удаляем файл /etc/modprobe.d/blacklist-alterator-x11

# rm -f /etc/modprobe.d/blacklist-alterator-x11

Шаг 4. Перезагружаем компьютер.

Шаг 5. Выполняем команду make-initrd

# make-initrd 

При следующей загрузке сплэш должен заработать.

Известные проблемы

Проблема:

Примечание: 1. У владельцев NVIDIA в некоторых ситуациях при запуске системы мелькает логотип NVIDIA, происходит запуск Х-ов, но вместо нормальной картинки монитор показывает по центру полосу примерно в половину ширины экрана с прерывистыми диагональными линиями на ней. Если после этого сделать Ctrl+Alt+F1, Ctrl+Alt+F7, то изображение нормализуется.
Примечание: 2. В консоли шрифт (по нажатию Сtrl+Аlt+(1-6)) Шрифт очень крупный.


Решение:

Проблемы разные, а решение одно и то же:

в этом случае помогает принудительное выставление графического режима в опциях ядра при загрузке (в настройках загрузчика), например, vga=0x314. Для этого:

Шаг 1. Открываем в редакторе (для новичков рекомендуется mcedit) файл /etc/sysconfig/grub2

$ su- 
# mcedit /etc/sysconfig/grub2 

Шаг 2. Находим строчку с переменной GRUB_CMDLINE_LINUX_DEFAULT. Например, у автора руководства она имеет вид

GRUB_CMDLINE_LINUX_DEFAULT='quiet=1 panic=30 splash'

Шаг 3. Добавляем в переменную параметр vga=0x314

GRUB_CMDLINE_LINUX_DEFAULT='quiet=1 panic=30 splash vga=0x314'

Т.е. 0x314 - это 800x600 в режиме VESA с 16-битным цветом.

Кол-во цветов640x480800x6001024x7681280x1024
2560x3010x3030x3050x319
32k0x3100x3130x3160x307
64k0x3110x3140x3170x31A
16M0x3120x3150x3180x31B

Можно еще взять вот из такой таблицы, vga=XXX:

8bit:
640x480 - 769
800x600 - 771
1024x768 - 773
1280x1024 - 775

16bit:
640x480 - 785
800x600 - 788
1024x768 - 791
1280x1024 - 794

24bit:
640x480 - 786
800x600 - 789
1024x768 - 792

Список всех разрешений можно получить, выполнив следующую команду:

# hwinfo --framebuffer

Если ничего не показало, значит, надо установить hwinfo:

# apt-get update; apt-get install hwinfo

Шаг 4. Сохраняем изменения и выходим.

Шаг 5. Перегенерируем конфиг загрузчика grub2:

$ su -
# grub-mkconfig -о /boot/grub/grub.cfg

Теперь при следующей загрузке все должно нормализоваться.

Проблема:

У владельцев старых видеокарт NVIDIA проприетарный драйвер не стартует с сообщением

 Failed to allocate/map the primary surface! 

или

 conflicting memory type 

или

 failed to allocate primary buffer: out of memory 

Решение:

в этом случае помогает передача в опциях ядра при загрузке параметра "nopat" (о том, как это можно сделать, смотри предыдущий пример с "vga=0x314")

GRUB_CMDLINE_LINUX_DEFAULT='quiet=1 panic=30 splash vga=0x314 nopat'

Потом перегенерируем конфиг загрузчика grub2:

$ su -
# grub-mkconfig -о /boot/grub/grub.cfg

P.S. Предложения, правки приветствуются.

Ссылки по теме