io-display

Сервер графической среды QNX

Синтаксис:

io-display [-fv] [-d устройство] [-c конфигурационный_файл]

[-p приоритет]

Поддерживаемые платформы:

Neutrino

Опции:

-c

Задать путь к конфигурационному файлу. Значение по умолчанию – /etc/system/config/display.conf. Описание формата конфигурационного файла приведено ниже.

-d устройство

Загрузить графический драйвер, указанный в аргументе устройство. Эти опции должны совпадать с записью в конфигурационном файле io-display (см. ниже).

Формат строки устройства:

vid=[0x]идентификатор_вендора,did=[0x]идентификатор_устройства[,deviceindex=индекс]

где:

идентификатор_вендора

Идентификатор вендора графического устройства.

идентификатор_устройства

Идентификатор графического устройства.

индекс

Индекс графического устройства. Если значение не указано, значение по умолчанию – 0.

Примечание. Для отображения информации о графических устройствах PCI, установленных на компьютерах с платформой Neutrino, можно воспользоваться утилитой pci.

-f

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

-p приоритет

Установить приоритет импульсов, используемый для драйверов устройств, например при доставке событий, вызывающих прерывание. Утилита io-display наследует приоритет получаемых импульсов. Это может привести к возникновению проблем, связанных с инверсией приоритетов, для клиентских приложений, блокирующих работу утилиты io-display. Значение по умолчанию – 21.

-v

Вывести расширенную информацию.

Описание:

Менеджер io-display обеспечивает поддержку отображения непосредственно на графических устройствах с использованием библиотек графической среды QNX и OpenGL ES путем загрузки драйвера, заданного с помощью опции -d.

После запуска утилиты io-display в приложениях могут использоваться библиотеки графической среды QNX (libgf) и OpenGL ES для запроса графического контекста и отображении на устройстве.

Выполняемые приложения графической среды QNX должны быть привилегированными, поскольку они осуществляют прямой доступ к графическому устройству при визуализации. Это значит, их должен запускать либо пользователь с учетной записью root, либо член группы display. Прямой доступ к графическому устройству со стороны приложений, входящих в группу display, может осуществляться без полномочий суперпользователя (root).

Примечание. При этом существует одно ограничение, в настоящее время касающееся только систем x86. Для выполнения отображения драйверам более старых видеоустройств может потребоваться доступ к регистрам ввода/вывода. В этом случае для потока, обеспечивающего отображение, потребуются полномочия ввода-вывода. Для получения полномочий ввода-вывода процесс должен быть запущен с полномочиями root. В системе x86 процессу с полномочиями ввода-вывода не назначаются полные полномочия суперпользователя, таким образом риск, связанный с дополнительным требованием по выполнению процесса с полномочиями root при работе с некоторыми графическими устройствами, сводится к минимуму.

Конфигурационный файл io-display

По умолчанию конфигурационный файл утилиты io-display находится в каталоге /etc/system/config/display.conf, но его можно разместить в другом каталоге и воспользоваться опцией -c.

В этом файле указаны глобальные опции, опции устройств и опции отображения. При работе с файлом следует соблюдать следующие правила:
Разделом верхнего уровня является раздел device, в котором содержится описание графического устройства. В нем содержатся следующие опции и подразделы:
Пример файла:

device {

drivername=coral

vid=0x10cf

did=0x201e

deviceindex=0

display {

xres=640

yres=480

refresh=60

pixel_format=argb1555

}

}

device {

noautoshutdown=1

drivername=coral

vid=0x10cf

did=0x201e

deviceindex=0

modeopts=/usr/photon/config/coral.conf

display {

xres=640

yres=480

refresh=60

pixel_format=argb1555

}

}


Сервер io-display и Photon

При необходимости одновременного использования приложений GF/OpenGL ES и Photon утилиту io-display следует запустить до запуска сервера обработки графических данных Photon io-graphics. В этом случае вместо использования собственных настроек командной строки утилита io-graphics направляет запрос утилите io-display на получение данных о настройках дисплея. При использовании целевых платформ x86 запуск сервера Photon можно производить с помощью сценария ph; на других целевых платформах запуск сервера Photon необходимо производить вручную.

Для запуска сервера Photon выполните следующие шаги:
  1. Запустите утилиту io-display, указав требуемые идентификаторы устройства.

  2. Установите переменные среды, требуемые для Photon.

  3. Запустите Photon.

  4. Запустите утилиту io-graphics без каких-либо аргументов командной строки.

По умолчанию Photon функционирует в основном слое дисплея. Поэтому приложения GF и OpenGL ES следует выполнять в другом слое.

Примеры:

Запуск утилиты io-display, загрузка и инициализация драйвера для контроллера Fujitsu Coral PA:

io-display -dvid=0x10cf,did=0x201e

Утилита io-display загружает драйвер devg-coral.so, устанавливается режим 640x480x15 c частотой кадров 60 Гц.