Nvidia

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

Настройка видеокарт Nvidia в Сизифе


Постановка вопроса

На сегодня видеокарты от Nvidia являются одними из самых распространённых. Поддержка карт Nvidia в Linux может осуществляться следующими «драйверами» — модулями Xorg.

  • Свободным модулем vesa — настолько, насколько данная видеокарта поддерживает спецификацию vesa.
  • Модулем поддержки фреймбуфера — fbdev.
  • Свободным модулем nv — поддерживаются не все видеокарты, нет поддержки аппаратного 3D (как и у vesa и у fbdev)
  • Свободным модулем nouveau с поддержкой 3D. Eсть в Сизифе, но модуль ещё сырой.
  • Проприетарные модули Nvidia.

На сегодняшний день политика компании Nvidia такова, что она разделила все свои видеокарты на 5 групп. В зависимости от того, какая видеокарта, можно ставить один из поддерживающих её драйверов.

Краткий алгоритм установки драйверов серии legacy

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

С недавнего времени xorg-x11-server-1.4 модули legacy вошли в основной пакет Nvidia. Как поменять текущий модуль ядра (все операции требуют прав root)?

  • Выключаем X-ы, например telinit 3,
  • Выгружаем модуль nvidia: rmmod nvidia,
  • Меняем символическую ссылку, например ln -s /lib/modules/nvidia/{версия ядра} /lib/modules/{версия ядра}/nVidia/nvidia.ko,
  • Прописываем в /lib/modules/{версия ядра}/.versions/nvidia: 1.0.9639,
  • depmod -a,
  • modprobe nvidia,
  • Проверяем, что в xorg.conf прописан модуль nvidia,
  • x11setupdrv, (начиная с ALT 5.0 и выше не нужно, т.к. скрипт встроен в запуск X-сервера)
  • Запускаем X-ы, например telinit 5.
{версия ядра} — это та версия, в которой вы хотите настроить работу драйверов Nvidia.

Возможные баги

Иногда (при смене версий пакетов и расхождении ABI ) xorg-x11-server требует, чтобы в /etc/X11/xinit/xserverrc было прописано:

X_server='X -nolisten tcp -ignoreABI'

вместо

X_server='X -nolisten tcp'

Второй способ - в /etc/x11/xorg.conf добавить опцию

Section "ServerFlags"
  Option         "IgnoreABI" "true"
EndSection


Третий, и наиболее правильный cпособ в дистрибутивах на основе бранча p7 и выше в /etc/sysconfig/xserver раскомментировать IGNORE_ABI=yes:

# The Xorg server checks the ABI revision levels of each module that it loads.
# It will normally refuse to load modules with ABI revisions that are newer
# than the server's.
# See Xorg(1) for more information about option.
# Value: yes/no
IGNORE_ABI=yes

Видеокарты типа Optimus

В последнее время появились ноутбуки с несколькими видеокартами (Nvidia+Intel или Radeon+Intel).

Для таких видеокарт существует инструкция по подключению и следующая информация:

> >> По умолчанию монитор показывает с Intel-контроллера.
> >> В BIOS-е никаких настроек видеокарты нет.
> > Поищите переключение встроенной и дискретной видеокарты.
>  В ноутбуке и оптимусом я искал - не нашёл. Насколько я понимаю, в
> случае без вывода nvidia на монитор в bios как раз не переключается.
Переключается. В BIOS может не быть настройки.

> > Если Optimus, то у Nvidia физически отсутствует вывода на монитор.
> > [...]
> 
>  Здесь немного описано: https://www.linux.org.ru/wiki/en/Optimus, но
> на какого из шмелей присматриваться - меня как раз тоже интересует.
Ко всем. Их 2.
1. Отсутствие переключателя в BIOS заменяется программным Bumblebee или собратьями.
2. Задействовать Optimus (чип nvidia или ati) можно через VirtualGL.

В нормальных ноутах в BIOS может быть 3 положения переключателя видеокарты: 
встроенная, optimus и дискретная (nvidia,ati). Здесь достаточно прикрутить 
программный переключатель, если устроит перезагрузка для переключения X-ов на 
другую видеокарту (без optimus вообще).

-- http://lists.altlinux.org/pipermail/community/2011-September/672977.html

Ссылки