WebRTC stream is broken-ish with android15 image

It looks like the forced upgrade to android15 broke webRTC for me (android13 worked great - is it possible to still use that version?). Now, when I create an instance and try to connect to it, the screen is mostly black with some white elements appearing dark blue. I’m attaching a screenshot for reference. It seems as if I can still swipe on the screen and see these elements move so interactions seem to work, and at best the color mapping seems way broken. I’m running this on Chrome.

I’ve tried grabbing the latest sdk from https://raw.githubusercontent.com/canonical/anbox-streaming-sdk/refs/heads/main/js/anbox-stream-sdk.js - no change

I’ve tried with the H264, VP8, and AV1 codecs - all have the same behavior

Connecting to servers running the old android image work fine.

If I use adb to do a screen capture, the output looks correct.

My guess has to do with how the video is being encoded?

Did some more digging but couldn’t sort it out

Hi!

Are you using ARM 64 images with software video encoding? If you are, I think you are hitting Bug #2142017 “Inverted colours in stream for instances using aos...” : Bugs : Anbox Cloud

Ha! I just came across that bug and was going to mention it here. Yes, arm64 with software encoding. Is there a work-around? I don’t want to pay for a gpu if I dont have to.

Think it might be a colorspace issue perhaps (DCI-P3) - but the image is locked down and I don’t seem to be able to change it

adb shell dumpsys SurfaceFlinger | grep Dataspace
mDataspace=Default (0)

  • inputDataspace: (deprecated) sRGB sRGB Full range
  • outputDataspace: DCI-P3 sRGB Full range
  • inputDataspace: (deprecated) sRGB sRGB Full range
  • outputDataspace: (deprecated) sRGB sRGB Full range
  • inputDataspace: (deprecated) sRGB sRGB Full range
  • outputDataspace: (deprecated) sRGB sRGB Full range
  • inputDataspace: (deprecated) sRGB sRGB Full range
  • outputDataspace: DCI-P3 sRGB Full range
  • inputDataspace: Default
  • outputDataspace: (deprecated) sRGB sRGB Full range

We’re working on a fix for 1.29 images.

In the meantime, you can use 1.28.2 images, see Use a specific release

The image version for 1.28.2 is 1.28.2-20260115190519.git568cb98, e.g.:

amc image add a15 jammy:android15:arm64@1.28.2-20260115190519.git568cb98

Thanks! Is there an available list of all these images somplace? And is the android 13 image still available?

For the android 13 image, you can use jammy:android13:arm64@1.28.2-20260115190519.git568cb98

Android 13 is unsupported as of Anbox Cloud version 1.29.0, however (so the current release and upcoming releases won’t have Android 13), see https://documentation.ubuntu.com/anbox-cloud/reference/deprecation-notices/#android-12-android-13-and-aaos-13

You can check the list of images available at https://documentation.ubuntu.com/anbox-cloud/reference/component-versions/ (specifically the Anbox images section for each release).

I tested out this approach and I’m running into this error which implies it’s looking for the image locally?

$ sudo amc image add a13 ammy:android13:arm64@1.28.2-20260115190519.git568cb9
Error: stat ammy:android13:arm64@1.28.2-20260115190519.git568cb9: permission denied

That being said, I was able to peg anbox-cloud-appliance to 1.27 and specify the image for a13 and have that work – will those images always be available or is there a risk of them dissapearing?

Hi!

I think you made a typo in the image name, hence why it didn’t work:

ammy:android13:arm64@1.28.2-20260115190519.git568cb9

instead of:

jammy:android13:arm64@1.28.2-20260115190519.git568cb9

For the anbox-cloud-appliance and the images, we only support the latest version (1.29 at the time of writing), see https://documentation.ubuntu.com/anbox-cloud/reference/release-notes/release-notes/#release-and-support-policy

Is there a specific reason that you want to use Android 13?

That was a copy/paste error. Sorry. I found that the image is available if u select an older version of anbix cloud appliance. I’m curious if the images associated with the older app versions will still be available as time progresses

As to why I want to use the older version is because my application works fine with that configuration, and any changes require extensive testing to make sure nothing breaks, as it did with this latest upgrade. I don’t need any new android os functionality.

Thanks