DeviceInfo#

DeviceInfo allows to set device specific configuration, which can be accessed in an uniform way using libdeviceinfo.

Device specific overrides#

Configuration files per device are located at /etc/deviceinfo/devices/[device].yaml. It will try to autodetect the correct configuration to load based on model of the device, using android props for halium/android devices and dtb for native linux devices.

Nota

This file needs to be all lowercase, as any autodetected device name will be converted to lowercase.

For example, the file for the Nexus 7 tablet (flo) would be located at /etc/deviceinfo/devices/flo.yaml and needs to start with the device’s name:

$ cat /etc/deviceinfo/devices/flo.yaml
flo:
  DeviceType: tablet
  GridUnit: 18
  WebkitDpr: 2
  PrimaryOrientation: Landscape
  ...

In case you can not add a new file to the rootfs, you can bind-mount /etc/deviceinfo/devices/halium.yaml. For a reference, see the configuration bringup for bonito/sargo.

If no device specific configuration exists or a key is not specified for the device config, DeviceInfo will fallback to /etc/deviceinfo/default.yaml. Keep your configuration simple and try to not duplicate any entries, which are already defined in default.yaml.

Any key can be added without needing to modify deviceinfo to use it. This allows for a lot of flexibility, however keys should be properly documented in order to not duplicate keys.

Built-in config keys#

Key

Description

Value(s)

Name

Device name / codename

Any string

PrettyName

Pretty name of the device

Any string

DeviceType

Sets device type

desktop, tablet, phone

GridUnit

Sets scale units

Any integer

SupportedOrientations

Orientations supported by the device

Portrait, InvertedPortrait, Landscape, InvertedLandscape

PrimaryOrientation

Primary orientation of the device

Portrait, InvertedPortrait, Landscape, InvertedLandscape

PortraitOrientation

Orientation of the device when in portrait mode

Portrait, InvertedPortrait, Landscape, InvertedLandscape

InvertedPortraitOrientation

Orientation of the device when in inverted portrait mode

Portrait, InvertedPortrait, Landscape, InvertedLandscape

LandscapeOrientation

Orientation of the device when in landscape mode

Portrait, InvertedPortrait, Landscape, InvertedLandscape

InvertedLandscapeOrientation

Orientation of the device when in inverted landscape mode

Portrait, InvertedPortrait, Landscape, InvertedLandscape

Other keys are documented in the component specific subpages.