Tagged: nvidia

6.1 xorg.conf

  • Секция «InputDevice» – описание устройств ввода (клавиатур, манипуляторов мышь)
Identifier – идентификатор устройства ввода
Driver – драйвер устройства ввода:

kbd – клавиатура;
mouse – манипулятор мышь.

Option – опция:

XkbLayout – список раскладок клавиатуры («us,ru,ua»)
XkbOptions – опции клавиатуры, обычно указывается комбинация клавиш для переключения раскладки клавиатуры («grp:ctrl_shift_toggle», “grp_led:scroll”)
XkbVariant – вариант раскладки клавиатуры (default, winkeys)
XkbModel – модель клавиатуры (105,104 …)
Device – файл устройства мыши (/dev/input/mice)
Protocol – Протокол интерфейса мыши (PS/2, IMPS/2, …)
ZAxisMapping – Расключение дополнительных клавиш мыши (колесо – «4 5″)
  • Секция “Monitor” – описание монитора
Identifier – идентификатор монитора
DisplaySize – размер дисплея (пропорции – 320 240)
Option – опция:

dpms – включение режима энергосбережения
  • Секция “Device” – описание устроства видеовывода
Identifier – идентификатор видеокарты
Driver – драйвер видеокарты (nv, nvidia, radeon, fglrx, …)
  • Секция “Screen” – описание экрана
Identifier – идентификатор экрана
Device – идентификатор устройства видеовывода, видеокарта (описана в секции “Device”)
Monitor – идентификатор монитора (описан в секции “Monitor”)
DefaultDepth – глубина цвета устанавливаемая по умолчанию
SubSection “Display” – подсекция экрана (описывает допустимые разрешения с глубинами цвета):

Depth – глубина цвета (8,15,16,24,32)
Modes – допустимые разрешения экрана («1152×864» “1024×768” “1024×736” “1024×600” “960×720” “848×480” “832×624” “800×600”)
  • Секция «ServerLayout» – обобщающая конфигурационная секция (корень)
Identifier – идентификатор сервера
Screen – идентификатор экрана используемого сервером (описан в секции “Screen”)
InputDevice – идентификатор устройства ввода (описано в секциях «InputDevice»)
  • Секция “Module” – секция описания дополнительных модулей расширения
Load – загрузка указанного модуля:

dbe – ???
glx – Модуль языка GLX (для OpenGL)
dri – Direct rendering infrastructure (для OpenGL)

Большинство дистрибутивов настраивают твою карту и экран автоматически, но знай, сынок, что можно добиться лучшего, изменив свой xorg.conf. А ведь этот обычный текстовый файл, который содержит непонятные слова, требуемые X-сервером для управления и твоей клавой, и твоим ручным манипулятором, да и всем компом. Читани, фраерок, что ниже, чтобы тему просечь и базарить с xorg.conf по фене, как у нас на раене.

В большинстве случаев, сынок, твой xorg.conf выглядит как кусок дерьма развалины. Файл содержит остатки того, что когда-то было огромным и грозным боевым человекоподобным роботом конфигурационным файлом, использовавших язык Древних. Проходя сквозь столетия, эти старые, замшелые члены безжалостно выпиливались поколениями юзеров. Сейчас подходит Конец. Xorg.conf подошел к точке невозврата, к точке, когда убирать больше нечего. И ты, сынок, должен завершить дело Предков.

Для большинства юзеров, автоматическая настройка как манна небесная. Это значит, что минули те дни, когда компьютеры были большими, экраны маленькими, клавиатура не знала раскладок, а лучшая карта от nvidia давала 60 фпс при выключеном компизе. Но xorg.conf не потеял своей актуальности и поможет тебе, сынок, когда ты захочешь прокачать свою тачилу.

Основная причина, по которой ты начнешь красноглазить с xorg.conf — это желание увеличить скорость света, которая у гентушников таки больше. Также ты можешь подтянуть такие фичи, как разрешение экрана, два монитора, просечь, как работает наконец твое железо, или врубиться, как увеличить частоту обновления экрана. Поймать xorg.conf можно обычно в /etc/X11.

Если его там нет — подстрой ловушку хитрому зверю, залогинившись под рутом, скопировав X.org.log из текушей сессии в новую, набрав

