Перевод документации драйвера NVIDIA для Linux, часть 9
Глава 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.