-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Package]: Feature suggestions and package requests (Google ANGLE + virgl) #17406
Comments
IIRC using ANGLE doesn't provide much better performance. I'll do some testing locally and provide performance feedback on my device. |
Yes, I don't think the performance will improve either. However, it is compatible with higher OpenGL versions Can you tell me how compatible it is with the performance? |
There are two ways to use ANGLE with virgl. One is I've done some tests on the former, but is shows I'll do some tests for the latter one this afternoon (GMT+8). |
Thank you for the test :) My questions are as follows.
It's a shame that the former test still shows OpenGL2.1. (T_T) I wonder what the latter test will be like. Do you think ANGLE can replace virglender-android? And when GALLIUM_DRIVER=virpipe is applied in the proot-distro ubuntu I wonder if ANGLE is the same. <p.s> |
can bring back #13809 if needed |
Are you making any progress regarding additional tests? |
I have not yet succeeded in running ANGLE over virglrenderer-android with glmark2... I'll share results here once I finish it. |
Results for TL;DR
Android's GL
ANGLE over Android's GL
ANGLE over Android's Vulkan
ANGLE over Android's Vulkan (Null Display)
|
x
Thank you for posting test results! :) ANGLE over Android's GL is Is the GL version still OpenGL2.1? When converting OpenGL ES -> OpenGL to ANGLE I'm aware of it being converted to Oh! The angle-android series package that you built Delete the virglender-android and install the angle-android*.deb $ virgl_test_server_android & Would the above process be correct? |
There is no need to delete virglrenderer-android package. I tested it with tigervnc.
|
Thank you! If you add the "MESA_GL_VERSION_OVERRIDE=" variable For example, "MESA_GL_VERSION_OVERRIDE=3.3"? |
I think it will be better to make angle available to glvnd. In this case it will be possible to override virglrenderer's libGLESv2 with environment variable ( |
You should know that libepoxy has a small overhead. Avoiding it can let us increase framerate for 1/2 or 1/3 frames per sec, maybe more. Which will give us 2-3 points in glmark2. |
@licy183 ? |
hsm@localhost:
I need your help. Unpacking angle-android (2.1.21474-75e64719-0) ... After installing the four deb packages And one by one $ EPOXY_USE_ANGLE=1 virgl_test_server_android & hsm@localhost: It is not working because of the above error. The script on "startx.sh" is "export DISPLAY=:0 GALLIUM_DRIVER=virpipe It is entered as . For traditional virglender-android How can we solve the problem? T_T |
#17418 just provides a wrapper of Android's GL, and it is not possible to use glvnd anyway because it doesn't support X11 and wayland, but ANativeWindow. I'm trying to let ANGLE work over virgl, but I haven't succeeded yet.
Actually virglrenderer depends on libepoxy from the start. We could fork it and remove libepoxy dependencies, but there will be much work for us.
Yeah, I'll look into it if I get more free time, but I'm not sure whether I'm able to do it... |
I know it. We can make some libepoxy emulation to increase performance (a bit). In this case we will be able to use ANGLE with LD_PRELOAD trick. Virglrenderer depends on |
Ok, I tried to make this optimization and can say that it is pretty much useless. I checked both patched and unpatched virgl_vtest_server on PC and got 208 (patched) and 206 (not patched) points in glmark2. |
I haven't made ANGLE work properly as an OpenGL driver, maybe it isn't designed to be used in this way... |
As far as I know it is GLES1/2/3 only. |
The goal of this issue is using ANGLE to wrap OpenGL drivers from Mesa in order to provide higher versions of OpenGL. However, I've recently found this to be quite challenging. Termux has switched to using glvnd to provide OpenGL drivers, and ANGLE hasn't been compatible with glvnd yet. Meanwhile, Termux has enabled SOVERSION name suffix for libraries related to OpenGL drivers, whereas ANGLE lacks it. Before testing, I created symlinks from In summary, using ANGLE to provide OpenGL drivers is an experimental feature. I would be grateful if anyone interested in this could offer any help. |
Actually I think I can try to write some kind of GLVND layer for ANGLE. I do not think it will be very complicated. |
The main problem of ANGLE is that it does not support X11 WSI so it may be challenging. |
Why is it worth to add this package?
I am using GPU acceleration via virglender-android after installing proot-distro ubuntu on the
Galaxy S23 Ultra and Galaxy Tab S8+ 5G.
but
It seems that the performance is not coming out satisfactorily due to
more overhead than expected.
Even for Adreno 730/740, glxgears and glmark2 frames are coming out
less than Adreno650 based on GALLIUM_DRIVER=virpipe.
However, the webgl demo through Firefox has better performance than
the Adreno 650 and seems to be a compatible issue for the Adreno 700 series...
The biggest problem is
There are some programs that cannot be used normally when using GALLIUM_DRIVER=virpipe.
For example, Blender 3D
There are symptoms where all text in the UI is not displayed and the program is frozen when selecting an object
As for Kdenlive
There are symptoms that are not being implemented at all.
Both programs seem to recommend a minimum of OpenGL3.3,
but GPU acceleration through virglender-android seems to be limited to OpenGL2.1.
Like UTM
Use Google ANGLE as a back renderer for Termux
If you convert the OpenGL ES of the Android host GPU to OpenGL and
use virgl to accelerate the GPU in the proot-distro
I don't think there will be much improvement in performance in this case
but
It will be more compatible with higher GL versions,
and Vulkan will also be able to accelerate hardware.
I'm curious about opinion on this.
Or
than virglender-android in a proot-distro environment
I want to know if there is a better GPU acceleration solution. :)
Home page URL
https://github.com/google/angle
Source code URL
https://github.com/google/angle
Packaging policy acknowledgement
Additional information
No response
The text was updated successfully, but these errors were encountered: