Anbox platforms

Anbox can make use of different platforms to customise its behaviour. Anbox Cloud currently supports 3 platforms. Which one to use depends on your needs.

Supported platforms

Name Behaviour
null A headless-GL platform. No rendering is performed. No audio input/output. Useful for functional tests. It’s used by default if no platform is specified when launching a container.
webrtc Full-featured WebRTC based streaming platform. Includes driver and integration for AMD and NVIDIA GPUs as well as LLVMpipe based software rendering if no GPU is detected. Support audio input/output.
swrast (DEPRECATED) Software Rasterization platform. A LLVMpipe based software rendering platform. Useful for visual tests. No audio input/output.

Using platforms

Instructing a container to use a platform is done through the --platform (or -p) flag when launching a container, e.g.

amc launch -p webrtc <application>

swrast platform

Display Settings Configuration

Warning: The swrast platform is deprecated and has been replaced with the webrtc platform starting with Anbox Cloud 1.13. You can still explicitly specify swrast as platform name, but internally, it is mapped to the webrtc platform. The webrtc platform provides backward compatibility with the display settings described below.

Anbox Cloud provides a way of inserting user data to Android container upon its launch which can configure the display settings for swrast platform.

By default when launching a container on the swrast platform without specifying the display settings through user data, the following display specification will be used:

Display specs Value
Width 1280
Height 720
FPS 60
Density 160

If you want to change the display settings of Android container, you need to provide a combination of a numeric formatting string as follows:

<Display width>,<Display height>,<FPS>,<Display density>

The first two fields which imply display width and display height respectively are required, however the latter two are optional.
And when launching a container, supply the display settings via user data:

amc launch --userdata="960,720,30,120" -p swrast <application>

Then the supplied display setting will be applied after the container gets started.

null platform

Display Settings Configuration

Display settings for the null can be configured in the same way as for the swrast platform.

Instead of supplying the display settings via userdata through the amc launch command they can be alternatively written before the start of the Anbox runtime (e.g. in a pre-start hook) to /var/lib/anbox/display_settings. The format remains the same as when supplied as userdata.

webrtc platform

The webrtc platform is used by Anbox to provide graphical output. It supports all GPUs supported by Anbox Cloud in addition to software rendering. It is used when a container is launched with --enable-graphics, or via the Anbox Stream Gateway.

Configuration

The webrtc platform can be configured through user data provided to the container in JSON format. AMS puts the configuration data at /var/lib/anbox/userdata.

Field name Type Default Description
display_width int 1280 Width of the display provided to Android.
display_height int 720 Height of the display provided to Android.
display_density int 240 Density of the display provided to Android.
fps int 60 Refresh rate of the display provided to Android.

For example, to configure the platform for a display height of 1080p and 60 FPS, set the user data for a container like this:

amc launch -p webrtc --userdata '{"display_width":1920, "display_height":1080, "fps": 60}'

Last updated 6 months ago.