remote-android / redroid-doc

redroid (Remote-Android) is a multi-arch, GPU enabled, Android in Cloud solution. Track issues / docs here
4.14k stars 297 forks source link

Is it possible to downgrade the OpenGL ES 3.1 and 3.2 back to 3.0 on redroid 12-15? How to build? #748

Open titusbiao opened 1 week ago

titusbiao commented 1 week ago

Hello,

I've got the same issue as #279 : When the Tiktok app is opened for the first time, the playback is normal, but the subsequent playback will crash. As @zhouziyang says, it might be the compatibility issue with GLES driver, and the swiftshader/angle CPU rendering.

I have done some other tests (using the official redroid docker images), and found that on Redroid 11, there is no problem. However, on Redroid 12-15, the problem occurs. So I search the display information differences between Redroid 11 and 12+, and find the following: 11-13

Also, according to the official documents of angle or github mirror here, we may see that OpenGL ES 3.0 has the fully support via backing renderers, while 3.1 or 3.2 NOT!!! angel

So, I am thinking that:

  1. Can we downgrade the OpenGL ES 3.1 and 3.2, back to 3.0 on Redroid 12+? Based on the official Redroid 12+ docker images.
  2. Or how to build the Redroid 12+ images with OpenGL ES 3.0? Which steps of building should be modified?

Many thanks!

zhouziyang commented 1 week ago

How about start redroid 12+ via docker run ... redroid/redroid-xxx ro.hardware.vulkan= (try disable vulkan)?

angle (translate gles to vulkan here) is used since redroid 12, and gles 3.2 should be supported (just check the image you attached).

You can downgrade swiftshader (external/swiftshader) and disable angle; But it's not recommended since swiftshader is deprecated now.

titusbiao commented 1 week ago

How about start redroid 12+ via docker run ... redroid/redroid-xxx ro.hardware.vulkan= (try disable vulkan)?

angle (translate gles to vulkan here) is used since redroid 12, and gles 3.2 should be supported (just check the image you attached).

You can downgrade swiftshader (external/swiftshader) and disable angle; But it's not recommended since swiftshader is deprecated now.

Unfortunately, neither ro.hardware.vulkan= nor ro.hardward.vulkan=amd when appending to docker run cannot disable vulkan!!

So, could you @zhouziyang please instruct how to disable angle or downgrade swiftshader?

Many thanx!

zhouziyang commented 6 days ago

My fault, you cannot disable vulkan if only angle based software rendering available. Try downgrade swiftshader? Or update upstream angle?