screen.conf

Конфигурационный файл настройки композиции для модуля devg-screen.so и групп ввода для менеджера screen-winmgr

Путь поиска:

/usr/lib/graphics/<platform>/screen.conf

Формат:

begin screen
# Per display composition options
begin wfc display 1
refresh = tile # display composition strategy (auto/full/tile, default = tile)
tiles = 16 # number of tiles (refresh == tile only, default = 16)
background = 1 # background filling (0/1, default = 1)
background-color = 0x00000000 # background solid color (AARRGGBB hex value, default = 0x00000000)
rotation = 0 # display rotation factor (0/90/180/270, default = 0)
h-mirror = 0 # flip image horizontally (0/1, default = 0)
v-mirror = 0 # flip image vertically (0/1, default = 0)
scaling-quality = nice # type of scaling qualities (fast/normal/nice, default = normal)
layers = 8 # number of composition layers (1-8, default = 1)
cursor = yes # composer provides top layered cursor engine (yes/no, default = no)
verbose = 5 # composer verbosity level (0-10, default = 0)
thread-priority = 40 # composer thread priority (default = 40)
x-offset = photon # Display x-offset in matrix (<value>/photon, default = photon)
y-offset = photon # Display y-offset in matrix (<value>/photon, default = photon)
end wfc display
begin wfc display 2
refresh = tile # display composition strategy (auto/full/tile, default = tile)
tiles = 16 # number of tiles (refresh == tile only, default = 16)
background = 1 # background filling (0/1, default = 1)
background-color = 0x00000000 # background solid color (AARRGGBB hex value, default = 0x00000000)
rotation = 0 # display rotation factor (0/90/180/270, default = 0)
h-mirror = 0 # flip image horizontally (0/1, default = 0)
v-mirror = 0 # flip image vertically (0/1, default = 0)
scaling-quality = nice # type of scaling qualities (fast/normal/nice, default = normal)
layers = 8 # number of composition layers (1-8, default = 1)
cursor = yes # composer provides top layered cursor engine (yes/no, default = no)
verbose = 5 # composer verbosity level (0-10, default = 0)
thread-priority = 40 # composer thread priority (default = 40)
x-offset = photon # Display x-offset in matrix (<value>/photon, default = photon)
y-offset = photon # Display y-offset in matrix (<value>/photon, default = photon)
end wfc display
begin wfc matrix 1
map-displays = 1,2
end wfc matrix
begin input
begin cursors
config_path = standard # default cursors for all input groups (standard/none/<path>)
group1 = /usr/share/screen/g1.kfc # cursors for input-group 1 (<path>)
end cursors
begin input-group 1
deny-displays = 1,2
end input-group
begin keyboard 1
device = /dev/devi/keyboard0
group = 1
end keyboard
begin mouse 1
device = /dev/devi/mouse0
group = 1
end mouse
begin touch 1
device = /dev/devi/touch0
display = 1
group = 3
end touch
end input
end screen

Связанные модули:

Параметры конфигурационного файла:

Данный конфигурационный файл позволяет определять параметры композиции модуля devg-screen.so, а также групп ввода менеджера screen-winmgr.

Секция wfc display:

Секции wfc display конфигурационного файла определяют параметры для каждого поддерживаемого дисплея. Нумерация дисплеев начинается с единицы.


Caution: Количество подобных секций должно в точности соответстсовать числу секций display в display.conf.

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

refresh
Стратегия осуществления композиции. Опция пришла на смену устаревшей auto-refresh. Возможные значения:
Опция refresh поддерживается, начиная с ЗОСРВ «Нейтрино» редакции 2021
Опция auto-refresh считается устаревшей, начиная с ЗОСРВ «Нейтрино» редакции 2021
tiles
Число тайлов, которые обслуживает, менеджер композиции. В общем случае данный пакраметр влияет на баланс/число программных и аппаратных операций при композиции изображения на каждом дисплее. Увеличение значения этого параметра при большом числе независимо изменяющихся фрагментов на экране это может снизить нагрузку на GPU. При этом повышается объем вычислений на стороне CPU. Уменьшение значения параметра, наоборот, снижает нагрузку на CPU и повышает нагрузку для GPU. Также стоит учитывать сведения, приведенные в описании опции refresh. Опция используется только при refresh = tile. По умолчанию обслуживается 16 тайлов.
Опция tiles поддерживается, начиная с ЗОСРВ «Нейтрино» редакции 2021
background
Фоновая заливка отображаемой поверхности при композиции. Данная поверхность является контейнером, в который devg-screen.so будет собирать результирующее изображение из множества оконных буферов для последующего вывода на экран. При композиции анализируется положение окон в динамике и обновляются лишь "поврежденные" области: сначала область очищается (заливается фоновым цветом), а затем в ней восстанавливается корректное содержимое. Если существует полноэкранное фоновое окно, гарантированно перекрывающее произвольную поврежденную область, то операция первичной очистки является избыточной. Допустимые значения опции:

