Mir

Overview of all Mir keys:

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

mir-platform-android

Key

Description

Value(s)

Default value

MirAndroidPlatformClientEglFlush

See below

Comma-separated list (or special value „all“)

Empty

MirAndroidPlatformClientFenceSync

See below

Comma-separated list (or special value „all“)

Empty

MirAndroidPlatformServerBackpressure

See below

Boolean

False

MirAndroidPlatformServerClearFbFence

See below

Boolean

False

MirAndroidPlatformServerEglSync

See below

Boolean

Launcher argument (default)

MirAndroidPlatformServerPartialUpdates

See below

Boolean

False

MirAndroidPlatformClientEglFlush

Force GL command buffer flush on eglSwapBuffers, in case the driver doesn’t follow the spec.

MirAndroidPlatformClientFenceSync

Classic fence-only synchronization without GL command buffer flushing.

MirAndroidPlatformServerBackpressure

Allows redrawing to be skipped or not after a missed frame, similarly to SurfaceFlinger.

MirAndroidPlatformServerClearFbFence

Framebuffer changes only continue after the fence has been successfully waited on.

MirAndroidPlatformServerEglSync

Allow or avoid synchronization using EGL fencing primitives when drawing the screen.

Overrules existing launcher argument.

MirAndroidPlatformServerPartialUpdates

Allow partial redraws to HWC-assigned server-side buffers.

Examples

Device sample using:

  • Enabling egl flushing for every client except for lomiri and unity8
    • Note that you can use ! to invert conditions and turn the allow into a deny list.

  • Disabling egl sync for the server

  • Enabling partial updates for the server

Config file:

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