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, в
котором содержится описание графического устройства. В нем
содержатся следующие опции и подразделы:
-
noautoshutdown –
для предотвращения отключения дисплея после завершения
работы всех приложений для данной опции следует задать
значение 1.
Если значение не указано, по умолчанию используется
значение 0.
-
drivername –
строка, описывающая драйвер devg-*,
загружаемый утилитой io-display
для этого устройства. Строка должна соответствовать
имени драйвера. Например, строка coral
соответствует драйверу devg-coral.so.
-
vid –
идентификатор вендора устройства, шестнадцатеричное
значение. Для устройства PCI указывается идентификатор
вендора устройства PCI.
-
did –
идентификатор устройства, шестнадцатеричное значение.
Для устройства PCI указывается идентификатор устройства
PCI.
-
deviceindex –
индекс устройства.
-
modeopts –
строка, передаваемая непосредственно драйверу. Например,
в случае драйвера Coral с помощью данной строки можно
указать конфигурационный файл с дополнительными
настройками, зависящими от устройства.
-
display –
подраздел, описывающий один или несколько дисплеев,
поддерживаемых устройством. В этом подразделе
представлены следующие опции:
-
xres –
разрешающая способность дисплея по горизонтали.
-
yres –
разрешающая способность дисплея по вертикали.
-
refresh –
частота кадров дисплея в Гц.
-
pixel_format –
пиксельный формат дисплея. Возможны следующие
пиксельные форматы:
-
pal8 – 8
бит на пиксель;
-
argb1555 –
16 бит на пиксель;
-
rgb565 –
16 бит на пиксель;
-
rgb888 –
24 бита на пиксель;
-
argb8888 –
32 бита на пиксель.
Пример файла:
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 выполните следующие шаги:
-
Запустите
утилиту
io-display,
указав требуемые идентификаторы устройства.
-
Установите
переменные
среды, требуемые для Photon.
-
Запустите
Photon.
-
Запустите
утилиту
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 Гц.