cp /var/log/Xorg.0.log /var/log/Xorg.1.log и выполнив
Xorg -configure :1

X-сервер создаст заново xorg.conf из содержимого лога и положит его в домашнюю директорию. Также можно его там встретить, если ты собрался вручную мутить проприетарные дрова на Nvidia.

Ориентация
Нет, нет, это не то, о чем подумал ты, падаван юный. Здесь мы посмотрим, что включает в себя xorg.conf и разберемся, что, где, когда. Исторически сложилось, что xorg.conf отвечает за дело рук твоих, за мышь верную и раскладку боевую. Так и осталось и останется вовеки.

Module. Внутри этого блока находится список плагинов, читай фич, используемых X.org. Например, ‘glx’ блок добавляет 3D ускорение к твоему десктопу, в то время как например, ‘type1′ и ‘freetype’ блоки используются для родного рендеринга шрефтов.

ServerLayout. Это то, что требуют три основные периферийные устройства — мышь, клава да видео. Секция содержит их имена, которые в дальнейшем используются во всем xorg.conf’е.

InputDevice. Обычно, их две: одна для мыши, а другая для клавиатуры. Большинство этих замечательных устройств работают по одинаковым протоколом, поэтому должны работать без напильника. Как исключение, если ты хочешь использовать дополнительные фичи, как например, дополнительные кнопки, тебе придется поковырять вручную.

Monitor. Тут — список спецификаций твоего экрана. Основные параметры — частоты вертикального и горизонтального обновления, которые используются для вывода желаемой частоты обновления экрана в целом. Необычные разрешения экрана могут быть созданы с использованием ‘ModeLine’ секции.

Device. Описывает железо да дрова, что используются. Обычно, это nv для открытого драйвера Nvidia, nvidia для проприетарного того же производителя, ati для открытого атишного и fglrx для закрытого атишного. Все дрова на интеловские карты открыты и их название зависит от конкретного железа, как например, i810 для встроенных Intel 845 адаптеров.

Screen. Эта секция совмещает вместе твою видюху и экран в то, что иксы зовут ‘Screen’, что по сути — используемая конфигурация дисплея. К примеру, можно использовать два разных screen’а для каждого из твих двух мониторов.

Исправь свой монитор. Исправь свой монитор, сука.

В большинстве своем мониторы определяются штуковиной, называемой EDID — Extended Display Identification Data. Это инфа, которая посылается монитором на видюху, и подсказывающая, какие параметры лучше брать.

Но некоторые криворукие производители так и не прикрутили это чудо природы к своим девайсам. В этих случаях ссаными тряпками бы их гнать, да не тут-то было. Приходится ковыряться. В этих случаях будь начеку: есть шанс, что ты что-нить сломаешь конкретное в своем мониторе. Прежде чем приступить, убедись, что у тебя корректные спецификации на железо и что ты не собираешься поставить на экран разрешение 4000х2000

Тут — пример, как секция Monitor определяется с обоими частотами обновления:

Identifier «Monitor0″
VendorName «Unknown»
ModelName «DFP-0″
HorizSync 28.0 — 72.0
VertRefresh 43.0 — 60.0
ModeLine «1440x900_60.00″ 106.5 1440 1520 1672 1904 900 901 904 932 -hsync +vsync

Как ты видишь, обе частоты определяют интервалы, в которых девайсина будет работать — это два наиболее важных параметра. Линия ModeLine опциональна и X.org просчитает все сам. Но если ты так и не получил правильного разрешения, эта линия поможет твоему экрану заработать, правда через жопу. Там тебе потребуются конкретные знания о том, как работает твой монитор, наугад там не прокатит. Поэтому загляни сюда http://xtiming.sourceforge.net/cgi-bin/xtiming.pl к примеру, и посмотри, чо да как.

Также бывает очень полезной MythTV вики для случаев, когда тебе нечего делать и ты пытаешься прикрутить телек как монитор. Удачи и добро пожаловать на эту страницу http://www.mythtv.org/wiki/Modeline_Database.

Тачку на прокачку

Существует куча советов, как улучшить вывод видео твой картой, сынок. Как правило, они особенны для различых производителей. Мы считаем, что карты Nvidia здесь дадут фору кому угодно, да и большинство красноглазых пользователей их проприетарных дров плачут от восторга.

