Меню

Настройка nvidia в archlinux



Настройка гибридной графики nVidia+intel на ArchLinux

Данная статья описывает процесс установки драйверов nVidia и intel. А так же настройка NVIDIA Optimus используя PRIME Render Offload.

Все используемые пакеты присудствуют в официальном репозитории Arch Linux.

Для того чтобы узнать модель установленного оборудование воспользуйтсь следующей командой:

Результат исполнения команды на ноутбуке Acer E5 576G

Установка intel

Установка драйвера intel и VA-API и vulkan.

Настройка Kernel Mode Setting

Во первых необхадимо установить linux-headers , для установленного ядра linux .

Еще добавьте модуль i915 в строку MODULES в файле /etc/mkinitcpio.conf :

Также необходимо установить параметры ядра.

В GRUB Отредактируйте /etc/default/grub и добавьте параметры ядра i915.modeset=1 между кавычками в строке GRUB_CMDLINE_LINUX_DEFAULT :

А затем автоматически заново сгенерируйте файл grub.cfg с помощью команды:

Если используете UEFI без GRUB то добавьте параметры ядра в строку options , в /boot/loader/entries/arch.conf

И собрать RAM linux

Настройка xorg intel

Остается только настроить xorg , создаем файл:

P.S. Настраивать xorg для intel только в случае если nvidia настраиваться не будет.

Установка nVidia

Для видеокарт серии GeForce 400/500 [NVCx и NVDx] до GeForce 620 примерно из 2010-2011, yстановите пакет nvidia-390xx , или nvidia-390xx-lts для ядра linux-lts , или nvidia-390xx-dkms для другого ядра.

Для карт GeForce 620-900 и Quadro/Tesla/Tegra серии K и новее [семейства NVE0, NV110 и NV130 примерно из 2010-2019], установите пакет nvidia , nvidia-lts или nvidia-dkms .

Настройка Kernel Mode Setting

Необходимо установить linux-headers для ядра linux .

Для активации добавьте nvidia-drm.modeset=1 в параметры ядра, а также добавьте nvidia , nvidia_modeset , nvidia_uvm и nvidia_drm в initramfs в соответствии с mkinitcpio.conf.

/etc/default/grub для GRUB

/boot/loader/entries/arch.conf для UEFI без GRUB

И собрать RAM linux

Отключение intel использование только видеокарты nVidia

При использовании менеджеров входа, создайте или отредактируйте скрипт настройки. Так же для работы требуется установить xorg-xrandr

Сделайте этот скрипт выполняемым:

Теперь настройте LightDM для запуска скрипта, отредактировав раздел [Seat:*] в /etc/lightdm/lightdm.conf:

Теперь перезагрузитесь и DM запуститься.

Для GDM создайте новый файл .desktop:

Удостоверьтесь, что GDM использует X как стандартный бэкенд.

Для KDM, добавьте строки xrandr в файл /usr/share/config/kdm/Xsetup .

Настройка xorg

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

Проверка 3D

Для проверки работает ли чип Nvidia установите mesa-demos и запустите:

Настройка nVidia используя PRIME Render Offload

ВНИМАНИЕ! PRIME Render Offload на драйверах nvidia-390xx не работает.

ВНИМАНИЕ! KMS настраиваем и для intel и для nVidia

/etc/default/grub для GRUB

/boot/loader/entries/arch.conf для UEFI без GRUB

ВНИМАНИЕ! Не забываем заново сгенерировать файл grub.cfg и собирать RAM диск с помощью команды:

Настройка менеджера входа выполняется аналогичо как при отключении intel, но оставить только:

Далее создать и отредактировать файл

Проверьте BusID , получить информацию об оборудовании можно командой lspci -k | grep -A 2 -E «(VGA|3D)»

Перезагрузите компьютер и проверьте, что загрузились оба модуля видеокарт:

К примеру, запуск vkcube :

Чтобы облегчить использование длинной команды, доступен пакет nvidia-prime . Пример использования:

Источник

NVIDIA Optimus (Русский)

NVIDIA Optimus — технология, которая дает интегрированной графике Intel и дискретной Nvidia работать сообща в лаптопах. Чтобы заставить Optimus работать в Arch Linux потребуется сделать несколько непростых шагов, описанных ниже. Вот доступные решения:

  • отключить один из графических адаптеров в BIOS, что увеличит продолжительность работы батареи, если отключить чип Nvidia. Но это невозможно сделать в некоторых BIOS.
  • использование официальной поддержки Optimus включенной в проприетарный драйвер Nvidia, который предоставит хороший опыт работы, в сравнении с nouveau, с картами Nvidia, но не поддерживает переключения GPU и содержит больше ошибок.
  • использование функционала PRIME, входящего в свободные драйвера nouveau.Эти драйвера поддерживают переключение GPU, но предоставляют более низкую производительность, чем проприетарный драйвер Nvidia, также, до сих пор, не реализовано никакого энергосбережения.
  • использование Bumblebee, решения сторонних разработчиков для реализации функционала подобного Optimus, поддерживающего переключение GPU и энергосбережение, но требующего более тонкой настройки.

Contents

Отключение одного из GPU

