-
-
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
new package: angle-android #17418
new package: angle-android #17418
Conversation
7c6057d
to
3fe121b
Compare
3fe121b
to
238a0e1
Compare
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:$ ./startx.sh 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 |
Emmm... I wrongly symlinked some files. I'll fix it later. |
238a0e1
to
3b457a4
Compare
@licy183 I installed a new package and checked it, and it worked well. But there's a problem. When driving without the variable "MESA_GL_VERSION_OVERRIDE=4.0", glmark2 crashes on the way. [glmark2] And Blender 3D, kdenlive, GThumb also have symptoms that don't run. hsm@localhost:~$ blender hsm@localhost:~$ kdenlive hsm@localhost:~$ gthumb Both angle-android-gl and angle-android-vulkan have the same symptoms. The command is "GALLIUM_DRIVER=virpipe MESA_GL_VERSION_OVERRIDE=4.0". When using the same command on the virglender-android, kdenlive was not executed due to a crash Blender3d is not available, but it was executed GThumb ran fine. Is it the inherent limit of ANGLE? Or is it a bug? installed in Ubuntu Running the XFCE4 with ANGLE definitely makes the GUI usability feel smoother. But by current standards, the stability is What I was looking forward to from ANGLE was a higher OpenGL version |
I installed |
Emmm... |
This package is actually not running ANGLE above virgl, but running virgl over ANGLE (to solve some error of virglrenderer-android). So it will not have a higher OpenGL version... |
I can not find deb package. Where can I get it? |
@licy183 What issue is glmark2 getting an error on the way when there is no option for MESA_GL_VERSION_OVERRIDE=4.0? Below are the angle-android-vulkan results. Same symptoms. Instead, if you insert MESA_GL_VERSION_OVERRIDE=4.0, there are some symptoms that do not run like GThumb. Using the MESA_GL_VERSION_OVERRIDE= 4.0 option The xfce4 GUI is very smooth. :) hsm@localhost:~$ glmark2
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
=======================================================
glmark2 2021.02
=======================================================
OpenGL Information
GL_VENDOR: Mesa
GL_RENDERER: virgl (ANGLE (Qualcomm, Vulkan 1.3.128 (Adreno (TM) 740 (0x...)
GL_VERSION: 2.1 Mesa 23.2.0-devel (git-957009978e)
=======================================================
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=false: FPS: 158 FrameTime: 6.329 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=true: FPS: 154 FrameTime: 6.494 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=nearest: FPS: 166 FrameTime: 6.024 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=linear: FPS: 171 FrameTime: 5.848 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate. it is |
You could download it from the lastest workflow run. https://github.com/termux/termux-packages/actions/runs/5544262923 |
I don't know... Virglrenderer-android hasn't tested in any proot environment... |
Gread job, run as expected! The most improve is terrain FPS from 2 to 30! |
@licy183 Could it be a mesa issue installed in Ubuntu? The mesa provided by ubuntu 22.04 was low to 22 version, so I compiled the mesa myself and used it. (23.2.0 devel) |
Using virgl on Android's OpenGL is actually not stable, so I think it is normal that there are certain problems. The most stable way should be the CPU-based swrast driver... |
I'll test this and that additionally. First of all, xfce4 gui works smoother than virglender-android. |
It is pretty weird. I did not see it on the phone, but see it on PC. |
Ok. It is pretty fine. I have a device with
But with
After installing
After installing
After installing
|
@licy183 When attempting to accelerate a GPU with an existing virglrenderer-android Works great when trying with angle-android-gl! hsm@localhost:~$ glmark2
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
=======================================================
glmark2 2021.02
=======================================================
OpenGL Information
GL_VENDOR: Mesa/X.org
GL_RENDERER: virgl (ANGLE (ARM, Mali-G78, OpenGL ES 3.2 v1.r32p1-01bet2-...)
GL_VERSION: 4.3 (Compatibility Profile) Mesa 22.2.5-0ubuntu0.1~22.04.3
=======================================================
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=false: FPS: 178 FrameTime: 5.618 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=true: FPS: 190 FrameTime: 5.263 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=nearest: FPS: 199 FrameTime: 5.025 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=linear: FPS: 198 FrameTime: 5.051 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=mipmap: FPS: 196 FrameTime: 5.102 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=gouraud: FPS: 172 FrameTime: 5.814 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=blinn-phong-inf: FPS: 169 FrameTime: 5.917 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=phong: FPS: 161 FrameTime: 6.211 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=cel: FPS: 154 FrameTime: 6.494 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=high-poly: FPS: 109 FrameTime: 9.174 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=normals: FPS: 172 FrameTime: 5.814 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=height: FPS: 150 FrameTime: 6.667 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 121 FrameTime: 8.264 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 99 FrameTime: 10.101 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[pulsar] light=false:quads=5:texture=false: FPS: 121 FrameTime: 8.264 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 87 FrameTime: 11.494 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] effect=shadow:windows=4: FPS: 106 FrameTime: 9.434 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 83 FrameTime: 12.048 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 76 FrameTime: 13.158 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 84 FrameTime: 11.905 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[ideas] speed=duration: FPS: 67 FrameTime: 14.925 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[jellyfish] <default>: FPS: 100 FrameTime: 10.000 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[terrain] <default>: FPS: 32 FrameTime: 31.250 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shadow] <default>: FPS: 97 FrameTime: 10.309 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[refract] <default>: FPS: 59 FrameTime: 16.949 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 106 FrameTime: 9.434 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 107 FrameTime: 9.346 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 106 FrameTime: 9.434 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=low:fragment-steps=5: FPS: 106 FrameTime: 9.434 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=medium:fragment-steps=5: FPS: 107 FrameTime: 9.346 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 106 FrameTime: 9.434 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 107 FrameTime: 9.346 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 107 FrameTime: 9.346 ms
=======================================================
glmark2 Score: 122
=======================================================
hsm@localhost:~$ |
Thanks to all of you for testing. I'll merge this PR tomorrow morning (UTC+8) if there is no more review. |
@licy183 The result is very good. termux-x11 on Samsung DeX mode You did a great job! :) b $ EPOXY_USE_ANGLE=1 virgl_test_server_android &
$ XDG_RUNTIME_DIR=${TMPDIR} termux-x11 :0 -ac &
$ proot-distro login ubuntu --user user --shared-tmp --no-sysvipc
$ export DISPLAY=:0 GALLIUM_DRIVER=virpipe MESA_GL_VERSION_OVERRIDE=4.3COMPAT MESA_GLES_VERSION_OVERRIDE=3.2
$ dbus-launch --exit-with-session startxfce4 & hsm@localhost:~$ glmark2
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
=======================================================
glmark2 2021.02
=======================================================
OpenGL Information
GL_VENDOR: Mesa
GL_RENDERER: virgl (ANGLE (ARM, Mali-G78, OpenGL ES 3.2 v1.r32p1-01bet2-...)
GL_VERSION: 4.3 (Compatibility Profile) Mesa 23.2.0-devel (git-957009978e)
=======================================================
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=false: FPS: 185 FrameTime: 5.405 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=true: FPS: 191 FrameTime: 5.236 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=nearest: FPS: 204 FrameTime: 4.902 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=linear: FPS: 203 FrameTime: 4.926 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=mipmap: FPS: 204 FrameTime: 4.902 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=gouraud: FPS: 182 FrameTime: 5.495 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=blinn-phong-inf: FPS: 181 FrameTime: 5.525 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=phong: FPS: 177 FrameTime: 5.650 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shading] shading=cel: FPS: 175 FrameTime: 5.714 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=high-poly: FPS: 120 FrameTime: 8.333 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=normals: FPS: 206 FrameTime: 4.854 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[bump] bump-render=height: FPS: 206 FrameTime: 4.854 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 177 FrameTime: 5.650 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 119 FrameTime: 8.403 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[pulsar] light=false:quads=5:texture=false: FPS: 205 FrameTime: 4.878 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 121 FrameTime: 8.264 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[desktop] effect=shadow:windows=4: FPS: 173 FrameTime: 5.780 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 136 FrameTime: 7.353 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 125 FrameTime: 8.000 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 142 FrameTime: 7.042 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[ideas] speed=duration: FPS: 111 FrameTime: 9.009 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[jellyfish] <default>: FPS: 164 FrameTime: 6.098 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[terrain] <default>: FPS: 36 FrameTime: 27.778 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[shadow] <default>: FPS: 172 FrameTime: 5.814 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[refract] <default>: FPS: 60 FrameTime: 16.667 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 196 FrameTime: 5.102 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 198 FrameTime: 5.051 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 198 FrameTime: 5.051 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=low:fragment-steps=5: FPS: 200 FrameTime: 5.000 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[function] fragment-complexity=medium:fragment-steps=5: FPS: 193 FrameTime: 5.181 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 198 FrameTime: 5.051 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 201 FrameTime: 4.975 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 199 FrameTime: 5.025 ms
=======================================================
glmark2 Score: 168
======================================================= |
Maybe we can make virglrenderer choose between direct-gl, angle-gl, angle-vulkan and angle-vulkan-null with commandline parameters? I think it will be better than installing needed angle version and using environment variables. |
Only virglrenderer-android is using this. Don't think it's fine to have angle-android* as name and then keep some virglrenderer-android files in it. |
Yeah, I think it is better to use |
3b457a4
to
6d11c29
Compare
I can make some code which can dynamically link to the needed libEGL/GLES so epoxy dependency can be dropped. Should I write it? |
Of course. But I'd like to merge this PR first. We can open a new issue or discussion to talk about what |
I'll merge this PR tomorrow morning (UTC+8) if there is no more review. |
Nitpick You can call one |
6d11c29
to
696df16
Compare
Hmm? vulkan and vulkan-null don't work for me. I have an Adreno 506 so probably why. |
Seems that your vulkan driver lacks some support... |
For me, Am getting this error, and some stack corruption messages on any app that I run with virpipe, am new to everything, could it be possible for you to link any tuitorial? |
Running virgl straightly over Android's GL may cause error due to the lack of extensions and differences between Android's GLs. ANGLE can translate OpenGL operations to other OpenGL or vulkan, so it may solve some running issues for virglrenderer-android.
Tested on
Adreno 660
andMali G610
.Related issue: #16763, #17406