Но что же делать с теми неудачниками, использующими закрытые дрова на АТИ и открытые на интел? Как правило, у них все через жопу по-другому. К примеру, пользователи ATI могут юзать aticonfig тулзу, или Catalyst Control Center. Также и интел, несмотря на слабость железа, дает некоторые фичи для настройки.

ОМГ, Траблы

Если у тебя проблемы любого характера с иксами, тебе надо запустить их с минимальными настройками. Это означает исользование дров VESA. Vesa — древний стандарт для графики, даже динозавры его помнят. Это значит, что с ним работает даже твой холодильник, сынок. Замени строку Driver в секции Device на vesa и ребутни иксы. Это позволит тебе опять хоть мышкой поелозить.

Но vesa — для лохов! Скорее всего, если у тебя идет vesa, то потянет и открытые дрова, к примеру, radeon для ATI и nv для Nvidia.

Если у тебя до сих пор траблы, посмотри в журнал Xorg. Обычно он находится в /var/log и называется Xorg.0. Число — это номер секции, обычно это ноль, но иногда и один. Журнал содержит все шаги, которые требуются иксам для поднятия, и если возникают проблемы, то ищи их там. Также можно стартануть иксы с параметром xorg -verbose — это создаст более толстый файл. Чаще всего ошибки возникают из-за неправильного содержимого xorg.conf, поэтому научись комментировать строчки в нем, добавляя # и пытаясь заново запустить икс-сервер.

Nvidia

Если у тебя карта от Nvidia, тебе сюда. Их закрытые дрова — широкий простор для творческой мысли. Рассмотрим несколько фич.

Option «NoLogo» «True» — так можно отключить появляющийся логотип вендора.

Option «LogoPath» «string» — а так можно вставить свою картинку заместо надоевшей дефолтной

Option «CursorShadow» «true» — если твой компиз доставляет неудобства в использовании курсора с тенями, включи это, и будет тебе счастье

Option «Coolbits» «true» — экспериментальная опция, позволяющая получить moar fps в tremulous

Option «DPI» «75 x 85″ — используй, чтобы поменять разрешение на дюйм. Поможет, если Ш смотрятся совсем Г.

Intel

Многие пользователи мучаются с этими картами. Мы поможем им облегчить страдания. Помните также, что бэкапы никто не отменял.

Option «AccelMethod» «EXA» — говорят, помогает с эффектами КДЕ и увеличить частоту обновления экрана.

А следующие опции могут даже помочь владельцам карт ATI и Nvidia:

Option «MigrationHeuristic» «greedy» and Option «TripleBuffer» «true» — первая поможет достичь больше производительности, вторая позволяет эффективнее управлять памятью карты.

Nvidia TwinView

Существуют два основных метода работы карт Nvidia с двумя мониторами — родная для X.org Xinerama и родная для карт Nvidia Twinview. Последнюю можно легко включить, используя nvidia-settings, но это не всегда работает.

Чтобы включить TwinView посредством конфига, сначала убедись, что оба монитора имеют отражение в секции Screen. Если оба одинаковы, понадобится только один. Необходимо добваить следующее:

Section «ServerFlags»
Option «Xinerama» «0″
EndSection

Это отменить Xineram’у безопасно. Теперь осталось добавить следующее в секцию Screen

Option «TwinView» «1″
Option «metamodes» «DFP-0: 1440x900_60.00 +0+0, DFP-1: 1440x900_60.00 +1440+0″

В качетсве примера здесь две плоские панели DFP-0 и DFP-1 с разрешением 1440×900.

That’s all!

При установке новых продуктов Debian 5.0.1/Ubuntu 8.10 и 9.04 я столкнулся с неприятной проблемой — они не поддерживали встроенную видеокарту nvidia. И если Debian это простительно, то жутко разрекламированной Ubuntu, как самой удобной системой для неофита в линукс — это не к лицу.

Существует множество мануалов, которые послужили источником для полученных знаний, в том числе и мануалы на 3-4 страницы, где и бабушка разберется. Но, как оказалось, даже меню встроенного конфигуратора на моей машине нужные пункты не выдавало, а то что описывалось как само собой разумеещееся, просто не подходило в данном случае.
(Материнская такая: GA-73PVM-S2, NVIDIA GeForce 7100, nForce 630i)