Если требуется использовать только один из видеоадаптеров, проверьте опции BIOS. Найдите опцию, отключающую один из них. Некоторые лаптопы поддерживают отключение только одного из чипов. Если необходимо использовать обе видеокарты или невозможно отключить ту, что не нужна ищите решение ниже.

Используя драйвера Nvidia

Проприетарный драйвер Nvidia не поддерживает динамического переключения в отличие от nouveau. В наличии проблемы с тирингом, о которых Nvidia знает, но не спешит исправлять. Однако, эти драйвера предоставляют более высокую производительность в сравнении с драйверами nouveau.

Читайте также:  Настройка человека на лучшее

Первым делом, установите пакеты nvidia, nvidia-libgl и xorg-xrandr из официальных репозиториев. После настройте xorg.conf. Узнайте PCI адрес карты Nvidia, для этого введите:

PCI адрес выглядит примерно так 01:00.0. В xorg.conf, отредактируйте 01:00.0 на 1:0:0.

Если X.ORG X сервер версии 1.17.2 и выше:

Для более старых версий X сервера:

Далее добавьте в начало

/.xinitrc две строки:

Теперь перезагрузитесь для запуска драйверов и X. Если dpi дисплея не верный добавьте строку:

Если при загрузке X появился черный экран, удостоверьтесь, что в файле

/.xinitrc нет & перед xrandr. Если & есть, то видимо оконный менеджер запускается раньше, чем команда xrandr завершает выполнение, что и приводит к черному экрану.

Если черный экран еще есть, смотрите #Альтернативная конфигурация ниже.

Альтернативная конфигурация

Если возникли сбои в работе Xorg-server 1.17.1 и выше с описанной выше конфигурацией, измените раздел для Intel в /etc/X11/xorg.conf как показано ниже:

Как указано выше BusID должен совпадать с выводом lspci. Найдите строку с «VGA compatible controller», которая содержит «Intel». Например: $ lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)

Если X запустился, но на экране ничего не происходит, проверьте содержит ли /var/log/xorg.conf подобную строку:

Если да, проблема может исчезнуть при добавлении раздела ServeLayout в /etc/X11/xorg.conf

Экранные менеджеры

При использовании менеджеров входа, создайте или отредактируйте скрипт настройки вместо использования

LightDM

Сделайте этот скрипт выполняемым:

Теперь настройте LightDM для запуска скрипта, отредактировав раздел [Seat:*] в /etc/lightdm/lightdm.conf:

Теперь перезагрузитесь и DM запуститься.

Для GDM создайте новый файл .desktop:

Удостоверьтесь, что GDM использует X как стандартный бэкенд.

Проверка 3D

Для проверки работает ли чип Nvidia установите mesa-demos и запустите:

$ glxinfo |grep NVIDIA

Проблемы

Тиринг и неработающий VSync

Для решения проблемы необходим xorg-server 1.19 или выше, ядро linux 4.5 или выше и nvidia 370.23 или выше. Затем включите «DRM kernel mode setting», что, в свою очередь, включит синхронизацию PRIME и исправит разрывы изображения.

См. также подробности в обсуждении на официальном форуме.

Также есть отчёт, что ядро linux 5.4 нарушает синхронизацию PRIME.

EDID errors in Xorg.log

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

Для предоставления пути к файлу EDID отредактируйте раздел «Device» для NVIDIA в Xorg.conf, добавив эти строки. Не забудьте изменить поля в соответствии с вашей системой:

Если Xorg не запускается попробуйте поменять ссылки CRT на DFB. card0 это идентификатор чипа Intel, который подключен к дисплею с помощью LVDS. Если расположение аппаратных средств отличается, значение пользовательского EDID может быть другим. Путь же будет начинаться с /sys/class/drm.

Используя nouveau

Свободные драйвера nouveau (xf86-video-nouveau)могут динамически переключаться с драйвером Intel (xf86-video-intel) используя технологию PRIME. Для более подробной информации смотрите PRIME.

Используя Bumblebee

Если хотите использовать Bumblebee, который поддерживает энергосбережение и другие полезные функции, смотрите Bumblebee.

Используя PRIME Render Offload

С выходом драйвера 435.21 появилась возможность использовать PRIME Render Offload.

Настройка

Проверьте, что загрузились оба модуля видеокарт:

См. официальную инструкцию по настройке для получения более подробной информации.

Использование

К примеру, запуск Firefox:

Чтобы облегчить использование длинной команды, доступен пакет nvidia-prime . Пример использования:

Также доступен пакет prime AUR , который содержит в себе уже настроенный файл xorg.conf (Русский). Пример использования:

Решение проблем

Не запускается модуль Nvidia

Это можно решить, добавив в xorg.conf следующие строки:

Некорректная работа графического окружения

Иногда возникают различные ошибки связанные с использованием драйвера modesetting. Для решения таких проблем можно использовать драйвер intel или другие.

Основное требование к драйверу — использование и поддержка модуля Glamor.

Тогда блок конфигурации видеокарты Intel c драйвером intel будет выглядеть следующим образом.

Проверьте, что загрузились оба модуля видеокарт:

Источник

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 ) и может быть запущен путем выполнения:

Читайте также:  Chrome черный экран в настройках

Данная команда автоматически обнаруживает и создает (или изменяет, если было уже создано) конфигурацию /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, для получения детальной информации.

Источник

Adblock
detector