Nvidia prime | Русскоязычная документация по Ubuntu
Nvidia Prime — набор патчей c поддержкой технологии Prime, позволяющей организовать совместное обращение разных драйверов к общему буферу, что необходимо для реализации возможности горячего переключения вывода между разными видеокартами. В данном случае это Nvidia и Intel, технология NVIDIA Optimus.
Установка
Проекты Bumblebee и Nvidia Prime не совместимы между собой. Поэтому, если у вас установлен Bumblebee, то его надо удалить перед установкой Nvidia Prime!
Nvidia Prime в основном расчитан на работу с менеджером входа в систему LightDM, который используется в Ubuntu по умолчанию. С другими менеджерами входа в систему возможны проблемы.
Чтобы установить Nvidia Prime и проприетарный драйвер nVidia вам нужно открыть терминал Ctrl+Alt+T и выполнить команды соответсвующие вашей версии Ubuntu:
Ubuntu 12.04
~ Установить новые версии ядра и графического стека, выполнив команду:<code>sudo apt-get install linux-generic-lts-saucy xserver-xorg-lts-saucy linux-headers-generic-lts-saucy</code> ~ Установить проприетарный драйвер nVidia версии 331 и Nvidia Prime:<code>sudo apt-get install nvidia-331 nvidia-settings nvidia-prime</code>
Ubuntu 14.04 и 14.10
~ Установить Nvidia Prime и проприетарный драйвер nVidia:<code>sudo apt-get install nvidia-352 nvidia-settings nvidia-prime</code>
Ubuntu 15.04
~ Установить Nvidia Prime и проприетарный драйвер nVidia:<code>sudo apt-get install nvidia-352 nvidia-settings nvidia-prime</code>
Ubuntu 15.10
~ Установить Nvidia Prime и проприетарный драйвер nVidia:<code>sudo apt-get install nvidia-352 nvidia-settings nvidia-prime</code>
Ubuntu 16.04
~ Установить Nvidia Prime и проприетарный драйвер nVidia:<code>sudo apt-get install nvidia-361 nvidia-settings nvidia-prime</code>
Для завершения установки незабываем перезагрузить ноутбук.
Переключение видеокарт
С помощью NVIDIA X server Settings
- Войдите в менеджер настроек «NVIDIA X server Settings», запустив nvidia-settings через Unity Dash или через терминал.
Далее перейдите в раздел PRIME Profiles и выберите какую видеокарту хотите использовать и нажмите на кнопку «Выход». При смене видеокарты вас попросят ввести пароль администратора.
Для вступления в силу настроек необходимо перезапустить сеанс. Для этого выполните «Завершение сеанса…» и затем заново войдите в систему.
В терминале
- С помощью консольной программы prime-select можно управлять nvidia-prime в терминале.
Чтобы узнать какая видеокарта задействована в качестве основной, введитеprime-select query
Для выбора видеокарты Nvidia используется команда
sudo prime-select nvidia
А для переключения обратно на Intel
sudo prime-select intel
Не забываем после смены активной видеокарты перезагрузить текущий сеанс.
Проблемы
~ **Зависает система при использовании тачпада!** Для возобновления работы можно перейти в другой терминал, нажатием комбинации клавиш <key>Ctrl-Alt-F1</key>, и затем перейти обратно нажав <key>Ctrl-Alt-F7</key>. У кого наблюдается данный баг - просьба подтвердить: [[lpbug>1220426|nvidia-prime - Freeze while using touchpad]] \\ На launchpad пишут, что баг исправлен в Ubuntu 15.04 ~ На последних версиях пакетов ubuntu-drivers-common и nvidia-common, при выборе видеокарты nvidia, система загружается с **черным экраном**.\\ [[lpbug>1365695|No longer able to use GUI after update]]\\ Для решения перейдите в терминал, нажатием комбинации клавиш <key>Ctrl-Alt-F1</key>. И верните старые версии пакетов ubuntu-drivers-common и nvidia-common командой <code>sudo apt-get install ubuntu-drivers-common=1:0.2.91.4 nvidia-common=1:0.2.91.4</code>Затем запретите их обновление в системе: <code>sudo apt-mark hold ubuntu-drivers-common nvidia-common</code>Далее перезагрузите компьютер ~ Возможны рывки при просмотре фильмов или перемещении окон. ~ Может не работать автоподключение мониторов (тогда правьте файл xorg.conf). В официальном Wiki сообщается, что данная проблема исправлена в Ubuntu 14.04+ ~ В Ubuntu 12.04 при выходе из **nvidia-settings** система сообщает об ошибке. \\ [[lpbug>1268027|nvidia-settings crashes on exit]] или [[lpbug>1214508|nvidia-settings >=319 segfaults on close]] * Решить проблему можно установкой пакета gtk2-engines-pixbuf <code>sudo apt-get install gtk2-engines-pixbuf
sudo apt-get install gtk2-engines-pixbuf:i386</code>
Ссылки
~ Англоязычная wiki о гибридной графике * Оригинал - https://wiki.ubuntu.com/X/Config/HybridGraphics * Любительский перевод от 2013-11-05 - http://technic.url.ph/?p=188 ~ Гибридная видеосистема в Ubuntu 13.10 - http://vasilisc.com/hybrid-video-system-ubuntu-13-10 ~ Более полная поддержка Nvidia Optimus в Ubuntu 14.04 Trusty Tahr * Оригинал - http://www.webupd8.org/2013/12/more-work-to-support-nvidia-optimus.html * Любительский перевод - http://technic.url.ph/?p=186 ~ Индикатор для prime предоставляющий возможность быстрого переключения между картами Nvidia и Intel * Оригинал: http://www.webupd8.org/2014/01/prime-indicator-lets-you-quickly-switch.html * Любительский перевод: http://technic.url.ph/?p=237 * Еще один вариант новости: http://startubuntu.ru/?p=104314 ~ Новость на форуме: Nvidia prime в ubuntu 12.04 (14.04) - http://forum.ubuntu.ru/index.php?topic=238645.0 ~ Установка Nvidia Prime в Ubuntu - http://www.linuxrussia.com/2015/02/nvidia-prime-ubuntu.html \\ Рассказывается про установку новых версий драйвера nvidia из репозитория ppa:xorg-edgers/ppa и об использовании nvidia prime. Приводится небольшое тестирование производительности разных версий драйвера nvidia
См.также
help.ubuntu.ru
Перевод документации драйвера NVIDIA для Linux, часть 9 — МИР NVIDIA
Глава 26. Настройка Framelock и Genlock
Замечание: Возможности Frame Lock и Genlock поддерживаются только определенным оборудованием, как описано ниже.
Приложения визуальных расчетов, использующие несколько дисплеев, или несколько окон на дисплее, могут потребовать специальной обработки сигналов и органов управления для правильного функционирования. Например, для качественной видеозаписи анимированной графики, дисплей должен быть синхронизирован с видеокамерой. Другой пример: приложениям, выводящим изображение на несколько дисплеев, требуется синхронизация для создание полной иллюзии единого большого виртуального экрана.
Эта синхронизация включается с помощью возможностей framelock и genlock драйвера NVIDIA. В этом разделе описывается установка и использование framelock и genlock.
26А. Используемые термины
GENLOCK: технология синхронизации обновления пикселей на одном или нескольких дисплеях с внешним источником синхросигнала. NVIDIA genlock требует, чтобы внешний сигнал был или TTL, или композитным, какой используется в ТВ-форматах NTSC, PAL, или HDTV. Следует помнить, что реализация NVIDIA genlock гарантирована только для синхронизации на уровне кадров, не обязательно на уровне пикселей.
FRAMELOCK: технология синхронизации вывода кадров на всех дисплеях, подключенных к системе, с использованием возможностей оборудования. Когда графическое и видеоизображение выводятся на нескольких мониторах, система framelock позволяет облегчить поддержание целостности изображения для создания виртуального экрана. Framelock особенно необходим для просмотра стерео, когда поля для правого и левого глаза должны отображаться синхронно на всех дисплеях.
Вкратце, включение genlock означает синхронизацию с внешним сигналом. Включение framelock означает синхронизацию двух или более экранов Х-интерфейса с сигналом, вырабатываемом внутри оборудования; и включение обоих функций означает синхронизацию двух или более экранов Х-интерфейса с внешним сигналом.
SWAP SYNC: Понятие swap sync относится к синхронизации операций смены изображения между буферами нескольких окон приложения. Благодаря swap sync, приложения, запущенные на нескольких компьютерах, могут синхронно менять изображение между буферами приложения на всех компьютерах. Для работы синхронизации замены на нескольких компьютерах требуется, чтобы все они использовали framelock.
Устройство G-SYNC: Понятие G-Sync Device означает устройство, поддерживающее Framelock/Genlock. Обратитесь к секции «Поддерживаемое оборудование» ниже.
26В. Поддерживаемое оборудование
Framelock и genlock поддерживаются следующим оборудованием:
- Quadro G-Sync, используемая совместно с Quadro FX 4400 , Quadro FX 4500 или Quadro FX 5500
- Quadro G-Sync II, используемая совместно с Quadro FX 4600, Quadro FX 5600, Quadro FX 4800, Quadro FX 5800, Quadro 5000 или Quadro 6000
- Quadro Plex 1000 Models I, II и IV, или Quadro Plex 2200 D2
26С. Установка оборудования
Перед тем, как начать, вы должны проверить, что оборудование правильно установлено. Следующие действия должны быть выполнены при выключенном компьютере.
- На плате Quadro G-Sync найдите разъем G-Sync, помеченный как «primary». Если соответствующий шлейф еще не подключен к нему, сделайте это сейчас. Если планируется использовать framelock или genlock совместно с режимом SLI или Multi-GPU (см. Главу 25), или другой многопроцессорной конфигурацией, вы должны присоединить разъем G-Sync, помеченный как «secondary», ко второму GPU. В конце этого приложения описаны ограничения подобной конфигурации.
- Установите плату Quadro G-Sync в любой доступный слот шины. Учтите, что сам слот требуется лишь для закрепления видеокарты в корпусе, так что подходит даже неисправный слот шины. Слот должен быть достаточно близко видеокарте, чтобы мог дотянутся шлейф.
- Подсоедините другой конец шлейфа к разъему G-Sync на видеокарте.
Теперь вы можете включить компьютер и начать установку genlock и/или framelock. Инструкции дальше подразумевают, что драйвер NVIDIA для Linux успешно установлен. Если он еще не установлен, обратитесь к Главе 4.
26D. Настройка с помощью утилиты nvidia-settings
Framelock и genlock настраиваются через утилиту «nvidia-settings». Обратитесь к странице руководства nvidia-settings(1) и встроенной помощи утилиты (нажмите кнопку «Help» в нижнем правом углу для получения помощи по каждой странице).
Из закладки framelock утилиты nvidia-settings, вы можете добавлять экраны Х-интерфейса в синхронизируемую framelock/genlock группу, контролировать состояние группы и включать/выключать framelock и genlock.
После загрузки системы и запуска Х-интерфейса, запустите nvidia-settings как:
% nvidia-settings
Вы можете запустить эту утилиту перед продолжением действий, поскольку она часто упоминается ее в дальнейшем обсуждении.
Настройка genlock и framelock описана раздельно. Далее будет описано их совместное использование.
26E. Настройка GENLOCK
После загрузки системы подсоедините внешний сигнал к разъему (типа BNC) на видеокарте или на плате G-Sync. Имеется светодиодный индикатор рядом с разъемом. Ровный красный огонь показывает, что оборудование не может обнаружить синхросигнал. Зеленый огонь показывает, что оборудование ищет синхросигнал. Кратковременные красные вспышки означают, что все в порядке. Устройство G-Sync (видеокарта или плата G-Sync) должно быть правильно настроено перед продолжением.
На закладке «Framelock» утилиты «nvidia-settings», добавьте сервер Х-интерфейса, содержащий дисплей и устройство G-Sync, которые вы хотите синхронизировать с внешним источником, нажатием кнопки «Add Devices…». Сервер Х-интерфейса обычно задается в формате system:m.n, например:
mycomputer.domain.com:0.0
или
localhost:0.0
После добавления сервера X-интерфейса, в секции «G-Sync Devices» панели «Framelock» появятся строки, отображающие текущую информацию об устройствах G-Sync, графических процессорах, присоединенных к этим устройствам G-Sync, и дисплеях, управляемых данными графическими процессорами. В частности, строки G-Sync показывают имя сервера, номер устройства G-Sync вместе с изображениями индикаторов «Receiving», «Rate», «House», «Port 0»/«Port 1» и информацией о задержках «Delay». Строки GPU показывают название GPU и его идентификатор для сервера. Строки «Display Device» показывают название дисплея и его тип, вместе с переключателями сервер/клиент, информацией о частоте обновления, изображениями индикаторов «Timing» и «Stereo».
После того, как устройства G-Sync и дисплеи были добавлены в группу framelock/genlock, необходимо выбрать устройство-сервер. Это выполняется установкой переключателя «Server» для выбранного дисплея.
Если используется плата G-Sync, необходимо также выбрать переключатель «Use House Sync if Present». Для включения синхронизации этого устройства с внешним источником нажмите кнопку «Enable Frame Lock». Дисплею может потребоваться время для синхронизации. Если изображение не стабилизировалось, вы могли выбрать сигнал синхронизации, неподдерживаемый системой. Необходимо отключить синхронизацию нажатием кнопки «Disable Frame Lock» и проверить внешний синхросигнал.
Изменения настроек genlock (например, «Use House Sync if Present», «Add Devices…») должны производиться при отключенной синхронизации.
26F. Настройка FRAMELOCK
Framelock поддерживается на произвольном количестве компьютеров с видеокартами Quadro G-Sync, хотя смешивание устройств Quadro G-Sync и Quadro G-Sync II в одной группе framelock не поддерживается. Дополнительно, каждая система, включаемая в группу framelock, должна быть настроена на идентичные параметры временной синхронизации видеорежима. Обратитесь к Главе 19 за информацией о параметрах временной синхронизации видеорежима.
Соедините компьютеры через разъемы RJ45, используя стандартные кабели категории 5. Эти порты размещены на самих видеокартах платах Quadro G-Sync).
Не соединяйте порты с сетевой картой Ethernet или хабом. Это может непоправимо повредить оборудование.
Соединения должны выполняться по принципу последовательной цепочки: каждая карта имеет два RJ45 разъема, назовем их 1 и 2. Соедините разъем 1 компьютера A с разъемом 2 компьютера B, разъем 1 компьютера B с разъемом 2 компьютера C, и так далее. В вашей группе framelock в итоге должно всегда остаться два свободных разъема.
Разъемы самонастраиваются как входы и/или выходы после включения framelock. Каждый разъем имеет желтый и зеленый светодиодный индикаторы, отражающие их состояние. Мигающий желтый указывает выход, а мигающий зеленый – вход. Сплошной зеленый показывает, что разъем не используется.
На закладке «Framelock» в утилите «nvidia-settings», добавьте сервер Х-интерфейса, содержащий дисплеи, которые вы хотите синхронизировать, в группу framelock нажатием кнопки «Add Devices» (смотрите описание процесса добавления дисплеев выше в секции о настройке GENLOCK). Так же, как и в случае с genlock, колонки «Port 0» и «Port 1» в таблице на закладке framelock содержат изображения, отображающие состояние индикаторов разъемов RJ45. Так вы можете контролировать состояние сигнала программным путем.
Любой сервер Х-интерфейса может быть добавлен в группу framelock, если соблюдаются следующие условия
- Система, поддерживающая сервер, настроена на использование framelock и подключена кабелем RJ45 к другой системе в группе framelock.
- Запущенная в системе утилита nvidia-settings может связаться с сервером Х-интерфейса, который будет включен в framelock. Это означает, что сервер должен принимать подключения по TCP и настройки межсетевого экрана разрешают удаленные подключения X11, либо между компьютерами сконфигурирован альтернативный механизм проброса портов, например через ssh.
Для случая подключений по TCP проверьте, что сервер Х-интерфейса не настроен на запуск с опцией командной строки -nolisten tcp. Определить параметры запуска сервера X-интерфейса можно с помощью команды:% ps ax | grep X
Если в строке запуска сервера Х-интерфейса присутствует опция -nolisten tcp, обратитесь к документации дистрибутива Linux за информацией о корректном отключении данной опции. В дистрибутивах, настроенных на использование диспетчера входа в систему GDM может понадобиться установить DisallowTCP=false в файле конфигурации GDM (/etc/gdm/custom.conf, /etc/X11/gdm/gdm.conf или /etc/gdb/gdb.conf; имя и путь к файлу конфигурации зависят от дистрибутива). В дистрибутивах, настроенных на использование диспетчера входа в систему KDM в файле конфигурации KDM (/etc/kde3/kdm/kdmrc) может иметься строка:
ServerArgsLocal=-nolisten tcp
Эта строка может быть отключена путем предварения символом «#».
- Запущенная в системе утилита nvidia-settings может обнаружить и имеет соответствующие привилегии сервера Х-интерфейса, включенного в framelock.
Система может получить привилегии экрана на удаленном компьютере выполнением команды
% xhost +
на удаленном компьютере. Обратитесь к странице руководства xhost(1) за дополнительной информацией. Обычно, управление framelock осуществляется с системы, включенной в группу framelock. Хотя это и не обязательно, учитывайте, что утилита «nvidia-settings» отобразит панель «Framelock» только если запущена в сервере Х-интерфейса, поддерживающем framelock.
Для включения синхронизации этих дисплеев, нажмите кнопку «Enable Framelock». Синхронизация дисплея может занять некоторое время. Если изображение на дисплее не стабилизовалось, это может означать, что выбраны параметры временной синхронизации видеорежима, которые одна или несколько систем не поддерживают. В этом случае вам надо отключить синхронизацию кнопкой «Disable Framelock» и обратится к Главе 19 за информацией о параметрах временной синхронизации видеорежима. Изменения настроек Framelock («Add/Remove Devices» и т.д.) должны производиться, когда синхронизация отключена.
Утилита nvidia-settings не включает автоматически FrameLock через файл nvidia-settings.rc. Для включения FrameLock при запуске сервера X-интерфейса можно добавить в файл ~/.xinitrc строку наподобие:
# nvidia-settings -a [gpu:0]/FrameLockEnable=1
26G. Совместное использование FRAMELOCK и GENLOCK
Совместное использование framelock и genlock является простым продолжением действий, необходимых для использования каждого из них по отдельности, приведенных выше. Вам надо сначала следовать инструкциям по настройке Framelock, а затем к одной из систем, включенных в группу framelock, подключить внешний источник синхросигнала. Для синхронизации группы framelock с этим источником, вам надо указать дисплей, управляемый графическим процессором, подключенный к устройству G-Sync, как образец сигнала для всей группы. Для этого в панели «Framelock» в утилите «nvidia-settings выберите переключатель «Server». Если используется группа framelock, построенная на платах G-Sync, дополнительно должна быть выбрана опция «Use House Sync». Включите синхронизацию нажатием кнопки «Enable Framelock». Так же, как и с другими настройками framelock/genlock, выбор образца сигнала для группы должен осуществляться при отключенной синхронизации.
26H. Настройка из командной строки с использованием утилиты nvidia-settings
Frame Lock также может быть настроен из командной строки с помощью утилиты «nvidia-settings». Этот способ настройки может быть полезен для использования в скрипте при автоматизации процесса установки (обратите внимание, что приведенные ниже примеры зависят от конфигурации оборудования и не обязательно будут работать как написаны).
Для правильной настройки Frame Lock должны быть выполнены следующие действия:
- Убедитесь, что синхронизация Frame Lock отключена для всех графических процессоров.
- Убедитесь, что все дисплеи, которые планируется синхронизировать, настроены на одинаковую частоту обновления изображения.
- Выберите и задайте, какое устройство (комбинация «дисплей/графический процессор») будет эталоном.
- Настройте внешний сигнал (если применяется).
- Укажите подчиненные дисплеи.
- Включите синхронизацию frame lock на графическом процессоре-эталоне.
- Включите синхронизацию на подчиненных графических процессорах.
- Включите тестовый сигнал на графическом процессоре-эталоне (для проверки аппаратного соединения).
За полным списком настроек Frame Lock утилиты nvidia-settings обратитесь к странице руководства nvidia-settings(1). Примеры:
Один компьютер, одна видеокарта с функцией Frame Lock с одним графическим процессором и одним дисплеем, синхронизирующиеся с внешним сигналом:
#Убедитесь, что синхронизация FrameLock отключена
nvidia-settings -a [gpu:0]/FrameLockEnable=0
nvidia-settings -q [gpu:0]/FrameLockEnable
#Проверьте активные дисплеи для графического процессора
nvidia-settings -q [gpu:0]/EnabledDisplays
#Проверьте, что частота обновления та, что требуется
nvidia-settings -q [gpu:0]/RefreshRate
#Установите эталонным дисплеем CRT-0. Этот дисплей
#указывается как шестнадцатеричное число
#в котором определенные биты задают, какой дисплей будет установлен.
#примеры:
#0x00000001 — CRT-0
#0x00000002 — CRT-1
#0x00000003 — CRT-0 и CRT-1
#0x00000100 — TV-0
#0x00000200 — TV-1
#0x00020000 — DFP-1
#0x00010101 — CRT-0, TV-0 и DFP-0
#0x000000FF — Все CRT
#0x0000FF00 — Все TV
#0x00FF0000 — Все DFP
#Следующая команда:
#nvidia-settings -q [gpu:0]/EnabledDisplays
#выведет список всех дисплеев указанного графического процессора.
nvidia-settings -a [gpu:0]/FrameLockMaster=0x00000001
nvidia-settings -q [gpu:0]/FrameLockMaster
#Включите использование внешнего сигнала
nvidia-settings -a [framelock:0]/FrameLockUseHouseSync=1
#Настройте видеорежим для внешнего сигнала
nvidia-settings -a [framelock:0]/FrameLockVideoMode=0
#Установите подчиненные дисплеи в «отсутствует»
#(чтобы избежать прикрепления ненужных устройств
#к сигналу синхронизации.)
nvidia-settings -a [gpu:0]/FrameLockSlaves=0x00000000
nvidia-settings -q [gpu:0]/FrameLockSlaves
#Включите FrameLock
nvidia-settings -a [gpu:0]/FrameLockEnable=1
#Проверьте тестовым сигналом
nvidia-settings -a [gpu:0]/FrameLockTestSignal=1
nvidia-settings -a [gpu:0]/FrameLockTestSignal=0
Два компьютера, каждый с двумя графическими процессорами, одна видеокарта с функцией Frame Lock и по одному дисплею, подключенному к каждому графическому процессору, синхронизируются с первым дисплеем первого компьютера:
#Убедитесь, что синхронизация FrameLock отключена
nvidia-settings -a myserver:0[gpu:0]/FrameLockEnable=0
nvidia-settings -a myserver:0[gpu:1]/FrameLockEnable=0
nvidia-settings -a myslave1:0[gpu:0]/FrameLockEnable=0
nvidia-settings -a myslave1:0[gpu:1]/FrameLockEnable=0
#Проверьте активные дисплеи для графических процессоров
nvidia-settings -q myserver:0[gpu:0]/EnabledDisplays
nvidia-settings -q myserver:0[gpu:1]/EnabledDisplays
nvidia-settings -q myslave1:0[gpu:0]/EnabledDisplays
nvidia-settings -q myslave1:0[gpu:1]/EnabledDisplays
#Проверьте, что частота обновления одинакова на всех дисплеях
nvidia-settings -q myserver:0[gpu:0]/RefreshRate
nvidia-settings -q myserver:0[gpu:1]/RefreshRate
nvidia-settings -q myslave1:0[gpu:0]/RefreshRate
nvidia-settings -q myslave1:0[gpu:1]/RefreshRate
#Проверьте, что выбранный дисплей подходит в качестве эталона
nvidia-settings -q myserver:0[gpu:0]/FrameLockMasterable
#Установите эталонный дисплей (CRT-0)
nvidia-settings -a myserver:0[gpu:0]/FrameLockMaster=0x00000001
#Отключите внешний сигнал для эталона
nvidia-settings -a myserver:0[framelock:0]/FrameLockUseHouseSync=0
#Укажите подчиненные дисплеи
nvidia-settings -a myserver:0[gpu:1]/FrameLockSlaves=0x00000001
nvidia-settings -a myslave1:0[gpu:0]/FrameLockSlaves=0x00000001
nvidia-settings -a myslave1:0[gpu:1]/FrameLockSlaves=0x00000001
#Включите FrameLock на сервере
nvidia-settings -a myserver:0[gpu:0]/FrameLockEnable=1
#Включите FrameLock на подчиненных устройствах
nvidia-settings -a myserver:0[gpu:1]/FrameLockEnable=1
nvidia-settings -a myslave1:0[gpu:0]/FrameLockEnable=1
nvidia-settings -a myslave1:0[gpu:1]/FrameLockEnable=1
#Проверьте тестовым сигналом
nvidia-settings -a myserver:0[gpu:0]/FrameLockTestSignal=1
nvidia-settings -a myserver:0[gpu:0]/FrameLockTestSignal=0
Один компьютер с четырьмя графическими процессорами, двумя видеокартами с функцией Frame Lock и с двумя дисплеями, подключенными к каждому графическому процессору, синхронизируются с первым дисплеем, подключенным к первому графическому процессору:
#Убедитесь, что синхронизация FrameLock отключена
nvidia-settings -a [gpu:0]/FrameLockEnable=0
nvidia-settings -a [gpu:1]/FrameLockEnable=0
nvidia-settings -a [gpu:2]/FrameLockEnable=0
nvidia-settings -a [gpu:3]/FrameLockEnable=0
#Проверьте активные дисплеи для графических процессоров
nvidia-settings -q [gpu:0]/EnabledDisplays
nvidia-settings -q [gpu:1]/EnabledDisplays
nvidia-settings -q [gpu:2]/EnabledDisplays
nvidia-settings -q [gpu:3]/EnabledDisplays
#Проверьте, что частота обновления одинакова на всех дисплеях
nvidia-settings -q [gpu:0]/RefreshRate
nvidia-settings -q [gpu:1]/RefreshRate
nvidia-settings -q [gpu:2]/RefreshRate
nvidia-settings -q [gpu:3]/RefreshRate
#Проверьте, что выбранный дисплей подходит в качестве эталона
nvidia-settings -q myserver:0[gpu:0]/FrameLockMasterable
#Установите эталонный дисплей (CRT-0)
nvidia-settings -a [gpu:0]/FrameLockMaster=0x00000001
#Отключите внешний сигнал для эталона
nvidia-settings -a [framelock:0]/FrameLockUseHouseSync=0
#Укажите подчиненные дисплеи
nvidia-settings -a [gpu:0]/FrameLockSlaves=0x00000002 # CRT-1
nvidia-settings -a [gpu:1]/FrameLockSlaves=0x00000003 # CRT-0 и CRT-1
nvidia-settings -a [gpu:2]/FrameLockSlaves=0x00000003 # CRT-0 и CRT-1
nvidia-settings -a [gpu:3]/FrameLockSlaves=0x00000003 # CRT-0 и CRT-1
#Включите FrameLock на основном графическом процессоре
nvidia-settings -a [gpu:0]/FrameLockEnable=1
#Включите FrameLock на подчиненных устройствах
nvidia-settings -a [gpu:1]/FrameLockEnable=1
nvidia-settings -a [gpu:2]/FrameLockEnable=1
nvidia-settings -a [gpu:3]/FrameLockEnable=1
#Проверьте тестовым сигналом
nvidia-settings -a [gpu:0]/FrameLockTestSignal=1
nvidia-settings -a [gpu:0]/FrameLockTestSignal=0
26I. Применение FRAMELOCK/GENLOCK в OpenGL
Используя расширение GLX_NV_swap_group, приложения OpenGL могут присоединяться к группе приложений в системе для локальной синхронизации замены, и присоединять группу к границам области синхронизации замены группы framelock. Универсальный счетчик кадров «framecounter» также предоставляется для синхронизации между приложениями.
26J. Ограничения FRAMELOCK
Следующие ограничения должны учитываться при включении framelock:
- Все дисплеи, установленные как клиенты в группе framelock должны иметь одинаковые параметры временной синхронизации с образцом (сервером). Если используется внешний синхросигнал (вместо внутренних временных параметров), все клиенты должны иметь частоту обновления, совпадающую с частотой внешнего синхросигнала.
- Все экраны Х-интерфейса, размещенные на выбранных в качестве сервера/клиентов дисплеях, должны иметь идентичный стереорежим. Обратитесь к приложению B за информацией о настройке стереорежима в конфигурации Х-интерфейса.
- Дисплей-эталон (сервер) для framelock должен быть подключен к графическому процессору, первым подключенному к устройству G-Sync device.
- Если только один графический процессор подключен к устройству G-Sync, должен использоваться основной разъем.
- В конфигурациях с более чем одним дисплеем на графический процессор, рекомендуется использовать framelock для всех дисплеев на этих графических процессорах.
- Переключение виртуального терминала или видеорежима отключит framelock для дисплея. Обратите внимание, что точка вхождения в процедуру glXQueryFrameCountNV (обеспечиваемая расширением OpenGL GLX_NV_swap_group extension) предоставляет возрастающую нумерацию только при включенном framelock. Таким образом, в приложениях, использующие glXQueryFrameCountNV для управления анимацией, будет наблюдаться остановка анимации при отключенном framelock.
26К. Поддерживаемые конфигурации FRAMELOCK
В настоящее время поддерживаются следующие конфигурации:
- Основная конфигурация Frame Lock: один GPU, один экран X-интерфейса, один дисплей с, или без OpenGL приложений, использующих четырехкратно-буферизованного стерео и/или расширения GLX_NV_swap_group.
- FrameLock совместно с TwinView: один GPU, один экран X-интерфейса, несколько дисплеев с или без OpenGL приложений, использующих четырехкратно-буферизованного стерео и/или расширения GLX_NV_swap_group.
- FrameLock совместно с Xinerama: один или несколько GPU, несколько экранов X-интерфейса, несколько дисплеев с, или без OpenGL приложений, использующих четырехкратно-буферизованного стерео и/или расширения GLX_NV_swap_group.
- FrameLock вместе с TwinView и Xinerama: один или несколько GPU, несколько экранов X-интерфейса, несколько дисплеев с, или без OpenGL приложений, использующих четырехкратно-буферизованного стерео и/или расширения GLX_NV_swap_group.
- FrameLock при использовании SLI SFR, AFR, или AA: два графических процессора, один экран X-интерфейса, один дисплей с OpenGL приложениями, использующими четырехкратно-буферизованное стерео или расширение GLX_NV_swap_group. Обратите внимание, что для данного сочетания не поддерживается одновременное использование приложениями четырехкратно-буферизованного стерео и расширения GLX_NV_swap_group. Также в настоящее время поддерживаются лишь двухпроцессорные конфигурации SLI.
- FrameLock при использовании Multi-GPU SFR, AFR, или AA: два графических процессора, один экран X-интерфейса, один дисплей с OpenGL приложениями, использующими четырехкратно-буферизованное стерео или расширение GLX_NV_swap_group. Обратите внимание, что для данного сочетания не поддерживается одновременное использование приложениями четырехкратно-буферизованного стерео и расширения GLX_NV_swap_group.
nvworld.ru
Настройка видеокарты Linux через Xorg
За отрисовку всех графических элементов в Linux отвечает графический сервер. Он реализует интерфейс прослойки между драйверами видеокарты и различными программами, которые работают с графикой.
В самых современных дистрибутивах на замену Xorg серверу пришел новый дисплейный сервер Wayland. Но он все еще находится в активной разработке и не совсем готов к постоянному использованию. Поэтому Xorg все еще применяется в большинстве дистрибутивов.
После установки видеокарта работает достаточно хорошо и настроек по умолчанию в большинстве случаев хватает, но иногда нужно изменить некоторые параметры. Мы не будем рассматривать установку драйверов. В этой статье мы сосредоточимся на том, как выполняется настройка видеокарты linux через xorg.conf.
Содержание статьи:
Настройка видеокарты Linux c помощью xorg.conf
Конфигурационный файл xorg.conf — это обычный текстовый файл, в котором хранятся параметры работы Xorg сервера. Сюда входят настройки дисплея, мыши, видеокарты и клавиатуры. В былые времена этот файл был очень большим и сложным, но со временем его функции были перенесены в другие компоненты системы. Поэтому в последнее время он был видоизменен, и упрощен. Во многих дистрибутивах вообще такого файла нет, а вся конфигурация хранится в бинарном формате.
Но настройка xorg linux может все еще понадобиться, если вы хотите сделать нестандартные настройки, повысить частоту обновления экрана, изменить расширение экрана, увеличить производительность и многое другое.
Создание Xorg.conf
Обычно, этот файл размещен в директории /etc/X11/xorg.conf. Но если в вашем дистрибутиве его нет, можно без проблем создать xorg.conf на основе журнала.
Сначала скопируйте файл журнала для новой сессии:
$ cp /var/log/Xorg.0.log /var/log/Xorg.1.log
$ Xorg -configure :1
Программа проанализирует файл лога, и на его основе создаст новый файл /etc/X11/xorg.conf учитывая конфигурацию вашей системы. В вашем домашнем каталоге появиться файл xorg.conf.new, который нужно скопировать в /etc/X11/
cp xorg.conf.new /etc/X11/
Синтаксис конфигурационного файла
Перед тем как переходить к настройке xorg.conf нужно разобраться в его синтаксисе, чтобы вы могли немного ориентироваться в самом файле. X сервер отвечает за все интерактивные связи во время сессии. Поэтому конфигурационный файл разбит на секции, несколько из них отвечают за работу с дисплеем, другие за мышь и клавиатуру. Рассмотрим основные секции файла:
- Module — в этом разделе описываются подключение модулей, расширяющих функциональность видео драйвера. Например, GLX модуль добавляет 3D ускорение, а модули Type1 и Freetype используются для рендеринга шрифтов;
- ServerLayout — в этой секции указаны имена трех самых необходимых устройств для каждой рабочей сессии Xorg — имена мыши, клавиатуры и экрана, которые могут использоваться в других местах файла;
- InputDevice — в xorg.conf обычно есть две секции InputDevice, первая для мыши и вторая для клавиатуры. Большинство мышей работают отлично по умолчанию, здесь понадобиться что-то менять только если вы захотите добавить дополнительные возможности;
- Monitor — в этой секции перечислены все настройки вашего экрана, один из наиболее важных параметров, частота горизонтальной развертки HorizSync и вертикального обновления VertRefresh, именно на основе них рассчитывается разрешение экрана. Также можно жестко задать разрешение с помощью строки ModeLine;
- Device — тут перечислено все ваше графическое оборудование вместе с драйверами, которые используются. Чаще всего, это nv с открытым исходным кодом для NVIDIA, или fglrx для карт от AMD. Имя драйвера Intel будет зависеть от версии вашей карты, например, i810.
- Screen — здесь расположены все настройки вашего монитора и других графических устройств. Вы можете использовать эту секцию, например, для настройки нескольких экранов.
Настройка экрана xorg
Большинство параметров вашего экрана система получает с помощью технологии EDID или Extended Display Identification Data. Это информация, переданная дисплеем видеокарте. Здесь обычно содержится модель, производитель, такйминги, разрешение и размер дисплея. Xorg использует эти параметры для выбора оптимального разрешения экрана и глубины цвета.
Но иногда информация из EDID может быть неточной или неверной. Тогда вы можете установить нужные параметры вручную через xorg.conf. Но будьте осторожны, если ваш экран не поддерживает некоторые параметры, вы можете его повредить. Характеристики каждого отдельного устройства можно найти в интернете или же в инструкции от производителя.
Например, вот секция Monitor с настройкой вертикальной и горизонтальной частот, а также разрешения:
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DFP-0"
HorizSync 28.0 - 72.0
VertRefresh 43.0 - 60.0
ModeLine "1440x900_60.00" 106.5 1440 1520 1672 1904 900 901 904 932 -hsync +vsync
Добавив такие опции в секцию Device, вы можете отключить использование EDID:
Option "UseEDIDFreqs" "FALSE"
Option "UseEDIDDpi" "FALSE"
Option "ModeValidation" "NoEdidModes"
Наиболее важное значение — это две частоты, которые определяют диапазон работы устройства. Строка ModeLIne необязательна, поскольку она вычисляется автоматически, но если X сервер задает значения неверно, вы можете их прописать жестко в этой строке.
Настройка видеокарты в xorg.conf
У драйверов видеокарт ест множество различных полезных опций, которые вы можете настроить с помощью xorg.conf. Большинство из них специфичны для конкретного производителя видеокарт. Например, есть множество настроек для видеокарт NVIDIA, но с другой стороны карты от ATI не настраиваются через этот файл. Драйвера с открытым исходным кодом от Intel имеют только несколько настроек. Дальше будет рассмотрена настройка видеокарты linux для различных производителей.
Настройка nvidia
У видеокарт NVIDIA есть множество настроек, которые можно указать в xorg.conf. Каждая строка состоит из ключа и значения, ее можно разместить в секции Screen или Device:
- Option «NoLogo» «true» — во время инициализации драйвера показывается логотип NVIDIA. Это занимает некоторое время, поэтому с помощью такой строки можно отключить логотип;
- Option «LogoPath» «адрес_файла» — вы можете заменить логотип NVIDIA на свое изображение, для этого просто укажите его адрес в этой строке;
- Option «CursorShadow» «true» — если вы хотите видеть тень вокруг курсора, включите эту опцию. Тут есть два дополнительных параметра CursorShadowXOffset и CursorShadowYOffset, которые позволяют установить положение тени;
- Option «Coolbits» «true» — эта опция позволяет включить возможность разгона частоты процессора и скорости памяти вашей видеокарты. Но вам нужно быть аккуратным с этим параметром, поскольку так вы можете повредить сове оборудование. Параметры разгона будут отображаться в утилите nvidia-config;
- Option «DPI» «75 x 85» — если значение DPI (количество точек на дюйм) установлено неверно, то это может повлиять на правильность отображения шрифтов. Обычно, Xorg вычисляет этот параметр на основе EDID, но вы можете установить его вручную. Например, для монитора с разрешением ,440×900 и физическим размером 16×10 дюймов, значение DPI будет составлять (1,440/16)x(900/10) = 90×90.
Настройка видеокарты Intel
Графическими картами от Intel не всегда поддерживается настройка xorg.conf. Поэтому вам нужно проверить каждую из опций чтобы увидеть дает ли она какой-либо результат. Опции нужно добавлять в раздел Device:
- Option «AccelMethod» «EXA» — эта опция позволяет включить новую архитектуру ускорения EXA. Она поддерживается в большинстве интегрированных карт Intel 943/940 и позволяет улучшить скорость композитинга.
- Option «MigrationHeuristic» «greedy» — позволяет уменьшить использование видеопамяти на хранение различных текстур, что повышает общую производительность;
- Option «TripleBuffer» «true» — этот параметр включает использование более совершенного метода двойной буферизации (используется для противостояния мерцанием).
Решение проблем xorg.conf
Если у вас не получается правильно настроить xorg.conf, нужно начать с самого меньшего. Используйте драйвер Vesa. Это стандартный видеодрайвер, а значит, его поддерживает любая видеокарта. Просто установите значение опции Driver — Vesa и попробуйте запустить X сервер. Вы должны увидеть свой рабочий стол.
Но драйвер Vesa работает намного медленнее, чем более современные драйвера. Если Vea позволяет запустить графическое окружение, значит проблема в вашем графическом драйвере или в настройке.
Попробуйте использовать утилиту lspci, чтобы посмотреть точную версию своей видеокарты, обычно для старых карт нужны более старые драйвера.
Если проблемы все еще возникают, посмотрите файл журнала, обычно он расположен в каталоге /var/log/ и имеет в расширении номер сессии, например, /var/log/Xorg.log.1 или /var/log/Xorg.log.0. Здесь будут выведены все сообщения об ошибках. Также вы можете запустить Xorg с опцией -verbose, чтобы сразу увидеть все ошибки. Одна из самых распространенных ошибок — это неверное выставленное разрешение экрана, вы можете попробовать закомментировать все строки ModeLine и перезапустить X сервер.
Выводы
Теперь вы знаете достаточно и настройка видео Linux с помощью xorg не должна для вас быть очень сложной, даже если вы раньше этим не занимались. Особенно, если вы недовольны текущими настройками. Настройка x сервера поможет вам получить больше от старого оборудования или интегрированных карт. Только не забывайте делать резервные копии перед внесением каких-либо изменений.
losst.ru
Настройки сервера NVIDIA X потеряны при каждой перезагрузке
Я запускаю GeForce GTX 770 на мобильном устройстве Z87 Gigabyte и двойной загрузке Windows 8.1 Pro и Ubuntu 12.04.3 LTS. Настройка работает плавно в целом, за исключением случаев, когда дело касается видео и 3D-производительности в Ubuntu. В какой-то момент у меня была печально известная проблеска, и я нашел способ ее исправить. Это связано с тем, что карта NVidia переходит в режим с низким энергопотреблением, а затем видео и 3D-эффекты страдают от разрыва и заикания. Исправление состоит в том, чтобы перейти к настройкам nvidia и изменить режим питания с «Авто» на «Предпочтительная максимальная производительность». Проблема в том, что это работает только до перезагрузки. После перезагрузки настройка очищается, и проблемы все еще сохраняются, поэтому мне нужно вручную установить ее снова для текущего сеанса. Я пробовал gksu-ing и установил его, но это не сработало. Я попытался отредактировать файл etc / X11 / xorg.conf, но он пуст — в этом файле есть нулевые строки … Я читал все связанные статьи, но в основном люди жалуются на сброс яркости или конфигурации с двумя мониторами, какие решения (! d0)
TL; DR: Настройки NVidia сбрасываются после перезагрузки и пробовали все, что я мог найти в Интернете, ни к чему.
[d2 ] Если кто-то знает, что делать в этой ситуации, пожалуйста, поделитесь!Спасибо!
ИЗМЕНИТЬ [1]: Я сделал еще одно копание, и, похоже, нет очевидных или безопасных решение. Некоторые люди пытались установить уровень производительности вручную, но сообщают, что это небезопасно и могут убить GPU. Однако есть надежда. Я думаю, что это можно сделать через опцию профилей NVidia, предоставляемую из настроек nvidia. Проблема в том, что нужно знать ключ, о котором идет речь, и значение, которое принимает этот ключ.
I could have put a screenshot here, but I need rep => 10...
Я не смог найти список возможных ключей и никаких ключевых значений … Не повезло, я думаю.
Может кто-нибудь предоставить ссылку или перечислить некоторые полезные?
Спасибо!
EDIT [2]: Наконец! Спасибо всем за помощь! Я нашел решение с помощью vegard torvund и этой нити. И благодаря сообществу Google Ubuntu для распространения этого слова!
askubuntu.ru
Как добавить другое разрешение монитора в список настроек сервера NVidia X
У меня есть два монитора, подключенных к одному ПК; один через DVI, другой — через KVM-переключатель на (синий) VGA-кабель.
Я только что установил Xubuntu 11.10, установил текущие драйверы nvidia и с помощью апплета NVidia X Server Settings
, я их настроил. Я использую конфигурацию TwinView, поэтому я могу перетаскивать окна с одного монитора на другой и т. Д.
Монитор с DVI-подключением распознается правильно и установлен на 1024×768. Однако VGA-соединение содержит множество разрешений, но не правильное (1280×1024). Теперь я установил его в 1280×960, но все немного размыто, поскольку это не родное разрешение монитора. Указанные разрешения: 1440×900, 1360×768, 1280×960, 1152×864, 1024×768, 832×624, 800×600, 720×450, 680×384, 640×480, 512×384.
Кто-нибудь знает, как и где я могу настроить свою машину так, чтобы основной монитор работал с собственным разрешением?
Изменить: В настоящее время это содержимое моего xorg.conf
:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 280.13 ([email protected]) Wed Jul 27 17:15:58 PDT 2011
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 280.13 (buildd@yellow) Fri Aug 5 12:31:28 UTC 2011
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "CRT-1"
HorizSync 30.0 - 60.0
VertRefresh 56.0 - 76.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "COMPAQ 1520"
HorizSync 30.0 - 60.0
VertRefresh 56.0 - 76.0
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GT 530"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GT 530"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Screen"
# Removed Option "metamodes" "DFP: nvidia-auto-select +1360+0, CRT: 1360x768_60 +0+0"
# Removed Option "metamodes" "CRT: 1280x960 +0+0, DFP: nvidia-auto-select +1360+0"
# Removed Option "metamodes" "CRT: 1280x960 +0+0, DFP: nvidia-auto-select +1280+0"
# Removed Option "TwinView" "1"
# Removed Option "metamodes" "CRT: 1280x960 +0+0, DFP: nvidia-auto-select +1280+192"
# Removed Option "TwinView" "0"
# Removed Option "metamodes" "CRT: 1280x960 +0+0"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "CRT-1"
Option "metamodes" "CRT: 1280x960 +0+0, DFP: nvidia-auto-select +1280+192"
SubSection "Display"
Depth 24
Modes "1280x1024" "1280x1024" "1152x864" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "DFP: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
ubuntugeeks.com
Настройки сервера Nvidia X не сохраняют настройки положения экрана
У меня есть два монитора с разрешениями 1366x768
(CRT1) и 1024x768
(CRT0). CRT0 остается справа от CRT1 , поэтому общее разрешение составляет (1366+1024)x768
. Недавно я заметил, что когда я перемещаю мышь из CRT1 в CRT0 , она не переходит в CRT0 , то есть общая ресуляция больше чем (1366+1024)x768
. Я пошел в X Server Settings
, и было следующее:
Это действительно странно, когда это число 1708
появилось, но я мало думал об этом и просто изменил его на +1366+0
, сохранил его в /etc/X11/xorg.conf
и забыл об этом. Но при следующей загрузке я снова вижу грязный +1708+0
. Я попытался изменить настройки на это:
Это работало только до перезагрузки.
Так что я потерян. У меня нет никаких ошибок, я могу сэкономить xorg.conf
Я пробовал все, что мог подумать, но при каждой загрузке я получаю этот +1708+0
.
Вот мой /etc/X11/xorg.conf
. Р>
Ubuntu 14.04 LTS x64
$ cat /proc/version
Linux version 3.19.0-42-generic (buildd@lgw01-24) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #48~14.04.1-Ubuntu SMP Fri Dec 18 10:24:49 UTC 2015
$ dpkg -l | grep nvidia
ii nvidia-331 340.96-0ubuntu0.14.04.1 amd64 Transitional package for nvidia-331
ii nvidia-340 340.96-0ubuntu0.14.04.1 amd64 NVIDIA binary driver - version 340.96
rc nvidia-libopencl1-340 340.96-0ubuntu0.14.04.1 amd64 NVIDIA OpenCL Driver and ICD Loader library
ii nvidia-opencl-icd-340 340.96-0ubuntu0.14.04.1 amd64 NVIDIA OpenCL ICD
ii nvidia-prime 0.6.2 amd64 Tools to enable NVIDIA's Prime
ii nvidia-settings 331.20-0ubuntu8 amd64 Tool for configuring the NVIDIA graphics driver
Спасибо заранее.
UPD
Исправлена проблема с положением экрана, это было околоmonitors.xml
, которое переопределило настройки xorg.conf
, благодаря @Jacob Vlijm . Но когда я изменил позицию в monitors.xml
, ubuntu забыл, где мой основной монитор, и теперь после перезагрузки у меня есть «обмен» мониторов, где я должен перемещать мышь влево, чтобы перейти на правый монитор. Вот мой monitors.xml . Кстати, Это решение не помогло.
ubuntugeeks.com
Куда записывать xorg.conf из nvidia-settings? Как настроить расположение мониторов для non-free дров?
Железо и ПОOC: manjaro-i3 (свежая, 2к17)Карта: nVidia gtx 560 DirectCU ii
Мониторы:
- Мон0 — старый ViewSonic , подкл vga через dvi переходник
- Мон1 — старый Dexp m210 , hdmi
Стояли дрова Nouveau. Захотелось поковыряться c CUDA, поэтому поставил non-free дрова, используя mhvd:
sudo mhwd -a pci nonfree 0300
sudo nvidia-xconfig
sudo kill -9 `pidof Xorg`
Естественно, настройки расположения мониторов сбились.
До этого они были прописаны в /etc/X11/xorg.conf.d/10-monitor.conf:
Section "Monitor"
Identifier "DVI-I-1"
EndSection
Section "Monitor"
Identifier "HDMI-1"
Option "Primary" "true"
Option "LeftOf" "DVI-I-1"
EndSection
После установки настроил расположение (и primary, что в i3-wm важно) через nvidia-settings, применил и сохранил в /etc/X11/xorg.conf, перезапустил xorg — ноль эмоций.
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 375.66 (buildmeister@swio-display-x86-rhel47-06) Mon May 1 15:44:21 PDT 2017
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 375.66 (buildmeister@swio-display-x86-rhel47-06) Mon May 1 15:45:32 PDT 2017
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "ViewSonic VA902"
HorizSync 30.0 - 82.0
VertRefresh 50.0 - 85.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 560"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-1"
Option "metamodes" "DVI-I-0: 1280x1024_75 +1920+0, HDMI-0: 1920x1080_60 +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Подскажите, пожалуйста, как завести эту шарманку. Поиск в интернете ничего не дал. А если все же и дал что-то, то получить результат это не помогло.
Тут есть очень важная деталь: настройки должны подгружаться как можно раньше, чтобы экран логина был расположен уже как надо. (старенький монитор aka мон0 запускается, как трактор, по 3 часа)
Выхлопы (если нужно добавить что-то ещё, пишите):
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 10)
00:01.0 PCI bridge: Intel Corporation 82G33/G31/P35/P31 Express PCI Express Root Port (rev 10)
00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 2 (rev 01)
00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 (rev 01)
00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 (rev 01)
00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 (rev 01)
00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.2 IDE interface: Intel Corporation NM10/ICH7 Family SATA Controller [IDE mode] (rev 01)
00:1f.3 SMBus: Intel Corporation NM10/ICH7 Family SMBus Controller (rev 01)
01:00.0 VGA compatible controller: NVIDIA Corporation GF114 [GeForce GTX 560] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF114 HDMI Audio Controller (rev a1)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller (rev 02)
xrandrScreen 0: minimum 8 x 8, current 3200 x 1080, maximum 16384 x 16384
DVI-I-0 connected primary 1280x1024+0+0 (normal left inverted right x axis y axis) 376mm x 301mm
1280x1024 60.02*+ 75.02
1024x768 85.00 75.03 70.07 60.00
800x600 85.06 75.00 72.19 60.32 56.25
640x480 85.01 75.00 72.81 59.94
DVI-I-1 disconnected (normal left inverted right x axis y axis)
DVI-I-2 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 1920x1080+1280+0 (normal left inverted right x axis y axis) 580mm x 360mm
1920x1080 59.72*+ 60.00 59.94 50.00 23.97 60.05 60.00 50.04
1600x1200 60.00
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
720x576 50.00
720x480 59.94
640x480 75.00 72.81 59.94 59.93
DVI-I-3 disconnected (normal left inverted right x axis y axis)
cat /proc/driver/nvidia/versionNVRM version: NVIDIA UNIX x86_64 Kernel Module 375.66 Mon May 1 15:29:16 PDT 2017
GCC version: gcc-Version 7.1.1 20170528 (GCC)
inix -GGraphics: Card: NVIDIA GF114 [GeForce GTX 560]
Display Server: x11 (X.Org 1.19.3) driver: nvidia
Resolution: [email protected], [email protected]
OpenGL: renderer: GeForce GTX 560/PCIe/SSE2 version: 4.5.0 NVIDIA 375.66
Окей, сабж решен (смотри в ответах), но все ещё остается неясным, почему не подрубался непосредственно /etc/X11/xorg.conf.
toster.ru