Anbox Cloud 1.18.0 has been released

Introduction

The Anbox Cloud team is pleased to announce the release of Anbox Cloud 1.18.0.

Please see component versions for a list of updated components.

New features & improvements

Streaming improvements

  • The Streaming SDK now reports well defined error codes.
  • When the agent restarts, the container state is synchronised to the session state. This avoids the containers being stopped and sessions still being active after a reboot.
  • Server side support for Forward Error Correction (FEC) is enabled by default and the corresponding controller is better optimised for networks with higher packet loss. FEC is an error recovery mechanism that allows WebRTC to recover lost RTP packets by using error correction codes.
  • Client side freeze time in case of high packet loss is reduced to ~200 milliseconds from up to 3 seconds to recover quicker from these situations and allow smoother playback.

Dashboard improvements

  • The new Edit button allows editing the node configuration.
  • The sessions web page has pagination.
  • Streaming on mobile matches the device resolution.
  • Quick actions such as Start, Stop, and Join are available for the containers list view.
  • Editing of manifest.yaml upon creating an application is possible using the dashboard.
  • The general layout of the web pages and forms has been enhanced to improve user experience and accessibility.

Anbox Management Service (AMS)

  • The AMS node list output has a `master` column that is not user-relevant and is removed.
  • The unscheduable configuration item for a node is corrected to unschedulable. The existing configurations using unscheduable are still supported to maintain backward compatibility but the configuration item unscheduable is deprecated as of the 1.18 release.
  • In addition to creating applications or addons from a folder or a tarball file, you can create applications or addons using a file of zip format. This helps in optimising the performance of AMS.See How to create an application and Addons.
  • Container devices and resources are dynamically allocated/deallocated when starting/stopping a container for effective resource management by AMS.

Other

  • Investigations on performance improvements to our OpenGL translation layer revealed that on the decoding side, some workloads were spending between 23% and 30% of their total cycles allocating memory. It has now been reduced to account for only around 2.5% of their total cycle count. This could lead to lower power consumption, thereby lower costs and higher density. Such optimisation efforts are a work in progress and we will further tune them in the future releases.
  • The Android development settings (which include an ADB connection) are enabled by default. Some applications require these settings to be disabled, which you can do with the disable_development_settings feature flag. Once set, this feature flag will be considered by all newly launched containers.
  • The host ICE candidate IP address is no longer shared with the remote peer.
  • The Mesa driver is upgraded to the latest 23.0.3.
  • The feature flag android.allow_custom_android_id is introduced to enable the Android container to use a custom Android ID. Add this feature flag upon application creation to identify users by their corresponding android_id. See AMS configuration.
  • You can now start a stopped container that is in an error state.
  • Since the NVIDIA package is being held from upgrading when performing apt upgrade, this leads to the drivers missing the security patch. A Juju action is implemented to simplify this manual upgrade and perform the NVIDIA drivers upgrade on demand. See How to Upgrade Anbox Cloud.
  • Android security updates for May 2023 (see Android Security Bulletin - May 2023 for more information).
  • The Android WebView has been updated to 113.0.5672.62.

Bug fixes

The following issues were fixed as part of the Anbox Cloud 1.18 release:

  • LP #2009811 An agent that is highly available and deployed behind a load balancer is incorrectly addressed by the gateway because the gateway was addressing the agent for supervisor message by the agent id rather than the session id.
  • LP #2009811 Streaming the Anbox application fails because of an unreliable websocket connection.
  • LP #2015712 Anbox Application Registry (AAR) does not log authorisation errors
  • LP #2016044 Initialising the Anbox Cloud appliance involves renaming the /tmp directory when the source and the location are not on the same device and this leads to a failure in the initialisation of the Anbox Cloud Appliance.
  • LP #2012989 AMS does not reflect the updated instance details after resizing the LXD node.
  • Fix incorrect vsync timestamps in Anbox hardware composer.
  • The user action buttons were not visible without scrolling when using the web dashboard on mobile.
  • On the Containers page of the web dashboard, the application name was not displayed for containers launched from a raw image.
  • Vendor image browser activity identifies itself as Android WebView. This behaviour is not allowed by several web services.

Known issues

The following issues are known to occur with the 1.18.0 version of Anbox Cloud and are being investigated and planned to be fixed in a future release:

  • When streaming an application that changes the configuration during the runtime, if the watchdog attribute is enabled, it may be triggered because the application is relaunched to adapt to the changes to the configuration. You can work around this problem by disabling the watchdog attribute.
  • In the session view of the Anbox Cloud web dashboard, the session ID may appear truncated.
  • When using the Anbox Cloud web dashboard, occasionally, the navigation bar of the Android system may not appear. You can work around this by changing the aspect ratio of the browser window.

Upgrade instructions

See Upgrade Anbox Cloud or Upgrade the Anbox Cloud Appliance for instructions on how to update your Anbox Cloud deployment to the 1.18 release.

3 Likes