OpenBSD Поддержка Nvidia-карт



Вам скорее всего как продвинутым пользователем UNIX-like ПК приходилось часто слышать, что карты Nvidia на OpenBSD якобы не заводятся. Это не совсем так.

Итак, если у вас видеокарта от Nvidia - проверьте её поколение.

Все поколения от Riva до 200го включительно

Эти карты работают с открытым драйвером nv. Этот драйвер в своё время разрабатывался самой компанией, руководство которой находило нетоварной ситуацию, когда пользователь Linux, FreeBSD, или Solaris покупал видеокарту, вставлял её в компьютер, включал машину и получал в лучшем случае мыльную VESA-картинку в низком разрешении, а в худшем - вообще голую консоль. Надо было создать открытый HD-драйвер 2D-графики открытого типа и встроить его в вышеупомняутые системы, дабы пользователь мог спокойно зайти с этого драйвера на сайт компании и скачать проприетарный для всего остального кроме 2D. Этот драйвер был портирован на OpenBSD и используется до сих пор.

Если ваша видеокарта принадлежит к этому списку (от Riva до GTX 295) - вы можете не волноваться, 2D картинка в хорошем разрешении у вас будет. Не думайте, что для вас это означает поиски полумёртвого электрохлама на Авито - GeForce 210 это одна из самых популярных видеокарт Nvidia, универсальная затычка для картинки, продаётся и поныне в любом магазине техники в самом товарном виде.

ВАЖНО: если вы хотите пользоваться видеокартами поздних поколений этого драйвера (9000, 100, 200), вам придётся немного помучатся дабы иметь высокий FPS. Дело в том что драйвер nv по умолчанию для таких карт использует технологии 2D-ускорения, считавшиеся на те года инновационными, но так и не выстрелившие, и их поддержка в современных версиях X.Org совсем вырезана. Не найдя себе пути, драйвер отключит ускорение полностью, и у вас даже перетаскивание окна будет в формате слайд-шоу.

Как это исправить: заставить драйвер использовать другие технологии ускорения - создать в /usr/X11R6/share/X11/xorg.conf.d файл с каким-нибудь первочитающимся названием расширения .conf - например, 10-nv.conf с вот таким вот содержанием:..

Section "Device"
  Identifier "nv"
  Driver "nv"
  Option "AccelMethod" "EXA"
EndSection
...после чего перезагрузить машину.

Более новые видеокарты

Если же вы хотите пользоваться видеокартой Nvidia поновее - вам придётся смирится с VESA-режимом разрешения 1024x768 60Гц, что в принципе тоже лучше чем ничего. Для этого вам не нужны никакие манипуляции - система всё поймёт сама.

Возможно, вы захотите пользоваться VESA-драйвером и на картах с поддержкой драйвером nv, поскольку вас смутит некоторые графические проблемы и относительно низкий (хоть и не уровня слайд-шоу) FPS - тогда можно заставить систему насильно подключить VESA-драйвер вместо nv, создав такой же файл в /usr/X11R6/share/X11/xorg.conf.d, но с несколько иным содержанием:

Section "Device"
  Identifier "nvidia"
  Driver "vesa"
EndSection
В секцию Identifier на самом деле можно писать что угодно.