Поэтому эта статья посвящается тем, кто в линуксе ну просто полный нуб и новичок, как я :) Будет описываться каждый мелкий пункт, вплоть до разбора нужных команд в консоли
———————————————————————
В норме установка происходит после первой загрузки системы
———————————————————————
Появляется окно с сообщением о том, что доступны для загрузки проприетарные драйвера с сайта производителя (а именно так называются драйвера, которые принадлежат разработчикам (от англ. proprietary software), в частности корпорации Nvidia, а их искодные коды основной функциональной части закрыты)

Если такое сообщение не появилось то в первую очередь сделайте следующее:
Система -> Администрирования -> Источники приложений
В первой вкладке отмечаем галочкой первые 4 пункта (main, universe, restricted, multiverse)
Затем нажимаем закрыть, система обновляет данные по источникам, после перезагрузки пойдет проверка обновлений и все может установиться просто и надежно.
Если обновление не началось — попробуйте запустить compiz, т.е. включить «экстра-эффекты» в свойствах рабочего стола:
Контекстное меню рабочего стола -> Change Desktop Background: вкладка Vizual Effects

———————————————————————
Второй способ, это открыть менеджер управления пакетами Synaptics
———————————————————————
System -> Administrations -> Synaptic package manager
Там по поиску находим пакет nvidia-glx и устанавливаем (иногда для 3D ускорения ставят nvidia-glx-dev, но в весии 180.* это не требуется).
Также рекомендуют установить пакет nvidia-glx-new чтоб получить автоматически самые новые драйвера

Затем в терминале активируем драйвер командой:
sudo nvidia-xconfig

Перезагружаем компьютер. В меню выбираем
System -> Preference -> Display или если по русски: Система -> параметры -> разешение экрана

