Nvidia

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

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

Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


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

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

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

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

Краткий алгоритм установки драйверов серии 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,
  • Запускаем X-ы, например telinit 5.
{версия ядра} — это та версия, в которой вы хотите настроить работу драйверов Nvidia.

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

xorg-x11-server-1.4 требует, чтобы в /etc/X11/xinit/xserverrc было прописано:

X_server='X -nolisten tcp -ignoreABI'

вместо

X_server='X -nolisten tcp'

В xorg.conf добавить (вроде теоретически взаимозаменяемо, но на практике не получается)

Section "ServerFlags"
  Option         "ignoreABI" "true"
EndSection