NVIDIA (Русский)
Ссылки по теме
Данная статья описывает процесс установки и настройки проприетарного драйвера графических карт NVIDIA. Для получения информации о драйверах с открытым исходным кодом обратитесь к статье Nouveau (Русский). Также есть отдельная статья для обладателей ноутбуков с технологиями на базе NVIDIA Optimus.
Contents
- 1 Установка
- 2 Настройка
- 3 Тонкая настройка
-
4 Советы и подсказки
- 4.1 Исправление разрешения терминала
- 4.2 Включение Pure Video HD (VDPAU/VAAPI)
- 4.3 Избежание разрывов изображения (тьюринга) в KDE (KWin)
- 4.4 Аппартное ускорение декодирования видео с помощью XvMC
- 4.5 Использование ТВ-выхода
- 4.6 X на ТВ (DFP) как основной экран
- 4.7 Проверка источника питания
- 4.8 Отображение температуры графического процессора в оболочке
- 4.9 Утсановка скорости вентилятора при входе
- 4.10 Порядок установки/удаления при смене драйвера
- 4.11 Переключение между драйверами NVIDIA и nouveau
- 4.12 Как избежать разрывов/тьюринга на картах GeForce 500/600/700/900 series
-
5 Возможные проблемы
- 5.1 Игры при использовании TwinView
- 5.2 Вертикальная синхронизация при использовании TwinView
- 5.3 Wayland (gdm) рушится после установки nvidia-libgl
- 5.4 Старые настройки Xorg
- 5.5 Поврежденный экран: проблема "Шести экранов"
- 5.6 '/dev/nvidia0' input/output error
- 5.7 Ошибки '/dev/nvidiactl'
- 5.8 Не запускаются 32-битные приложения
- 5.9 Ошибки после обновления ядра
- 5.10 Crashing in general
- 5.11 Bad performance after installing a new driver version
- 5.12 CPU spikes with 400 series cards
- 5.13 Laptops: X hangs on login/out, worked around with Ctrl+Alt+Backspace
- 5.14 No screens found on a laptop/NVIDIA Optimus
- 5.15 Screen(s) found, but none have a usable configuration
- 5.16 Blackscreen at X startup with new driver
- 5.17 Backlight is not turning off in some occasions
- 5.18 Blue tint on videos with Flash
- 5.19 Bleeding overlay with Flash
- 5.20 Full system freeze using Flash
- 5.21 Xorg fails to load or Red Screen of Death
- 5.22 Black screen on systems with Intel integrated GPU
- 5.23 Black screen on systems with VIA integrated GPU
- 5.24 X fails with "no screens found" with Intel iGPU
- 5.25 Xorg fails during boot, but otherwise starts fine
- 5.26 Flash video players crashes
- 5.27 Override EDID
- 5.28 Fix rendering lag (firefox, gedit, vim, tmux …)
- 5.29 Screen Tearing with Multiple Monitor Orientations
- 6 See also
Установка
Данная инструкция предназначена для предоставляемых в дистрибутиве пакетов ядра linux или linux-lts. Для пользователей ядра, собранного самостоятельно, следует обратится к следующему подразделу.
1. Если вы не знаете модель графической карты, установленной у вас, для поиска используйте данный запрос:
$ lspci -k | grep -A 2 -E "(VGA|3D)"
2. Есть несколько вариантов определения необходимой для вас версии драйвера:
- поиск по кодовому имени (т.к. NV50, NVC0, и др.) на странице с кодовыми именами nouveau
- просмотр модели в списке устаревших графических карт NVIDIA: если вашей карты нет в списке, используйте драйвер для нового оборудования
- также можно посетить страницу загрузки драйвера с сайта NVIDIA
3. Установите подходящий драйвер для своей карты:
- Для карт GeForce 400 series и более новых [NVCx и новее], установите (см. install) пакет nvidia или пакет nvidia-lts вместе с пакетом nvidia-libgl.
- Для карт GeForce 8000/9000 и 100-300 series [NV5x, NV8x, NV9x и NVAx] года производства 2006-2010, установите (см. install) пакет nvidia-340xx или пакет nvidia-340xx-lts вместе с пакетом nvidia-340xx-libgl.
- Для карт GeForce 6000/7000 series [NV4x и NV6x] года производства 2004-2006, установите (см. install) пакет nvidia-304xx или пакет nvidia-304xx-lts вместе с пакетом nvidia-304xx-libgl.
- Для более старых моделей, обратитесь к подразделу #Неподдерживаемые драйвера.
- Для очень новых моделей графических ускорителей может потребоваться установка (см. install) пакета nvidia-betaAUR, т.к. стабильная версия драйвера может не поддерживать новые функции, добавленные в эти карты.
4. Если у вас разрядность ОС 64-бит и вам необходима поддержка OpenGL 32-бит,то необходимо установить соответствующие пакеты lib32 с репозитория multilib (т.к. lib32-nvidia-libgl, lib32-nvidia-340xx-libgl или lib32-nvidia-304xx-libgl).
5. Перезагрузите систему. Пакет nvidia содержит файл с чёрным списком для модуля nouveau, поэтому перезагрузка необходима.
После того, как драйвер будет установлен, можно перейти к разделу #Настройка.
Неподдерживаемые драйвера
Если вы имеете карту GeForce 5 FX series или старее, Nvidia не поддерживает больше драйвера для вашей карты. Это означает, что эти драйвера не поддерживают текущую версию Xorg. В вашем случае, проще использовать драйвер nouveau, который поддерживает старые карты в текущей версии Xorg.
Однако, старые драйвера Nvidia пока ещё доступны и могут прдоставлять лучшую 3D производительность/стабильность если вы откатите версию Xorg:
- Для карт GeForce 5 FX series [NV30-NV36], установите пакет nvidia-173xx-dkmsAUR. Последняя поддерживаемая версия Xorg 1.15.
- Для карт GeForce 2/3/4 MX/Ti series [NV11, NV17-NV28], установите пакет nvidia-96xx-dkmsAUR. Последняя поддерживаемая версия Xorg 1.12.
Альтернативная установка: собственное ядро
Прежде всего, очень хорошо понимать, как работает система ABS, путём прочтения некоторых статей об этом:
- Основная статья о ABS
- Статья о makepkg
- Статья о Creating packages
Следующее небольшое руководство описывает процесс создания собственного пакета драйвера NVIDIA, используя ABS:
Установите (см. Install) пакет abs и сгенерируйте дерево:
# abs
Как обычный пользователь, сделайте временный каталог для создания нового пакета:
$ mkdir -p ~/abs
Сделайте копию каталога пакета nvidia
:
$ cp -r /var/abs/extra/nvidia/ ~/abs/
Зайдите в временный каталог сборки nvidia
:
$ cd ~/abs/nvidia
Теперь необходимо отредактировать файлы nvidia.install
и PKGBUILD
, они должны содержать правильные переменные версии ядра.
Когда запущено собственное ядро, узнайте версию и имя ядра:
$ uname -r
- В nvidia.install, замените переменную
EXTRAMODULES='extramodules-3.4-ARCH'
собственной версией ядра, напримерEXTRAMODULES='extramodules-3.4.4'
илиEXTRAMODULES='extramodules-3.4.4-custom'
в зависимости от названия и версии вашего ядра. Сделайте эти изменения для всех найденых совпадений в этом файле. - В PKGBUILD, измените переменную
_extramodules=extramodules-3.4-ARCH
на совпадающую с вашей версией ядра, как описано выше. - Если вы установили параллельно несколько ядер (например собственное ядро и ядро -ARCH, предоставляемое по умолчанию), измените название в PKGBUILD
pkgname=nvidia
на уникальное, такое как nvidia-344 или nvidia-custom. Это позволяет ядрам использовать разные модули nvidia, собственный модуль nvidia будет иметь другое название пакета и не будет переписан оригинальным. Вам также понадобится закоментировать строку вpackage()
, которая добавляет в чёрный список модуль nouveau в/usr/lib/modprobe.d/nvidia.conf
(нет необходимости делать это снова).
Теперь выполните:
$ makepkg -ci
Ключ -c
говорит makepkg очистить оставшиеся файлы после сборки пакета, ключ -i
указывает makepkg автоматически выполнить запуск pacman для установки собранного пакета.
Автоматическая пересборка модуля NVIDIA при обновлении ядра
Это возможно благодаря пакету nvidia-hookAUR с AUR. Вам необходимо установить пакет с исходным кодом модуля: nvidia-dkms. В nvidia-hook, автоматическая пересборка выполняется хуком nvidia
в mkinitcpio принудительно, при обновлении пакета linux-headers. Вам необходимо добавить nvidia
в раздел HOOKS файла /etc/mkinitcpio.conf
.
Хук будет вызывать команду dkms для обновления модуля NVIDIA при обновлении версии вашего ядра.
Настройка
Вполне возможно, что после установки драйвера, вам будет не нужно создавать конфигурационные файлы для сервера Xorg. Вы можете запустить тест для проверки корректной работы сервера Xorg без файла конфигурации. Однако, может потребоваться создание конфигурационного файла (предпочтительно /etc/X11/xorg.conf.d/20-nvidia.conf
поверх /etc/X11/xorg.conf
) для дополнительной настройки. Это конфигурация может быть сгенерирована инструментом конфигурации NVIDIA Xorg или можно создать её вручную. Если создается вручную, это может быть минимальной конфигурацией (в том смысле, что она будет содержать базовые настройки сервера Xorg), либо она может включать в себя ряд настроек, которые могут обоходить автоматически обнаруженные настройки Xorg или предварительно заданные настройки.
Минимальная настройка
Базовый блок конфигурации в 20-nvidia.conf
(или устаревший блок в xorg.conf
) должен выглядеть так:
/etc/X11/xorg.conf.d/20-nvidia.conf
Section "Device" Identifier "Nvidia Card" Driver "nvidia" VendorName "NVIDIA Corporation" Option "NoLogo" "true" #Option "UseEDID" "false" #Option "ConnectedMonitor" "DFP" # ... EndSection
Автоматическая настройка
Пакет NVIDIA, включает в себя автоматический инструмент для создания файла конфигурации сервера Xorg (xorg.conf
) и может быть запущен путем выполнения:
# nvidia-xconfig
Данная команда автоматически обнаруживает и создает (или изменяет, если было уже создано) конфигурацию /etc/X11/xorg.conf
, в соответствии с текущим аппаратным обеспечением.
Если есть строка с указанием загрузки DRI, убедитесь, что она закомментирована:
# Load "dri"
Проверьте ещё раз /etc/X11/xorg.conf
, убедитесь, что глубина по умолчанию, горизонтальная синхронизация, частота кадров и разрешение допустимы.
Несколько мониторов
- Смотрите Multihead для получения основной информации
Использование NVIDIA Settings
Вы можете использовать инструмент nvidia-settings для настройки много-мониторной конфигурации. Этот метод использует закрытое програмнное обеспечение NVIDIA поставляемое с драйверами. Просто запустите nvidia-settings
как root, затем настройте как вам надо и сохраните конфигурацию в /etc/X11/xorg.conf.d/10-monitor.conf
.
ConnectedMonitor
Если драйвер не определил второй монитор, вы можете принудительно указать его с помощью опции ConnectedMonitor
/etc/X11/xorg.conf
Section "Monitor" Identifier "Monitor1" VendorName "Panasonic" ModelName "Panasonic MICRON 2100Ex" HorizSync 30.0 - 121.0 # this monitor has incorrect EDID, hence Option "UseEDIDFreqs" "false" VertRefresh 50.0 - 160.0 Option "DPMS" EndSection Section "Monitor" Identifier "Monitor2" VendorName "Gateway" ModelName "GatewayVX1120" HorizSync 30.0 - 121.0 VertRefresh 50.0 - 160.0 Option "DPMS" EndSection Section "Device" Identifier "Device1" Driver "nvidia" Option "NoLogo" Option "UseEDIDFreqs" "false" Option "ConnectedMonitor" "CRT,CRT" VendorName "NVIDIA Corporation" BoardName "GeForce 6200 LE" BusID "PCI:3:0:0" Screen 0 EndSection Section "Device" Identifier "Device2" Driver "nvidia" Option "NoLogo" Option "UseEDIDFreqs" "false" Option "ConnectedMonitor" "CRT,CRT" VendorName "NVIDIA Corporation" BoardName "GeForce 6200 LE" BusID "PCI:3:0:0" Screen 1 EndSection
Дублирование устройств с опцией Screen
описывает использование сервером Xorg двух мониторов на одной карте без технологии TwinView
. Учтите, что nvidia-settings
будет вырезать любое упоминание опции ConnectedMonitor
.
TwinView
Вы хотите только один большой экран вместо двух. Установите значение опции TwinView
в 1
. Эта опция должна использоваться если вы хотите композитинга. Технология TwinView работает только на базе одной карты, когда все мониторы подключены к одной карте.
Option "TwinView" "1"
Пример конфигурцаии:
/etc/X11/xorg.conf.d/10-monitor.conf
Section "ServerLayout" Identifier "TwinLayout" Screen 0 "metaScreen" 0 0 EndSection Section "Monitor" Identifier "Monitor0" Option "Enable" "true" EndSection Section "Monitor" Identifier "Monitor1" Option "Enable" "true" EndSection Section "Device" Identifier "Card0" Driver "nvidia" VendorName "NVIDIA Corporation" #refer to the link below for more information on each of the following options. Option "HorizSync" "DFP-0: 28-33; DFP-1 28-33" Option "VertRefresh" "DFP-0: 43-73; DFP-1 43-73" Option "MetaModes" "1920x1080, 1920x1080" Option "ConnectedMonitor" "DFP-0, DFP-1" Option "MetaModeOrientation" "DFP-1 LeftOf DFP-0" EndSection Section "Screen" Identifier "metaScreen" Device "Card0" Monitor "Monitor0" DefaultDepth 24 Option "TwinView" "True" SubSection "Display" Modes "1920x1080" EndSubSection EndSection
Дополнительная информация о технологии TwinView (англ.).
Если вы имеете несколько карт, которые совместимы с технологией SLI, вы можете использовать несколько мониторов присоединённых к разным картам (пример: две карты в режиме SLI с подключением монитора на каждой карте). Опция "MetaModes" совместно с режимом SLI Mosaic позволяет это. Ниже указана конфигурация, которая работает для вышеупомянутого примера и безупречно запускает GNOME.
/etc/X11/xorg.conf.d/10-monitor.conf
Section "Device" Identifier "Card A" Driver "nvidia" BusID "PCI:1:00:0" EndSection Section "Device" Identifier "Card B" Driver "nvidia" BusID "PCI:2:00:0" EndSection Section "Monitor" Identifier "Right Monitor" EndSection Section "Monitor" Identifier "Left Monitor" EndSection Section "Screen" Identifier "Right Screen" Device "Card A" Monitor "Right Monitor" DefaultDepth 24 Option "SLI" "Mosaic" Option "Stereo" "0" Option "BaseMosaic" "True" Option "MetaModes" "GPU-0.DFP-0: 1920x1200+4480+0, GPU-1.DFP-0:1920x1200+0+0" SubSection "Display" Depth 24 EndSubSection EndSection Section "Screen" Identifier "Left Screen" Device "Card B" Monitor "Left Monitor" DefaultDepth 24 Option "SLI" "Mosaic" Option "Stereo" "0" Option "BaseMosaic" "True" Option "MetaModes" "GPU-0.DFP-0: 1920x1200+4480+0, GPU-1.DFP-0:1920x1200+0+0" SubSection "Display" Depth 24 EndSubSection EndSection Section "ServerLayout" Identifier "Default" Screen 0 "Right Screen" 0 0 Option "Xinerama" "0" EndSection
Ручная конфигурация из командной строки с использованием xrandr
Если вышеуказанные решения не сработали, вы можете использовать автозапуск вашего менеджера окон совместно с пакетом xorg-xrandr.
Некоторые примеры работы с командой xrandr
:
xrandr --output DVI-I-0 --auto --primary --left-of DVI-I-1
или:
xrandr --output DVI-I-1 --pos 1440x0 --mode 1440x900 --rate 75.0
Где:
-
--output
используется для указания "монитора", к которому применяются опции. -
DVI-I-1
имя второго монитора. -
--pos
позиция второго монитора относительно первого. -
--mode
разрешение второго монитора. -
--rate
частота обновления (в Гц).
Режим Mosaic
Режим Mosaic единственный способ использовать более чем два монитора через несколько видеокарт с использованием композитинга. Ваш оконный менджер может распознать, а может и не распознать различия между мониторами.
Base Mosaic
Режим Base Mosaic работает с картами Geforce 8000 series или выше. Его нельзя включить через графический интерфейс nvidia-setting. Вы должны использовать команду nvidia-xconfig
, либо отредактировать xorg.conf
самостоятельно. Опция Metamodes должна быть указана. Следующий пример для четырёх DFP мониторов в конфигурации 2х2, каждый запущен в разрешении 1920x1024, по два подключенных DFP монитора на две карты:
$ nvidia-xconfig --base-mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"
SLI Mosaic
Если вы имеете конфигурацию SLI и все графические ускорители серии Quadro FX 5800, Quadro Fermi или новее, тогда вы можете использовать режим SLI Mosaic. он можеть быть включен из графического интерфейса nvidia-settings или из командной строки:
$ nvidia-xconfig --sli=Mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"
Драйвер Persistence
Начиная с версии 319, Nvidia изменила порядок работы драйвера persistence, теперь он запускается как демон при загрузке. Смотрите раздел драйвер Persistence (англ.) документации Nvidia, для получения детальной информации.
Для запуска демона persistence разрешите nvidia-persistenced.service
. Для использования вручную смотрите документацию разработчика.
Тонкая настройка
Графический интерфейс: nvidia-settings
Пакет NVIDIA включает в себя программу nvidia-settings
, которая позволяет настраивать различные параметры.
Для загрузки настроек при входе, запустите эту команду из терминала:
$ nvidia-settings --load-config-only
Метод автозапуска среды рабочего стола 'может' не сработать при загрузке nvidia-settings (KDE). Чтобы удостовериться, что настройки реально загружены, поместите команду в файл ~/.xinitrc (создайте сами, если его нет)
Дополнительно: 20-nvidia.conf
Отредактируйте /etc/X11/xorg.conf.d/20-nvidia.conf
и добавьте опции в нужные секции. Сервер Xorg необходимо перегрузить для применения любых изменений.
Смотрите NVIDIA Accelerated Linux Graphics Driver README и Руководство по установке (англ.) для получения дополнительной информации и опций.
Запрет логотипа при загрузке
Добавьте опцию "NoLogo"
внутри секции Device
:
Option "NoLogo" "1"
Переопределение обнаружения монитора
Опция "ConnectedMonitor"
в секции Device
позволяет переопределить обнаружение монитора при запуске X, что позволяет сэкономить время при загрузке. Доступные опции: "CRT"
для аналоговых мониторов, "DFP"
для цифровых мониторов и "TV"
для телевизоров.
Следующая строка принуждает драйвер NVIDIA в обход проверки и определения использовать монитор как DFP:
Option "ConnectedMonitor" "DFP"
Включение контроля яркости
Добавьте в секцию Device
строку:
Option "RegistryDwords" "EnableBrightnessControl=1"
Если контроль яркости не заработает после применения данной опции, попробуйте установить nvidia-blAUR или nvidiablAUR.
Включение SLI
Выдержка из README драйвера NVIDIA Приложение B: Данная опция контролирует рендеринг SLI в поддерживаемых конфигурациях. Другими словами, в "поддерживаемых конфигурациях" обозначены компьютеры оборудованные материнской платой c сертифицированной поддержкой SLI и 2 или 3 графических процессора GeForce, также с сертифицированной поддержкой SLI. Смотрите Зона SLI (англ.) для получения подробной информации.
Найдем первый PCI Bus ID графического процессора, используя lspci
:
$ lspci | grep VGA
03:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GTS 512] (rev a2) 05:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GTS 512] (rev a2)
Добавим BusID (3 в нашем случае) в секцию Device
:
BusID "PCI:3:0:0"
Добавьте желаемое значение режима рендеринга SLI в секцию Screen
:
Option "SLI" "AA"
Следущая таблица описывает доступные режимы рендеринга.
Значение | Описание |
---|---|
0, no, off, false, Single | Использовать только один графический процессор для рендеринга. |
1, yes, on, true, Auto | Включить SLI и позволить драйверу автоматически выбрать режим рендеринга. |
AFR | Включить SLI и использовать режим поочередного рендеринга кадров. |
SFR | Включить SLI и использовать режим разделённого рендеринга кадров. |
AA | Включить SLI и использовать сглаживание SLI. Используйте в сочетании с полным сглаживанием сцены, для улучшения качества визуализации. |
Другой вариант, вы можете использовать утилиту nvidia-xconfig
для вставки изменений в xorg.conf
одной командой:
# nvidia-xconfig --busid=PCI:3:0:0 --sli=AA
Для проверки работы режима SLI в консольном режиме:
$ nvidia-settings -q all | grep SLIMode
Attribute 'SLIMode' (arch:0.0): AA 'SLIMode' is a string attribute. 'SLIMode' is a read-only attribute. 'SLIMode' can use the following target types: X Screen.
Включение разгона
Разгон контролируется через опцию Coolbits в секции Device
, позволяя использовать различные неподдерживаемые свойства:
Option "Coolbits" "value"
Значение Coolbits - сумма его составляющих битов в двоичной системе исчисления. Типы битов:
-
1
(bit 0) - Включает возможность разгона для старых (до архитектуры Fermi) ядер, вкладка Clock Frequencies в nvidia-settings. -
2
(bit 1) - Когда бит установлен, драйвер "будет пытаться инициализировать режим SLI, когда используются два графических процессора с разным количеством видеопамяти". -
4
(bit 2) - Включает ручное управление охлаждением графического процессора вкладка Thermal Monitor в nvidia-settings. -
8
(bit 3) - Включает возможность разгона на вкладке PowerMizer в nvidia-settings. Доступна с версии 337.12 для архитектур Fermi и новее. [1] -
16
(bit 4) - Включает возможность повышения напряжения через параметры командной строки nvidia-settings. Доступна с версии 337.12 для архитектур Fermi и новее.[2]
Чтобы включить несколько свойств, сложите значения Coolbits. Например, чтобы включить возможности разгона и повышения напряжения для архитектуры Fermi, установите значение Option "Coolbits" "24"
.
Документация по Coolbits находится в /usr/share/doc/nvidia/html/xconfigoptions.html
. Последния онлайн-версия документации по Coolbits (версия драйвера 355.11) находится тут (англ.).
Настройка статического 2D/3D разгона
Установите следующую строку в секции Device
для включения PowerMizer на максимальную производительность (VSync не будет работать без этой строки):
Option "RegistryDwords" "PerfLevelSrc=0x2222"
Советы и подсказки
Исправление разрешения терминала
Переход с драйвера nouveau будет сопровождаться низким разрешением экрана терминала при загрузке. Для загрузчика GRUB, обратитесь к GRUB/Tips and tricks#Setting the framebuffer resolution, чтобы увеличить разрешение.
Включение Pure Video HD (VDPAU/VAAPI)
Аппаратные требования:
Как миниум, видеокарта с вторым поколением PureVideo HD wikipedia:Nvidia_PureVideo#Table_of_PureVideo_.28HD.29_GPUs.
Программные требования:
Видеокарты Nvidia с установленым проприетарным драйвером будут предоставлять декодирование видео, совместимое с интерфейсом VDPAU в различных вариантах, в зависимости от поколения PureVideo.
Вы можете также добавить поддержку интерфейса VA-API с помощью libva-vdpau-driver.
Проверка подержки VA-API:
$ vainfo
Для получения всех преимуществ апаратного декодирования вашей видеокарты, вам необходим медиаплеер с поддержкой VDPAU или VA-API.
Для включения аппаратного ускорения в MPlayer добавьте в ~/.mplayer/config
vo=vdpau vc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau,
Для включения аппаратного ускорения в VLC перейдите:
Инструменты > Настройки > Ввод/кодеки
, теперь выберите VDPAU
в меню Декодирование с аппаратным ускорением
Для включения аппаратного ускорения в smplayer перейдите:
Настройки > Настройки > Основные > вкладка Видео
, теперь выберите vdpau
в меню Устройство вывода
Для включения аппаратного ускорения в gnome-mplayer перейдите:
Правка > Параметры
, теперь выберите в меню Вывод видео
значение vdpau
Просмотр HD видео на картах с малым количеством памяти:
Если ваша видеокарта имеет мало памяти (>512MB?), вы можете столкнуться с глюками при просмотре видео в разрешениях 1080p или 720p. Чтобы этого избежать, запускайте простые менеджеры окон типа TWM или MWM.
Также может помочь увеличение размера кэша MPlayer в ~/.mplayer/config
, когда ваш жёсткий диск останавливается при просмотре HD видео.
Избежание разрывов изображения (тьюринга) в KDE (KWin)
/etc/profile.d/kwin.sh
export __GL_YIELD="USLEEP"
Если вышеуказанная строка не поможет, попробуйте заменить на это:
/etc/profile.d/kwin.sh
export KWIN_TRIPLE_BUFFER=1
Не включайте обе вышеуказанные опции одновременно.
Также, если вы включили тройную буферизацию, убедитесь что включена опция TripleBuffering в самом драйвере.
Источник: https://bugs.kde.org/show_bug.cgi?id=322060
Аппартное ускорение декодирования видео с помощью XvMC
Ускорение декодирования видео MPEG-1 и MPEG-2 через XvMC поддерживается на сериях видеокарт GeForce4, GeForce 5 FX, GeForce 6 и GeForce 7. Чтобы использовать его, создайте новый файл /etc/X11/XvMCConfig
с следующим содержимым:
libXvMCNVIDIA_dynamic.so.1
Смотрите примеры конфигураций поддерживаемого програмного обеспечения.
Использование ТВ-выхода
Хорошая статья об этом есть тут.
X на ТВ (DFP) как основной экран
Сервер X откатывается к CRT-0, если нет автоматически определённого монитора. Это может стать проблемой при использовании подключения ТВ через DVI как основной монитор, и сервер X был запущен при выключенном ТВ или он был не подключен.
Для принудительного использования DFP драйвером NVIDIA, сохраните копию EDID в файловой системе там, где его сможет прочитать сервер X, вместо чтения EDID с ТВ/DFP.
Для получения EDID запустите nvidia-settings. Появится различная информация в древовидном формате, игнорируя все настройки выберите графический процессор (соответствующее поле должно называться "GPU-0" или быть похожим на него), щелкните по DFP
секции (также возможно DFP-0
или что-то похожее), нажмите на кнопку Acquire Edid
и сохраните куда-нибудь, например в /etc/X11/dfp0.edid
.
Если у вас не подключена мышь и клавиатура, EDID может быть получен из командной строки. Запустите сервер X с нужным логированием для вывода блока EDID:
$ startx -- -logverbose 6
После окончания иницализации сервера X закройте его, ваш лог файл сохранится в /var/log/Xorg.0.log
. Извлеките блок EDID используя nvidia-xconfig:
$ nvidia-xconfig --extract-edids-from-file=/var/log/Xorg.0.log --extract-edids-output-file=/etc/X11/dfp0.bin
Отредактируйте xorg.conf
добавив в секцию Device
строки:
Option "ConnectedMonitor" "DFP" Option "CustomEDID" "DFP-0:/etc/X11/dfp0.edid"
Опция ConnectedMonitor
принуждает драйвер распознавать DFP так, как буд-то он подключен. CustomEDID
предоставляет данные EDID для устройства и говорит, что при загрузке ТВ/DFP как бы был подключен во время процесса запуска X.
Таким образом, можно автоматически запускать менеджер экрана при загрузке, иметь рабочий и настроенный экран для X до включения питания ТВ.
Если вышеуказанные изменения не работают, в xorg.conf
в секции Device
вы можете попробовать удалить строку Option "ConnectedMonitor" "DFP"
и добавить следующие строки:
Option "ModeValidation" "NoDFPNativeResolutionCheck" Option "ConnectedMonitor" "DFP-0"
Опция драйвера NVIDIA NoDFPNativeResolutionCheck
предотвращает отключение всех режимов, которые не подходят к основному разрешению.
Проверка источника питания
Драйвер NVIDIA может также использовать графический процессор для определения источника питания. Чтобы увидеть текущий источник питания, проверьте параметр 'GPUPowerSource' (0 - сеть, 1 - батарея):
$ nvidia-settings -q GPUPowerSource -t
1
Если вы видите сообщение об ошибке похожее на то что указано ниже, тогда вам необходимо или установить acpid или запустить systemd сервис systemctl start acpid.service
если он уже установлен
ACPI: failed to connect to the ACPI event daemon; the daemon may not be running or the "AcpidSocketPath" X configuration option may not be set correctly. When the ACPI event daemon is available, the NVIDIA X driver will try to use it to receive ACPI event notifications. For details, please see the "ConnectToAcpid" and "AcpidSocketPath" X configuration options in Appendix B: X Config Options in the README.
(Если вы не видите этой ошибки, вам нет необходимости ставить/запускать acpid. Источник питания должен определяться даже если не установлен acpid.)
Отображение температуры графического процессора в оболочке
Метод 1 - nvidia-settings
Для отображения температуры графического ядра в оболочке используйте nvidia-settings
как указано ниже:
$ nvidia-settings -q gpucoretemp
Вывод должен быть примерно такой:
Attribute 'GPUCoreTemp' (hostname:0.0): 41. 'GPUCoreTemp' is an integer attribute. 'GPUCoreTemp' is a read-only attribute. 'GPUCoreTemp' can use the following target types: X Screen, GPU.
Температура графического процессора этой платы 41 °C.
Пример того, как получить значение температуры для использования в утилитах rrdtool
или conky
и др.:
$ nvidia-settings -q gpucoretemp -t
41
Метод 2 - nvidia-smi
nvidia-smi
может читать температуру прямо с графического процессора без использования сервера X. Это важно для небольшой группы пользователей, которые не имеют запущенного сервера X, те, кто используют ОС для серверных приложений.
Отображение температуры графического процессора с использованием nvidia-smi:
$ nvidia-smi
Пример вывода результата работы программы:
$ nvidia-smi
Fri Jan 6 18:53:54 2012 +------------------------------------------------------+ | NVIDIA-SMI 2.290.10 Driver Version: 290.10 | |-------------------------------+----------------------+----------------------+ | Nb. Name | Bus Id Disp. | Volatile ECC SB / DB | | Fan Temp Power Usage /Cap | Memory Usage | GPU Util. Compute M. | |===============================+======================+======================| | 0. GeForce 8500 GT | 0000:01:00.0 N/A | N/A N/A | | 30% 62 C N/A N/A / N/A | 17% 42MB / 255MB | N/A Default | |-------------------------------+----------------------+----------------------| | Compute processes: GPU Memory | | GPU PID Process name Usage | |=============================================================================| | 0. ERROR: Not Supported | +-----------------------------------------------------------------------------+
Только температура:
$ nvidia-smi -q -d TEMPERATURE
==============NVSMI LOG============== Timestamp : Sun Apr 12 08:49:10 2015 Driver Version : 346.59 Attached GPUs : 1 GPU 0000:01:00.0 Temperature GPU Current Temp : 52 C GPU Shutdown Temp : N/A GPU Slowdown Temp : N/A
Пример того, как получить значение температуры для использования в утилитах rrdtool
или conky
и др.:
$ nvidia-smi -q -d TEMPERATURE | awk '/GPU Current Temp/ {print $5}'
52
Ссылка на руководство: http://www.question-defense.com/2010/03/22/gpu-linux-shell-temp-get-nvidia-gpu-temperatures-via-linux-cli.
Метод 3 - nvclock
Используйте nvclockAUR, который доступен в AUR.
Могут быть расхождения значений температуры между nvclock и nvidia-settings/nv-control. В соответствии с этим сообщением от автора (thunderbird) nvclock, значения выдаваемые nvclock более точные.
Утсановка скорости вентилятора при входе
Вы можете выставить скорость вентилятора вашей графической карты с помощью консольного интерфейса nvidia-settings. Сначала убедитесь в том, что в вашем конфигурационом файле Xorg значения опции Coolbits установлены в 4
, 5
или 12
для архитектуры Ферми и выше в секции Device
для включения управления скоростью вентилятора.
Option "Coolbits" "4"
Поместите следующую строку в ваш файл xinitrc для управления вентилятором при запуске Xorg. Замените n
на значение скорости вентилятора нужное вам в процентах.
nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=n"
Также вы можете указать и второй графический процессор, путем увеличения счетчика графического процесора и вентилятора.
nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=n" \ -a "[gpu:1]/GPUFanControlState=1" -a [fan:1]/GPUCurrentFanSpeed=n" &
Если вы ипользуете менеджер входа такой как GDM или KDM, вы можете создать файл настроек. Создайте ~/.config/autostart/nvidia-fan-speed.desktop
и вставьте следующий текст.Снова измените n
на значение скорости вентилятора нужное вам в процентах.
[Desktop Entry] Type=Application Exec=nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=n" X-GNOME-Autostart-enabled=true Name=nvidia-fan-speed
Порядок установки/удаления при смене драйвера
Здесь указаны старый драйвер как nvidiaO и новый драйвер как nvidiaN.
- удаляем nvidiaO
- устанавливаем nvidia-libglN
- устанавливаем nvidiaN
- устанавливаем lib32-nvidia-libgl-N (если требуется)
Переключение между драйверами NVIDIA и nouveau
Если вам необходимо переключение между драйверами, вы можете использовать следующий скрипт, запуская его от root (для всех подтверждений, отвечайте да):
#!/bin/bash BRANCH= # Enter a branch if needed, i.e. -340xx or -304xx NVIDIA=nvidia${BRANCH} # If no branch entered above this would be "nvidia" NOUVEAU=xf86-video-nouveau # Replace -R with -Rs to if you want to remove the unneeded dependencies if [ $(pacman -Qqs ^mesa-libgl$) ]; then pacman -S $NVIDIA ${NVIDIA}-libgl # Add lib32-${NVIDIA}-libgl and ${NVIDIA}-lts if needed # pacman -R $NOUVEAU elif [ $(pacman -Qqs ^${NVIDIA}$) ]; then pacman -S --needed $NOUVEAU mesa-libgl # Add lib32-mesa-libgl if needed pacman -R $NVIDIA # Add ${NVIDIA}-lts if needed fi
Как избежать разрывов/тьюринга на картах GeForce 500/600/700/900 series
Разрывов можно избежать принудительным включением цепочки полного композитинга, независимо от используего вами композитора. Для проверки работоспособности опции, выполните
nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
Вам будет сообщено, что производительность некоторых приложений OpenGL может быть снижена.
Для постоянного использования сделанных изменений, вам необходимо добавить следующую строку в секцию "Screen"
вашего конфигурационного файла Xorg, например /etc/X11/xorg.conf.d/20-nvidia.conf
:
Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
Если у вас нет конфигурационного файла Xorg, вы можете создать его для текущей видеокарты исполльзуя nvidia-xconfig
(смотрите #Автоматическая настройка) и переместить его из /etc/X11/xorg.conf
в более удобное место /etc/X11/xorg.conf.d/20-nvidia.conf
.
Возможные проблемы
Игры при использовании TwinView
В случае, если вы хотите играть в игры в полноэкранном режиме используя TwinView, вы должны учитывать, что игры распознают два экрана как один большой. С технической точки зрения это утверждение корректно (виртуальный размер экрана X из комбинации ваших экранов), скорее всего вы не захотите играть на двух экранах одновременно.
Для исправления данного поведния для SDL, попробуйте:
export SDL_VIDEO_FULLSCREEN_HEAD=1
Для OpenGL, добавьте подходящие режимы в ваш файл xorg.conf в секцию Device
и перезапустите сервер X:
Option "Metamodes" "1680x1050,1680x1050; 1280x1024,1280x1024; 1680x1050,NULL; 1280x1024,NULL;"
Есть ещё другой способ который, может работать как отдельно, так и в сочетании с вышеупомянутым способом, это запуск игр в разделеных серверах X.
Вертикальная синхронизация при использовании TwinView
Если вы используете TwinView и вертикальную синхронизацию (опция "Sync to VBlank" в nvidia-settings), вы заметите, что только один экран снихронизируется должным образом, если у вас два одинаковых монитора. Несмотря на то, что nvidia-settings даёт возможность изменять какой экран должен быть синхронизирован (опция "Sync to this display device"), это не всегда работает. Как решение, добавьте следующие переменные окружения при загрузке, на пример в файл /etc/profile
:
export __GL_SYNC_TO_VBLANK=1 export __GL_SYNC_DISPLAY_DEVICE=DFP-0 export __VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE=DFP-0
Вы можете изменить DFP-0
на нужный вам тип экрана (DFP-0
это DVI порт и CRT-0
это VGA порт).Вы можете найти идентификатор вашего монитора в nvidia-settings, секция "X Server XVideoSettings".
Wayland (gdm) рушится после установки nvidia-libgl
В некоторых процессорах Intel устаревший микрокод может привести к нестабильности работы с Wayland когда установлен драйвер nvidia, вызывая крах gdm.
Обновление микрокода должно решить проблему.
Старые настройки Xorg
При обновлении с предыдущей установки, пожалуйста удалите старые пути /usr/X11R6/
, т.к. это может привести к проблемам при установки.
Поврежденный экран: проблема "Шести экранов"
Некоторые пользователи, использующие GeForce GT 100M, могут столкнуться с повреждением экрана при запуске X, разделенным на 6 секций с ограниченным разрешением в 640x480. Похожая проблема недавно была замечена с Quadro 2000 и мониторами высокого разрешения.
Для решения проблемы, укажите значение NoTotalSizeCheck
режима проверки в разделе Device
:
Section "Device" ... Option "ModeValidation" "NoTotalSizeCheck" ... EndSection
'/dev/nvidia0' input/output error
This error can occur for several different reasons, and the most common solution given for this error is to check for group/file permissions, which in almost every case is not the problem. The NVIDIA documentation does not talk in detail on what you should do to correct this problem but there are a few things that have worked for some people. The problem can be a IRQ conflict with another device or bad routing by either the kernel or your BIOS.
First thing to try is to remove other video devices such as video capture cards and see if the problem goes away. If there are too many video processors on the same system it can lead into the kernel being unable to start them because of memory allocation problems with the video controller. In particular on systems with low video memory this can occur even if there is only one video processor. In such case you should find out the amount of your system's video memory (e.g. with lspci -v
) and pass allocation parameters to the kernel, e.g. for a 32-bit kernel:
vmalloc=384M
If running a 64bit kernel, a driver defect can cause the NVIDIA module to fail initializing when IOMMU is on. Turning it off in the BIOS has been confirmed to work for some users. [4]User:Clickthem#nvidia module
Another thing to try is to change your BIOS IRQ routing from Operating system controlled
to BIOS controlled
or the other way around. The first one can be passed as a kernel parameter:
PCI=biosirq
The noacpi
kernel parameter has also been suggested as a solution but since it disables ACPI completely it should be used with caution. Some hardware are easily damaged by overheating.
Ошибки '/dev/nvidiactl'
При запуске OpenGL приложений может возникнуть ошибка:
Error: Could not open /dev/nvidiactl because the permissions are too restrictive. Please see theFREQUENTLY ASKED QUESTIONS
section of/usr/share/doc/NVIDIA_GLX-1.0/README
for steps to correct.
Решением, будет добавление нужного пользователя в группу video
, после этот нужно перезайти:
# gpasswd -a username video
Не запускаются 32-битные приложения
В 64-битных системах, установка пакета lib32-nvidia-libgl
, который имеет ту же версию, что и установленный 64-битный драйвер решит проблему.
Ошибки после обновления ядра
Если вы используете самосборный модуль NVIDIA вместо пакета из репозитория extra, то требуется пересборка пакета каждый раз после обновления ядра. Рекомендуется перезагрузка после обновления ядра и графических драйверов.
Crashing in general
- Try disabling
RenderAccel
in xorg.conf. - If Xorg outputs an error about "conflicting memory type" or "failed to allocate primary buffer: out of memory", add
nopat
at the end of thekernel
line in/boot/grub/menu.lst
. - If the NVIDIA compiler complains about different versions of GCC between the current one and the one used for compiling the kernel, add in
/etc/profile
:
export IGNORE_CC_MISMATCH=1
- If Xorg is crashing with a "Signal 11" while using nvidia-96xx drivers, try disabling PAT. Pass the argument
nopat
to kernel parameters.
More information about troubleshooting the driver can be found in the NVIDIA forums.
Bad performance after installing a new driver version
If FPS have dropped in comparison with older drivers, first check if direct rendering is turned on (glxinfo is included in mesa-demos):
$ glxinfo | grep direct
If the command prints:
direct rendering: No
then that could be an indication for the sudden FPS drop.
A possible solution could be to regress to the previously installed driver version and rebooting afterwards.
CPU spikes with 400 series cards
If you are experiencing intermittent CPU spikes with a 400 series card, it may be caused by PowerMizer constantly changing the GPU's clock frequency. Switching PowerMizer's setting from Adaptive to Performance, add the following to the Device
section of your Xorg configuration:
Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x3322; PowerMizerDefaultAC=0x1"
Laptops: X hangs on login/out, worked around with Ctrl+Alt+Backspace
If, while using the legacy NVIDIA drivers, Xorg hangs on login and logout (particularly with an odd screen split into two black and white/gray pieces), but logging in is still possible via Ctrl+Alt+Backspace
(or whatever the new "kill X" key binding is), try adding this in /etc/modprobe.d/modprobe.conf
:
options nvidia NVreg_Mobile=1
One user had luck with this instead, but it makes performance drop significantly for others:
options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=33 NVreg_DeviceFileMode=0660 NVreg_SoftEDIDs=0 NVreg_Mobile=1
Note that NVreg_Mobile
needs to be changed according to the laptop:
- 1 for Dell laptops.
- 2 for non-Compal Toshiba laptops.
- 3 for other laptops.
- 4 for Compal Toshiba laptops.
- 5 for Gateway laptops.
See NVIDIA Driver's README: Appendix K for more information.
No screens found on a laptop/NVIDIA Optimus
On a laptop, if the NVIDIA driver cannot find any screens, you may have an NVIDIA Optimus setup : an Intel chipset connected to the screen and the video outputs, and a NVIDIA card that does all the hard work and writes to the chipset's video memory.
Check if $ lspci | grep VGA
outputs something similar to:
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02) 01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)
NVIDIA drivers now offer Optimus support since 319.12 Beta [5] with kernels above and including 3.9.
Another solution is to install the Intel driver to handle the screens, then if you want 3D software you should run them through Bumblebee to tell them to use the NVIDIA card.
Possible Workaround
Enter the BIOS and changed the default graphics setting from 'Optimus' to 'Discrete' and the install NVIDIA drivers (295.20-1 at time of writing) recognized the screens.
Steps:
- Enter BIOS.
- Find Graphics Settings (should be in tab Config > Display).
- Change 'Graphics Device' to 'Discrete Graphics' (Disables Intel integrated graphics).
- Change OS Detection for Nvidia Optimus to "Disabled".
- Save and exit.
Tested on a Lenovo W520 with a Quadro 1000M and Nvidia Optimus
Screen(s) found, but none have a usable configuration
Sometimes NVIDIA and X have trouble finding the active screen. If your graphics card has multiple outputs try plugging your monitor into the other ones. On a laptop it may be because your graphics card has vga/tv outs. Xorg.0.log will provide more info.
Another thing to try is adding invalid "ConnectedMonitor" Option
to Section "Device"
to force Xorg throws error and shows you how correct it.
Here
more about ConnectedMonitor setting.
After re-run X see Xorg.0.log to get valid CRT-x,DFP-x,TV-x values.
nvidia-xconfig --query-gpu-info
could be helpful.
Blackscreen at X startup with new driver
If you have installed an update of Nvidia and you screen stay black after launching Xorg. You have to use the rcutree.rcu_idle_gp_delay=1
kernel parameter.
You can also try to add the nvidia
module directly to your mkinitcpio config file.
If the screen still stays black with both the rcutree.rcu_idle_gp_delay=1
kernel parameter and the nvidia
module directly in the mkinitcpio config file, try re-installing nvidia and nvidia-libgl in that order, and finally reload the driver:
# modprobe nvidia
Backlight is not turning off in some occasions
By default, DPMS should turn off backlight with the timeouts set or by running xset. However, probably due to a bug in the proprietary Nvidia drivers the result is a blank screen with no powersaving whatsoever. To workaround it, until the bug has been fixed you can use the vbetool
as root.
Install the vbetool package.
Turn off your screen on demand and then by pressing a random key backlight turns on again:
vbetool dpms off && read -n1; vbetool dpms on
Alternatively, xrandr is able to disable and re-enable monitor outputs without requiring root.
xrandr --output DP-1 --off; read -n1; xrandr --output DP-1 --auto
Blue tint on videos with Flash
A problem with flashplugin versions 11.2.202.228-1 and 11.2.202.233-1 causes it to send the U/V panes in the incorrect order resulting in a blue tint on certain videos. There are a few potential fixes for this bug:
- Install the latest libvdpau.
- Patch
vdpau_trace.so
with this makepkg. - Right click on a video, select "Settings..." and uncheck "Enable hardware acceleration". Reload the page for it to take affect. Note that this disables GPU acceleration.
- Downgrade the flashplugin package to version 11.1.102.63-1 at most.
- Use google-chromeAUR with the new Pepper API chromium-pepper-flashAUR.
- Try one of the few Flash alternatives.
The merits of each are discussed in this thread.
Bleeding overlay with Flash
This bug is due to the incorrect colour key being used by the flashplugin version 11.2.202.228-1 and causes the flash content to "leak" into other pages or solid black backgrounds. To avoid this problem simply install the latest libvdpau or export VDPAU_NVIDIA_NO_OVERLAY=1
within either your shell profile (E.g. ~/.bash_profile
or ~/.zprofile
) or ~/.xinitrc
Full system freeze using Flash
If you experience occasional full system freezes (only the mouse is moving) using flashplugin and get:
/var/log/errors.log
NVRM: Xid (0000:01:00): 31, Ch 00000007, engmask 00000120, intr 10000000
A possible workaround is to switch off Hardware Acceleration in Flash, setting
/etc/adobe/mms.cfg
EnableLinuxHWVideoDecode=0
Or, if you want to keep Hardware acceleration enabled, you may try to::
export VDPAU_NVIDIA_NO_OVERLAY=1
...before starting the browser. Note that this may introduce tearing.
Xorg fails to load or Red Screen of Death
If you get a red screen and use GRUB disable the GRUB framebuffer by editing /etc/default/grub
and uncomment GRUB_TERMINAL_OUTPUT. For more information see GRUB.
Black screen on systems with Intel integrated GPU
If you have an Intel CPU with an integrated GPU (e.g. Intel HD 4000) and have installed the nvidia package, you may experience a black screen on boot, when changing virtual terminal, or when exiting an X session. This may be caused by a conflict between the graphics modules. This is solved by blacklisting the Intel GPU modules. Create the file /etc/modprobe.d/blacklist.conf
and prevent the i915 and intel_agp modules from loading on boot:
/etc/modprobe.d/blacklist.conf
install i915 /usr/bin/false install intel_agp /usr/bin/false
Black screen on systems with VIA integrated GPU
As above, blacklisting the viafb module may resolve conflicts with NVIDIA drivers:
/etc/modprobe.d/blacklist.conf
install viafb /usr/bin/false
X fails with "no screens found" with Intel iGPU
Like above, if you have an Intel CPU with an integrated GPU and X fails to start with
[ 76.633] (EE) No devices detected. [ 76.633] Fatal server error: [ 76.633] no screens found
then you need to add your discrete card's BusID to your X configuration. Find it:
# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09) 01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
then you fix it by adding it to the card's Device section in your X configuration. In my case:
/etc/X11/xorg.conf.d/10-nvidia.conf
Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BusID "PCI:1:0:0" EndSection
Note how 01:00.0
is written as 1:0:0
.
Xorg fails during boot, but otherwise starts fine
On very fast booting systems, systemd may attempt to start the display manager before the NVIDIA driver has fully initialized. You will see a message like the following in your logs only when Xorg runs during boot.
/var/log/Xorg.0.log
[ 1.807] (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module. Please see the [ 1.807] (EE) NVIDIA(0): system's kernel log for additional error messages and [ 1.808] (EE) NVIDIA(0): consult the NVIDIA README for details. [ 1.808] (EE) NVIDIA(0): *** Aborting ***
In this case you will need to establish an ordering dependency from the display manager to the DRI device. First create device units for DRI devices by creating a new udev rules file.
/etc/udev/rules.d/99-systemd-dri-devices.rules
ACTION=="add", KERNEL=="card*", SUBSYSTEM=="drm", TAG+="systemd"
Then create dependencies from the display manager to the device(s).
/etc/systemd/system/display-manager.service.d/10-wait-for-dri-devices.conf
[Unit] Wants=dev-dri-card0.device After=dev-dri-card0.device
If you have additional cards needed for the desktop then list them in Wants and After seperated by spaces.
Flash video players crashes
If you are getting frequent crashes of Flash video players, try to switch off Hardware Acceleration:
/etc/adobe/mms.cfg
EnableLinuxHWVideoDecode=0
(This problem appeared after installing the proprietary nvidia driver, and was fixed by changing this setting.)
Override EDID
If your monitor is providing wrong EDID information, the nvidia-driver will pick a very small solution. Nvidia's driver options change, this guide refers to nvidia 346.47-11.
Aside from manually setting modelines in the xorg config, you have to allow non-edid modes and disable edid in the device section:
/etc/X11/xorg.conf.d/10-monitor.conf
Section "Monitor" Identifier "Monitor0" VendorName "Unknown" ModelName "Unknown" HorizSync 30-94 VertRefresh 56-76 DisplaySize 518.4 324.0 Option "DPMS" # 1920x1200 59.95 Hz (CVT 2.30MA-R) hsync: 74.04 kHz; pclk: 154.00 MHz Modeline "1920x1200R" 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync -vsync EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" Option "UseEdidFreqs" "FALSE" Option "UseEDID" "FALSE" Option "ModeValidation" "AllowNonEdidModes" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1920x1200R" EndSubSection EndSection
Fix rendering lag (firefox, gedit, vim, tmux …)
nvidia-settings -a InitialPixmapPlacement=0
https://bugzilla.gnome.org/show_bug.cgi?id=728464
Screen Tearing with Multiple Monitor Orientations
When running multiple monitors in different orientations (through Xrandr settings) such as portrait and landscape simultaneously, you may notice screen tearing in one of the orientations/monitors. Unfortunately, this issue is fixed by setting all monitors to the same orientation via Xrandr settings