———————————————————————
Третий, и, как оказалось, самый надежный способ — сделать все руками
———————————————————————

  1. Скачиваем последнюю версию драйверов для архитектуры вашего дистрибутива — Это будет файл типа NVIDIA-Linux-XXX-X.X-XXX-pkg1.run Например, архитектура для intel-овских PC — x86. Для AMD — AMD итд… Сохраните файл не на рабочий стол, а в свою домашнюю папку. Так будет удобнее запускать этот файл из консоли, особенно если папка Desktop называется «Рабочий стол»
  2. Перед установкой драйверов потребуется доустановить дополнительные пакеты (если они отсутствуют в системе):
    исходники ядра, утилиты make, bunutils, компилятор gcc, libc6-dev. У меня в ubuntu 9.04 присутствовали все перечисленные
    sudo apt-get install linux-headers-`uname -r`
    sudo apt-get install make
    sudo apt-get install binutils
    sudo apt-get install gcc
    sudo apt-get install libc6-dev
    sudo apt-get install xserver-xorg
    Команда sudo нужна для того чтобы действие выполнялось с привелегией администратора. Спросив один раз пароль до закрытия окна консоли пароль спрашиваться больше не будет. Но постоянно sudo можно и не набирать. Достаточно один раз войти в режим суперпользователя:
    sudo su
    А чтоб узнать какая версия конкретного пакета у вас установлена — написано, что самая последняя, но вдруг врут? :) можно набрать, например для gcc
    apt-cache show gcc
  3. Завершите свой сеанс. Переключитесь в текстовую консоль Ctrl+Alt+F1 и залогиньтесь.
    Остановите X-Server (Gnome Display Manager):
    sudo /etc/init.d/gdm stop
  4. Запустите инсталлятор драйверов (из каталога куда вы их сохранили) от имени root:
    sudo -s -H sh NVIDIA-Linux-XXX-X.X-XXX-pkg1.run
    Вместо NVIDIA-Linux-XXX-X.X-XXX-pkg1.run вы указываете точное имя пакета с драйверами, которые вы скачали с официального сайта.Как вспомнить точное название? Просто. По идее, если мы только что залогинились в консоли, то находимся в своей домашней папке.
    Чтоб отобразить список всех присутствующих в папке файлов набираем
    ls(от слова листать). Теперь мы видим название файла
    Если не в домашней папке, то чтоб туда попасть набираем просто cd. Для перехода в любой другой каталог пропишите команду cd и через пробел путь к нужному каталогу
  5. Запустится цветастый инсталлятор. Соглайшаемся (accept) с лицензией. Отказывемся скачивать precompiled headers для вашего ядра с сервера nVidia. Далее он предложит скомпилировать их сам — соглашайтесь.
  6. Если все прошло успешно, то по окончанию установки вам предложат запустить утилиту nvidia-xonfig.
    Здесь в одном из руководств написано: «Откажитесь!» И еще жирным выделено. Но их вариант не прокатил.
    Далее расскажу почему и как этого избежать. А на этом пункте сами решайте — отказываться или нет. Можете отказаться, а потом вернуться и поставить драйвер по новой, чтоб запустить автоматический конфигуратор.
  7. Сделайте копию конфигурационного файла X-сервера.
    sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
  8. Откройте его и посмотрите, вот он — виновник и в то же время гарант прекрасной работы вашего оборудования в иксах (в оконной среде). Этот файл сообщает оконной среде о параметрах вашего железа.
    sudo nano /etc/X11/xorg.conf
    Программа для открытия файла должна быть именно консольная, nano, а не gedit, напримерДалее, по официальному руководству, должно быть так:
    —————————————————
    Находим строку Section “Device”, а чуть ниже нее строку Driver “nv”. Последнюю измените на Driver “nvidia”.
    Можете так же добавить в эту же секцию строку Option “NoLogo” “TRUE”, чтобы при загрузке X-сервера не появлялся логотип nVidia
    В результате эта часть файла должна быть похожа на это:Section «Device»
    Identifier «NVIDIA Corporation NV43 [GeForce 6600 GT]”
    Driver “nvidia”
    Option “NoLogo” “TRUE”
    BusID “PCI:1:0:0″
    EndSection

    В разделе Section “Module” закомментируйте (или удалите) строки Load “dri” и Load “GLCore”. И добавьте в этот же раздел строку Load “glx”, если она отсутствует. Эта часть файла должна быть похожа на это:

    Section «Module»
    Load «i2c»
    Load «bitmap»
    Load «ddc»
    #Load «dri»
    Load «extmod»
    Load «freetype»
    Load «glx»
    Load «int10″
    Load «type1″
    Load «vbe»
    EndSection
    —————————————————
    Чтоб сохранить файл нажимаете Ctrl+o,чтоб выйти — Ctrl+x

  9. Но в моем случае файл xorg.conf был девственно чист. Только комментарии и строчки для заполнения. Именно поэтому в данном случае потребовалось запускать автоматический конфигуратор в программе установки драйвера nvidia, особенно ради блока Section «Module». Он очень варьирует от машины к машине. А уже потом редактировать файл руками, хотя это и не нужно. В файле лучше не меняйте назване Device0. Потому как оно фигурирует и в работе монитора тоже. Можете прописать, например, название монитора, но есть и более интересные значения. Почитайте руководство к файлу xorg.conf. Гугл вам в руки.
    Или если сильны в английском — man xorg.conf
    Команда man вызывает справочное руководство для следущей за ней программы.
  10. Перезапустите X-сервер:
    sudo /etc/init.d/gdm start
    Если вы все сделали правильно, то X-сервер запустится уже используя официальные драйвера nVidia. Если же X-сервер не запустился, то ищите ошибку и восстановите конфигурационный файл:
    sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf

Источник:

—————————————————————————————-
И, на последок, еще один простой способ
—————————————————————————————-

  • Качаем прогу Envy:
  • ОБЯЗАТЕЛЬНО!!! Делаем бэкап конфигурации иксов: cp /etc/X11/xorg.conf /etc/X11/xorg.conf.mybackup
  • При запуске Envy удаляем существующие драйвера («Удалить драйвер NVIDIA»).
  • Если попросит перезагрузки — делаем.
  • Заходим снова в Envy. Теперь устанавливаем драйвера (необходимо подключение к инету, т.к. программа установки будет скачивать необходимые пакеты).
  • Откидываемся на спинку кресла и ждем окончания установки.
  • Перезагружаемся.
  • Ребутимся и в меню GRUB выбираем recovery mode.
  • Выполняем cp /etc/X11/xorg.conf.mybackup /etc/X11/xorg.conf
  • Снова ребутимся и устанавливаем так как нужно.

