- Как убрать тиринг на Nvidia в Ubuntu Linux?
- Как убрать тиринг?
- Что делать, если опций в NVIDIA X Server Settings нет?
- Nvidia OpenGL Configuration mini-HOWTO
- Robert B Easter
- Перевод: Александр Ермолаев, SWSoft Pte Ltd.
- 1. Введение
- 1.1. Новые версии этого документа
- 1.2. Copyright Information
- 1.3. Авторские права
- 1.4. Ответственность
- 2. Загрузка пакетов программ
- 3. Установка XFree86
- 4. Установка Mesa
- 5. Установка драйверов Nvidia OpenGL
- 6. Установка Qt
- 7. Установка GLUT
- 8. Заключительные комментарии
- NVIDIA (Русский)
- Contents
- Установка
- Не поддерживаемые драйвера
- Собственное ядро
- DRM kernel mode setting
- Pacman hook
- Аппаратное ускорение видео
- NVDEC and VDPAU
- Настройка
- Минимальная настройка
- Автоматическая настройка
- NVIDIA Settings
- Несколько мониторов
- Использование NVIDIA Settings
- ConnectedMonitor
- TwinView
- Режим Mosaic
- Драйвер Persistence
Как убрать тиринг на Nvidia в Ubuntu Linux?
Многие владельцы видеокарт на базе Nvidia сталкиваются с проблемой тиринга на экране. Тиринг — это визуальные артефакты на экране, когда несколько кадров как бы склеиваются в один. Особенно заметен бывает тиринг на динамичных сценах фильмов, при прокрутке страницы или перетаскивании окна. В многомониторных конфигурациях иногда он появляется лишь на одном мониторе.
Проверить наличие тиринга можно на этом видеоролике в полноэкранном режиме.
Как убрать тиринг?
Как же избавиться от тиринга на Nvidia? На самом деле, все просто, и соответствующая опция старательно была добавлена разработчиками проприетарных драйверов.
Для начала следует удостовериться, что у вас установлены проприетарные драйвера Nvidia последней версии — это можно сделать из приложения «Дополнительные драйверы» в Ubuntu.
Далее запускаем приложение NVIDIA X Server Settings (nvidia-settings в терминале). Переходим во вкладку OpenGL Settings и удостовериваемся, что опции «Sync to VBlank» и «Allow Flipping» включены.
Далее переходим на вкладку X Server Display Configuration и нажимаем там Advanced для перехода к расширенным настройкам.
Следует поставить галочки напротив пунктов «Force Composition Pipeline» и «Force Full Composition Pipeline». Если вдруг таких пунктов нет — читаем дополнение ниже! Изменения можно тут же проверить — после нажатия Apply.
Если все хорошо, и тиринг ушел, изменения следует сохранить — для этого нажимаем Save to X Configuration File и сохраняем. Перезагружаемся.
Все, готово, теперь тиринга быть не должно!
Что делать, если опций в NVIDIA X Server Settings нет?
Если в NVIDIA X Server Settings отсутствуют опции «Force Composition Pipeline» и «Force Full Composition Pipeline» — это не проблема, их можно прописать вручную в конфигурационный файл. Однако вы это делаете на свой страх и риск.
Для начала устанавливаем для каждого монитора рабочее разрешение и частоту обновления 60 Гц. Нажимаем Apply, после чего Save to X Configuration File. Однако в файле конфигурации нам надо прописать данные опции, поэтому нажимаем Show preview для редактирования, разворачиваем окно.
Пролистываем файл до Section «Screen». Там должна быть опция metamodes, что-то вроде этого:
Option «metamodes» «1920x1080_60 +0+0»
(+0+0 — это так называемое смещение монитора, используется в случае многомониторных конфигураций)
Наша задача — прописать в конец эти опции, до закрывающих кавычек:
В результате должно получиться нечто следующее:
Сохраняем файл, перезагружаемся — должно работать!
Источник
Nvidia OpenGL Configuration mini-HOWTO
Robert B Easter
Перевод: Александр Ермолаев, SWSoft Pte Ltd.
Revision History | ||
---|---|---|
Revision v1.0 | Aug 28, 2000 | Revised by: rbe |
Этот miniHOWTO описывает способ, как установить драйвера OpenGL под Linux для видеокарты Nvidia. В дополнение к этому, документ объясняет, как установить XFree86, библиотеку OpenGL Utility (часть библиотеки Mesa), OpenGL Utility Toolkit (glut), полный набор страниц руководства по OpenGL, а также библиотеку Qt и ее расширения OpenGL, т.о. пользователи будут иметь основу для разработки OpenGL приложений под Linux.
1. Введение
Этот miniHOWTO описывает способ, как установить драйвера OpenGL под Linux для видеокарты Nvidia. В дополнение к этому, документ объясняет, как установить XFree86, библиотеку OpenGL Utility (часть библиотеки Mesa), OpenGL Utility Toolkit (glut), полный набор страниц руководства по OpenGL, а также библиотеку Qt и ее расширения OpenGL, т.о. пользователи будут иметь основу для разработки OpenGL приложений под Linux.
1.1. Новые версии этого документа
Последнюю версию этого документа можно найти на странице:
1.2. Copyright Information
This document is copyrighted (c) 2000 Robert B. Easter and is distributed under the terms of the Linux Documentation Project (LDP) license, stated below.
Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions.
All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below.
In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs.
If you have any questions, please contact
1.3. Авторские права
Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но так или иначе автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: , или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу
1.4. Ответственность
Я не несу никакой ответственности за содержание этого документа. Используйте идей, примеры и другое содержимое документа на свой страх и риск.
Все авторские права принадлежат их владельцам, если нет специального уточнения.
Упоминание специфических продуктов или торговых марок, которое имеет место в этом документе, не должно расцениваться как их подтверждение их качества.
2. Загрузка пакетов программ
Прежде всего драйверы OpenGL для видеокарт Nvidia требуют систему с ядром 2.2.12 или выше. Если вы не имеете его, тогда обновите вашу систему, а это уже тема другого HOWTO! Но, первый шаг должен быть сделан — это загрузка нового ядра с сайта:
Также требуется XFree86 4.0 или выше, предпочтительнее 4.01. Его инсталляция будет описана позже.
XFree86 содержится в трех файлах:
Doctools используется для подготовки X документации.
Включает glX, интерфейс для OpenGL X. Каждая графическая оконная система (MS Windows, X и т.п.) предоставляет платформенно-определенный интерфейс между OpenGL и системой, чтобы обеспечивать отображение GL контекста в окнах.
Страницы руководства OpenGL.
XFree86 идет только со страницами руководства glX. Если вы хотите полностью установить страницы руководства OpenGL, вы должны получить их сами.
Эти страницы руководства представлены в формате, готовом для распаковки в каталог XFree86, см. ниже.
Обеспечивает libGLU (GL Utility). GLU — библиотека предоставляет высокоуровневые функции для приложений. libGL.so — непосредственно OpenGL, является низкоуровневой библиотекой. Большинство приложений используют высокоуровневые библиотеки, подобные GLU.
Если у вас уже есть XFree86 4, необходимо установить библиотеку Mesa. GLU — стандартная часть большинства установок OpenGL и, как ожидается, она будет присутствовать в большинстве программ.
Glut обеспечивает графическую систему независимым интерфейсом между OpenGL и любой поддерживаемой графической системой. Например, в X Window скрываются подробности использования функций glX, при создании окна. Программисты могут один раз написать код и скомпилировать его для работы в MS Windows или X и т.п., при условии, что библиотека GLUT доступна на данной платформе.
Подобно GLU, GLUT — стандартная часть большинства установок OpenGL. Большинство примеров программ и даже некоторые приложения, сделаны с использованием libglut. Например, Руководство по программированию OpenGL (red book) использует Glut для своих примеров.
Вам нужно установить GLU и GLUT, если вы хотите иметь возможность компилировать большинство программ, которые можно свободно загрузить (исходный код). Некоторым программам могут даже быть необходимы эти библиотеки, если они связаны с ними динамически.
qt-x11-2.1.0.tar.gz или более новая версия
Qt — кросс-платформенная библиотека для создания GUI, которая позволяет легко создавать X приложения со стандартными элементами графического интерфейса (widget) — меню, полосы прокрутки, списки, флажки, кнопки, окна с MDI интерфесом и многие другие графические элементы. Используя Qt, программа может компилироваться в MS Windows и в X, без изменения кода. Это очень популярная GUI библиотека, и она использована для создания основных библиотек KDE ( http://www.kde.org/ ).
Qt имеет расширение (qt/ententions/opengl) для OpenGL, которое обеспечивает создание OpenGL контекста в программах, написаных с помощью Qt. Она обеспечивает некоторую альтернативу GLUT и использует функции glX напрямую, плюс, добавляет полный доступ к qt элементам и кросс-платформенную переносимость.
Она полезна, если вы хотите компилировать или разрабатывать программы, основанные на Qt.
Ядро должно быть по адресу: /lib/modules/2.2.16/video/NVdriver, а файлы libGL.so и libGLcore.so в каталоге /usr/lib/ и библиотека Mesa должна находится там же. libGL.so — OpenGL. Эти файлы являются средствами nvidia для аппаратного ускорения OpenGL.
XFree86 4.0.1, кажется, содержит ядро Mesa 3.3, однако в нем отсутствуют некоторые файлы libGLU*, которые требуют многие программы.
3. Установка XFree86
Если это расположение неправильно для вашего дистрибутива Linux, вы должны их найти — попробуйте посмотреть в /var
Когда вы распакуете файлы man*.tar.Z (см. выше), будут добавлены два новых каталога: gl и glu.
Когда X установлен и выполняется (позже), попробуйте использовать программу xman, чтобы просмотреть руководства gl,glx,glu и glut из секции 3.
4. Установка Mesa
5. Установка драйверов Nvidia OpenGL
Вы можете разместить эту команду в одном из загрузочных файлов, например /etc/rc.d/rc.modules
6. Установка Qt
Проверьте qt/configs/linux-g++-shared и убедитесь, что там нет ключей содержащих слово Mesa, например -lMesaGL -lMesaGLU должны быть -lGL -lGLU. Прочитайте файл INSTALL об установке переменных окружения.
7. Установка GLUT
Установка GLUT имеет некоторые хитрости. Я не очень знаком с программой imake, которая используется для управления файлами Makefile. И я не совсем понял, как установить GLUT, туда куда я хотел (/usr/lib). Во любом случае, это можно сделать вручную:
8. Заключительные комментарии
К данному моменту вы должны иметь полностью функциональную систему OpenGL для выполнения и разработки OpenGL приложений.
Источник
NVIDIA (Русский)
Данная статья описывает процесс установки и настройки проприетарного драйвера графических карт NVIDIA. Для получения информации о драйверах с открытым исходным кодом обратитесь к статье Nouveau (Русский). Также есть отдельная статья для обладателей ноутбуков с гибридной графикой Intel и NVIDIA, см. NVIDIA Optimus (Русский).
Contents
Установка
Данные инструкции предназначены для предоставляемых в дистрибутиве пакетов ядра linux и linux-lts . Пользователи других пакетов ядра могут сразу перейти к следующему подразделу.
1. Если вы не знаете модель установленной графической карты, воспользуйтесь следующей командой:
2. Определите версию драйвера, необходимую для вашей видеокарты:
- Используя поиск по кодовому имени (например, NV50, NVC0 и т.д.) на странице Nouveau с кодовыми именами
- Просмотрев модели в списке устаревших графических карт NVIDIA: если вашей карты нет в списке, используйте последний доступный драйвер
- Посетив страницу загрузки драйверов NVIDIA
3. Установите подходящий драйвер для своей карты:
- Для карт GeForce 630-900, 10-20 и Quadro/Tesla/Tegra серии K и новее [семейства NVE0, NV110 и NV130 примерно из 2010-2020], установите пакет nvidia или nvidia-lts .
- Если эти пакеты не работают, в nvidia-betaAUR может быть более новый драйвер с поддержкой вашего оборудования.
- Также существует nvidia-llb-dkmsAUR , собранный из ветки NVIDIA с длительным сроком поддержки.
- Для видеокарт серии GeForce 400/500/600 [NVCx и NVDx] примерно из 2010-2011, установите пакет nvidia-390xx-dkmsAUR
- Для установки драйвера более старых моделей(выпущеных в 2010 или раньше), обратитесь к разделу #Не поддерживаемые драйвера.
4. Для поддержки 32-разрядных приложений также необходимо установить соответствующий пакет nvidia lib32 из репозитория multilib (например, lib32-nvidia-utils или lib32-nvidia-390xx-utils AUR ).
5. Перезагрузите систему. Пакет nvidia содержит файл, который добавляет модуль nouveau в чёрный список, поэтому перезагрузка необходима.
После того, как драйвер был установлен, можно перейти к разделу #Настройка.
Не поддерживаемые драйвера
Если у вас установлена видеокарта серии GeForce 300 или старее (выпущенная в 2010 или раньше), Nvidia больше не поддерживает драйвера для данной карты. Это означает, что указанные драйвера не поддерживают текущую версию Xorg. В таком случае проще использовать драйвер Nouveau, который поддерживает старые видеокарты с текущей версией Xorg.
Однако устаревшие драйверы Nvidia ещё доступны и могут предоставлять лучшую стабильность или 3D-производительность, если вы готовы откатить версию Xorg (Русский):
- Для карт серий GeForce 8/9, ION и 100-300 [NV5x, NV8x, NV9x and NVAx], установите пакет nvidia-340xx-dkmsAUR . Последняя поддерживаемая версия Xorg 1.20.
- Карты GeForce 7 series и более старые [NV6x, NV4x и ниже] не имеют пакетов для Arch Linux.
Собственное ядро
Если вы используете собственной ядро, то сборка модулей Nvidia может быть автоматизированна при помощи DKMS.
Установите пакет nvidia-dkms (или специфичную ветку, например, nvidia-340xx-dkms AUR ). Модуль будет пересобираться после каждого обновления драйвера или ядра благодаря DKMS Pacman Hook.
DRM kernel mode setting
nvidia 364.16 добавляет поддержку DRM (Direct Rendering Manager) Kernel mode setting. Для активации добавьте nvidia-drm.modeset=1 в параметры ядра, а также добавьте nvidia , nvidia_modeset , nvidia_uvm и nvidia_drm в initramfs в соответствии с mkinitcpio#MODULES.
Не забывайте запускать mkinitcpio каждый раз после обновления драйвера. См. раздел #Pacman hook для автоматизации данных действий.
Pacman hook
Для того, чтобы не забывать обновлять initramfs после обновления nvidia, вы можете использовать pacman hook следующим образом:
Убедитесь, что Target это тот пакет который вы установили в шагах выше (т.е. nvidia , nvidia-dkms , nvidia-lts or nvidia-ck-something ).
Так же измените Target=linux если используется другое ядро.
Аппаратное ускорение видео
NVDEC and VDPAU
Ускоренное декодирование видео с помощью VDPAU поддерживается на картах GeForce 8 series и более поздних версиях. Ускоренное декодирование видео с помощью NVDEC поддерживается на картах Fermi и более новых. Дополнительная информация Hardware video acceleration (Русский).
Ускоренное декодирование видео MPEG-1 и MPEG-2 с помощью XvMC поддерживается на серии видеокарт GeForce4, GeForce 5 FX, GeForce 6 и GeForce 7. Смотрите XvMC.
Настройка
Эта статья или раздел нуждается в переводе
Вполне возможно, что после установки драйвера, вам будет не нужно создавать конфигурационные файлы для сервера Xorg. Вы можете запустить тест для проверки корректной работы сервера Xorg без файла конфигурации. Однако, может потребоваться создание конфигурационного файла (предпочтительно /etc/X11/xorg.conf.d/20-nvidia.conf поверх /etc/X11/xorg.conf ) для дополнительной настройки. Это конфигурация может быть сгенерирована инструментом конфигурации NVIDIA Xorg или можно создать её вручную. Если создается вручную, это может быть минимальной конфигурацией (в том смысле, что она будет содержать базовые настройки сервера Xorg), либо она может включать в себя ряд настроек, которые могут обоходить автоматически обнаруженные настройки Xorg или предварительно заданные настройки.
Минимальная настройка
Базовый блок конфигурации в 20-nvidia.conf (или устаревший блок в xorg.conf ) должен выглядеть так:
Автоматическая настройка
Пакет NVIDIA, включает в себя автоматический инструмент для создания файла конфигурации сервера Xorg ( xorg.conf ) и может быть запущен путем выполнения:
Данная команда автоматически обнаруживает и создает (или изменяет, если было уже создано) конфигурацию /etc/X11/xorg.conf , в соответствии с текущим аппаратным обеспечением.
Если есть строка с указанием загрузки DRI, убедитесь, что она закомментирована:
Проверьте ещё раз /etc/X11/xorg.conf , убедитесь, что глубина по умолчанию, горизонтальная синхронизация, частота кадров и разрешение допустимы.
NVIDIA Settings
Пакет nvidia-settings позволяет редактировать большинство опций через графическую оболочку. Запустите nvidia-settings c правами суперпользователя, отредактируйте, и сохраните в /etc/X11/xorg.conf.d/ .
Также, вы можете запустить настройки от обычного пользователя и сохранить в
/.nvidia-settings-rc . Затем, вы сможете загружать настройки используя команду $ nvidia-settings —load-config-only (для примера, в ваш файл xinitrc).
Несколько мониторов
Использование NVIDIA Settings
Используйте nvidia-settings для настройки мультимониторной конфигурации.
ConnectedMonitor
Если драйвер не определил второй монитор, вы можете принудительно указать его с помощью опции ConnectedMonitor
Дублирование устройств с опцией Screen описывает использование сервером Xorg двух мониторов на одной карте без технологии TwinView . Учтите, что nvidia-settings будет вырезать любое упоминание опции ConnectedMonitor .
TwinView
Вы хотите только один большой экран вместо двух. Установите значение опции TwinView в 1 . Эта опция должна использоваться если вы хотите композитинга. Технология TwinView работает только на базе одной карты, когда все мониторы подключены к одной карте.
Если вы имеете несколько карт, которые совместимы с технологией SLI, вы можете использовать несколько мониторов присоединённых к разным картам (пример: две карты в режиме SLI с подключением монитора на каждой карте). Опция «MetaModes» совместно с режимом SLI Mosaic позволяет это. Ниже указана конфигурация, которая работает для вышеупомянутого примера и безупречно запускает GNOME.
Ручная конфигурация из командной строки с использованием xrandr
Эта статья или раздел нуждается в переводе
Если вышеуказанные решения не сработали, вы можете использовать автозапуск вашего менеджера окон совместно с пакетом xorg-xrandr .
Некоторые примеры работы с командой xrandr :
- —output используется для указания «монитора», к которому применяются опции.
- DVI-I-1 имя второго монитора.
- —pos позиция второго монитора относительно первого.
- —mode разрешение второго монитора.
- —rate частота обновления (в Гц).
Vsync при использовании TwinView
Если вы используете TwinView и вертикальную синхронизацию (опция «Sync to VBlank» в nvidia-settings), вы заметите, что только один экран корректно использует синхронизацию, если у вас два идентичных монитора. Несмотря на то, что nvidia-settings имеет необходимую опцию для выбора, какой именно экран синхронизировать (опция «Sync to this display device»), это не всегда работает. Решением будет добавить следующие переменные окружения при запуске, например в /etc/profile :
Вы можете изменить DFP-0 на ваш используемый монитор ( DFP-0 это DVI порт, а CRT-0 — VGA порт). Идентификатор для вашего монитора можно найти с помощью nvidia-settings в секции «X Server XVideoSettings».
Gaming using TwinView
Если вы захотите сыграть в полноэкранные игры при использовании TwinView, вероятно вы заметите, что игры распознают два экрана как один большой экран. Хотя это технически правильно (виртуальный экран X в действительности соответствует размеру ваших экранов вместе), вы, вероятно, не захотите так играть.
Чтобы исправить это для SDL, попробуйте:
Для OpenGL, добавьте Metamodes в свой xorg.conf в секции Device и перезапустите X:
Еще один метод, который может работать самостоятельно, или в сочетании с упомянутыми выше: Запуск игр в отдельном X сервере [ссылка недействительна: раздел не найден] .
Режим Mosaic
Режим Mosaic единственный способ использовать более чем два монитора через несколько видеокарт с использованием композитинга. Ваш оконный менджер может распознать, а может и не распознать различия между мониторами.
Base Mosaic
Режим Base Mosaic работает с картами Geforce 8000 series или выше. Его нельзя включить через графический интерфейс nvidia-setting. Вы должны использовать команду nvidia-xconfig , либо отредактировать xorg.conf самостоятельно. Опция Metamodes должна быть указана. Следующий пример для четырёх DFP мониторов в конфигурации 2х2, каждый запущен в разрешении 1920×1024, по два подключенных DFP монитора на две карты:
SLI Mosaic
Если вы имеете конфигурацию SLI и все графические ускорители серии Quadro FX 5800, Quadro Fermi или новее, тогда вы можете использовать режим SLI Mosaic. он можеть быть включен из графического интерфейса nvidia-settings или из командной строки:
Драйвер Persistence
Начиная с версии 319, Nvidia изменила порядок работы драйвера persistence, теперь он запускается как демон при загрузке. Смотрите раздел драйвер Persistence (англ.) документации Nvidia, для получения детальной информации.
Источник