Mir

Огляд усіх ключів Mir:

<devicename>:
  MirAndroidPlatformClientEglFlush: <comma-separated-list/"all">
  MirAndroidPlatformClientFenceSync: <comma-separated-list/"all">
  MirAndroidPlatformServerBackpressure: <boolean>
  MirAndroidPlatformServerClearFbFence: <boolean>
  MirAndroidPlatformServerEglSync: <boolean>
  MirAndroidPlatformServerPartialUpdates: <boolean>

mir-platform-android

Ключ

Опис

Параметр(и)

Стандартне значення

MirAndroidPlatformClientEglFlush

Див. нижче

Список через кому (або спеціальне значення «all»)

Порожнє

MirAndroidPlatformClientFenceSync

Див. нижче

Список через кому (або спеціальне значення «all»)

Порожнє

MirAndroidPlatformServerBackpressure

Див. нижче

Булеве

False

MirAndroidPlatformServerClearFbFence

Див. нижче

Булеве

False

MirAndroidPlatformServerEglSync

Див. нижче

Булеве

аргумент з Launcher (default)

MirAndroidPlatformServerPartialUpdates

Див. нижче

Булеве

False

MirAndroidPlatformClientEglFlush

Якщо драйвер не дотримується специфікації, примусово очищувати буфер команд GL на eglSwapBuffers.

MirAndroidPlatformClientFenceSync

Класична обмежена (fence-only) синхронізація без очищення буфера команд GL.

MirAndroidPlatformServerBackpressure

Дозволяє пропускати чи не пропускати перемальовування після пропущеного кадру, подібно до SurfaceFlinger.

MirAndroidPlatformServerClearFbFence

Зміни буфера кадрів продовжуються лише після успішного очікування на обмеження (fence).

MirAndroidPlatformServerEglSync

Дозволити або уникнути синхронізації за допомогою примітивів EGL fencing під час малювання екрана.

Замінює наявний аргумент запускача (launcher).

MirAndroidPlatformServerPartialUpdates

Дозволити часткове перемальовування апаратно призначених (HWC-assigned) серверних буферів.

Приклади

Використання у пристрої sample:

  • Активація очищення буфера в EGL для кожного клієнтського виключення у lomiri та unity8
    • Зверніть увагу, що для протилежного значення можна використовувати !, перетворивши таким чином список з дозволеного на заборонене (allow -> deny).

  • Деактивація EGL-синхронізації для сервера

  • Активація для сервера часткових оновлень

Файл з налаштуваннями:

$ cat /etc/deviceinfo/devices/sample.yaml
sample:
  MirAndroidPlatformClientEglFlush:
    - "!/usr/bin/unity8,!/usr/bin/lomiri,all"
  MirAndroidPlatformServerEglSync:
    - false
  MirAndroidPlatformServerPartialUpdates:
    - true