Минус этого способа в том, что при ошибке установки драйвера в данном случае, виновата может быть программа посредник Envy

Решил я всерьез заняться программированием распределенных
вычислений с использованием этой технологии. Не буду подробно
рассказывать, что она из себя представляет, скажу только, что CUDA
предназначена для проведения распределенных вычислений не на
процессоре, а на чипе видеокарты, что позволяет производить
неграфические вычисления с феноменальной скоростью (производительность
чипа GeForce 8800 GTX при математических расчетах примерно равна
производительности 180(!)-ядерного Pentium 4 1,5 ГГц). В основном это
используется для решения научных задач, вроде моделирования различных
сложных систем. Кстати, данную технологию использует последняя версия
Adobe Photoshop (CS4) — рендеринг картинок и многие эффекты
обрабатываются именно с помощью CUDA. Технология поддерживается
видеокартами на чипах NVIDIA начиная с 8 серии и новее, включая, само
собой, Quadro и Tesla.

Сказано — сделано. Буду настраивать свою убунту под это дело, а заодно и о своем опыте расскажу ;)

Примечание:
1.
Примеры для CUDA можно благополучно писать и компилировать даже на
компьютере без поддерживаемой видеокарты, однако работать они будут раз
в сто медленнее, чем при ее наличии.
2. Есть известная проблема —
CUDA состоит в плохих отношениях с компилятором gcc-4.3, который по
умолчанию установлен в Ubuntu 8.10, поэтому приходится откатываться на
gcc-4.1. Подробности ниже :)

Начнем!

Для начала установим необходимые библиотеки.
$ sudo apt-get install linux-headers-`uname -r` binutils pkg-config build-essential xserver-xorg-dev libc-dev

Самое важное здесь — libc-dev, без ее наличия ничего работать не будет.

Отлично,
продолжаем! Теперь настроим компилятор. Для начала скачаем gcc и g++
нужной нам версии (это важно — их версия должна быть одинаковой). Проще
всего это сделать через Synaptic, отыскав там gcc-4.1 и g++-4.1, а
можно и прописать в консоли:
$ sudo apt-get install gcc-4.1 g++-4.1

Нужно настроить систему на использование нужного нам компилятора (см АПД в конце!). Делается это до смешного просто:
$ sudo rm -d /usr/bin/gcc
$ sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc
$ sudo rm -d /usr/bin/g++
$ sudo ln -s /usr/bin/g++-4.1 /usr/bin/g++

Кстати, вернуть на место «старый» компилятор легко — достаточно заменить в приведенных командах 4.1 на 4.3.
Ну и, само собой, нам нужны сами компоненты CUDA — видеодрайвер, тулкит и SDK. Берем их с . Систему указываем 8.04, все будет прекрасно работать и так.

Поскольку мы собираемся использовать последнюю версию — выбираем пакеты для 2.1:
1. CUDA Driver — NVIDIA-Linux-x86-180.06-pkg1.run
(Спасибо товарищу Frosty — недавно вышел драйвер версии 180.22, скачать его можно, естественно, с . Процедура установки не отличается)
2. CUDA Toolkit — cuda-linux-rel-nightly-2.1.1635-3065709.run
3. CUDA SDK code samples — cuda-sdk-linux-2.10.1126.1520-3141441.run

Сохраняем
их куда-нибудь на диск (желательно, чтобы путь к ним не содержал
пробелов и символов кириллицы) и устанавливаем для всех трех пакетов chmod +x. Предварительный этап завершен!

Собственно установка.

Для начала надо поставить видеодрайвер. Ставится он стандартно:
$ sudo -s -H
# /etc/init.d/gdm stop

Жмем Ctrl+Alt+F1 и логинимся. Затем:
# sh NVIDIA-Linux-x86-180.06-pkg1.run
Нам предлагают скачать precompiled headers с сервера NVIDIA. Отказываемся.
Тогда нам предлагают скомпилировать их под наше ядро. Соглашаемся.
Ждем несколько секунд — и вуаля! Драйвер установлен.
Теперь можно снова запустить X-Server:
# /etc/init.d/gdm start