Caution: Отключение фоновой заливки имеет как положительные, так и отрицательные эффекты. С одной стороны, оно повышает общую производительность композиции, но в некоторых сценариях приводит к неустранимым артефактам, поскольку поврежденная область очищается только при наличии нижележащего окна, перекрывающего "поврежденную" область. Степень прироста производительности в отсутствии фоновой заливки зависит от множества факторов: особенностей аппаратуры, числа дисплеев, конфигурации композитного окружения, состава окон и их позиционирования в динамике, а также частоты обновления контента в окнах. Так, например, при одном дисплее и единственном полноэкранном окне screen-gles2-gears прирост производительности может достигать 35% при разрешении 1024x768. При изменении размера окна до 512x512 прирост снижается до 9%. Это объясняется тем, что оценка во втором случае упирается уже не в производительность композиции (обычно она организуется средствами 2D ускорителя), а в предел возможностей 3D ускорителя.

Опция background поддерживается, начиная с ЗОСРВ «Нейтрино» редакции 2021
background-color
Цвет фоновой заливки отображаемой поверхности при композиции (подробнее см. описание опции background).
rotation
Поворот изображения при выводе на экран (при этом разрешение экрана может быть инвертировано - ширина и высота меняются местами):
h-mirror
v-mirror
Горизонтальное/вертикальное зеркалирование при выводе на экран:

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

scaling-quality
Качество и производительность фильтра, осуществляющего масштабирование:
layers
Текущее количество виртуальных слоев текущего дисплея (максимальное количество слоев ограничивается параметрами сборки модуля devg-screen.so). По умолчанию обслуживается 1 слой.
cursor
Включение композитного курсора. Без этой опции в отсутствии аппаратной поддержки курсора он может быть перекрыт высокоуровревыми слоями. Для систем, поддерживающих аппаратный курсор, может быть целесообразным отключение данной опции.
verbose
Уровень подробности вывода информации в системный лог (допустимые значения лежат в диапазоне от 0 до 10). Некоторые значения:

Caution: Высокодинамичный отладочный вывод из потоков, осуществляющих композицию, может приводить к временной потере вертикальной синхронизации с изображением на экране. Таким образом, источником артефактов композиции может являться опция verbose со значениями 3 и выше.

thread-priority
Приоритет потоков, занимающихся композицией. На каждый активный дисплей создается отдельный подобный поток. По умолчанию устанавливается приоритет 40.

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

x-offset
y-offset
Смещение дисплея в матрице (см. секцию wfc matrix далее). Поддерживаемые значения:

Секция wfc matrix:

Секция предоставляет возможность объединения дисплеев в единый виртуальный дисплей (виртуальный рабочий стол). Все окна оконной подсистемы Screen должны принадлежать конкретному дисплею (виртуальному или реальному).


Caution: Посредством перетаскивания перемещение окон между дисплеями возможно только при объединении их в единый виртуальный рабочий стол.

По умолчанию все дисплеи являются независимыми.


Секция позволяет определить следующие параметры:

map-displays
Индексы дисплеев, объединяемые в единый виртуальный дисплей (рабочий стол).

Секция input:

Секция input конфигурационного файла определяет параметры групп ввода для каждого поддерживаемого устройства. Секция содержит следующие подсекции:

Подсекция cursors определяет наборы курсоров для групп ввода. Эта подсекция содержит следующие параметры:

config_path
Набор курсоров, применяемый для всех групп ввода по умолчанию. Поддерживаемые значения:
group<num>
Переопределение набора курсоров для группы ввода с индексом num. Данный параметр может определяться для каждой группы ввода и принимает в качестве значения тольно путь к файлу формата cursors.kfc.

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

deny-displays
Перечисление дисплеев, для которых запрещены события группы ввода. Количество дисплеев может превышать один, в этом случае дисплеи перечисляются через запятую.

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

device
Адрес устройства ввода в системе, в которое devi-hid (или иной драйвер) в режиме ресурс-менеджера перенаправляет события ввода.
group
Группа ввода, к которой принадлежит данное устройство. Устройства могут объединяться в одну группу ввода, что позволяет реализовать гибкую политику разрешения или запрета обработки событий для конкретной группы.
display
Данная секция актуальна только для touchscreen-устройств. Она определяет, к какому дисплею относится touch-устройство. Нумерация дисплеев также начинается с единицы.

Caution: При работе с touchscreen-ами нужно обязательно привязать их к дисплею. В противном случае события тачскрина будут проигнорированы.

Классификация:

Графическая подсистема ЗОСРВ «Нейтрино»

Тематические ссылки:

devg-screen.so, devi-screen, screen-winmgr




Предыдущий раздел: Модули графической подсистемы