Теперь нужно немного подправить один файл:
$ sudo gedit /etc/default/linux-restricted-modules-common

там нужно исправить строчку на вот такую

DISABLED_MODULES=«nvidia nvidia_legacy nvidia_new»

Сохраняемся и ребутимся. Если же X-сервер не запустился, то можно просто восстановить конфигурационный файл:
$ sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf

и пересмотреть свои действия на предмет ошибки.

Отлично! Теперь установим оставшиеся два компонента:
$ sudo ./cuda-linux-rel-nightly-2.1.1635-3065709.run
$ sudo ./cuda-sdk-linux-2.10.1126.1520-3141441.run

Пути (в первом случае /usr/local/cuda и $HOME/NVIDIA_CUDA_SDK во втором) лучше оставить по умолчанию, во избежание.

Теперь немного поковыряем переменные окружения. Они в Ubuntu хранятся в /etc/environment. Нужно добавить в PATH:»/usr/local/cuda:/usr/local/cuda/bin». А потом осталось отредактировать один файл:
$ sudo gedit /etc/ld.so.conf

Добавляем в конец

# NVIDIA CUDA v2.1 support
/usr/local/cuda/lib

и набираем ldconfig:
$ sudo ldconfig

Все, можно начинать радоваться! Теперь идем в каталог SDK и пробуем собрать примеры.
$ cd ~/NVIDIA_CUDA_SDK
$ make

Кстати, не стоит забывать про параметры команды make. При компилировании кода под CUDA они могут быть такие:
— release configuration — make
— debug configuration — make dbg=1
— emurelease configuration — make emu=1
— emudebug configuration — make emu=1 dbg=1

Не забывайте, что если на вашем компьютере нету совместимой видеокарты — обязательно ставим параметр emu=1.

Вот,
собственно, и все! Теперь, если все правильно собралось(если нет —
перепроверьте, нужной ли версии gcc и g++), можно идти в каталог ~/NVIDIA_CUDA_SDK/bin/linux/release/ и наслаждаться примерами. Лично мне больше всего понравился fluidsGL.

Если есть какие-то недочеты — постараюсь исправить. Удачи!

АПД: Меня попросили сразу два товарища ( и ) поправить способ смены дефолтного компилятора. Спасибо за поправку.
Корректнее делать вот так:

export CC=«gcc-4.1»
export CPP=«cpp-4.1»
export CXX=«g++-4.1»

Прописать в ~/.bashrc или просто выставлять эти переменные перед компиляцией CUDA кода.

АПД2: Вариант нумбер 2, даже проще:

$ gedit ~/NVIDIA_CUDA_SDK/common/common.mk
# Compilers
NVCC := $(CUDA_INSTALL_PATH)/bin/nvcc.
CXX := g++-4.1
CC := gcc-4.1
LINK := g++-4.1 -fPIC

20 марта NVIDIA выпустила очередное обновление своего проприетарного
графического драйвера для Linux. Новейшая версия имеет обозначение
NVIDIA 180.41, в неё добавлена поддержка новых графических карт Quadro
FX (Quadro FX 380, Quadro FX 580, Quadro FX 1800, Quadro FX 3800),
улучшено управление питанием на некоторых системах (таких как рабочие
станции Hewlett-Packard xw4600) и исправлены ошибки (в частности, сбои
OpenGL при работе Plasma в KDE4, сбой X-сервера при попытке X-клиента
изобразить трапециевидное тело при отключенном RenderAccel).

На сайте NVIDIA можно скачать драйвер NVIDIA 180.41 для Linux x86, а также ознакомиться с



дополнительной информацией.

Аналитики Phoronix обращают внимание, что в течение незавершившегося
ещё первого квартала 2009 года NVIDIA представила около дюжины
обновленных бинарных графических драйверов для Linux, в то время как
открытый драйвер xf86-video-nv последний раз официально обновлялся 7
месяцев назад; при этом открытый графический драйвер NVIDIA все еще не
поддерживает 3D и имеет крайне запутанный код.

Подробности .

Источник: http://www.linuxcenter.ru/news/2009/03/21/9377/