Skip to content
This repository has been archived by the owner on Feb 13, 2024. It is now read-only.

How to enable opengl es 3.x in Anbox? #899

Closed
davidfch opened this issue Sep 8, 2018 · 22 comments
Closed

How to enable opengl es 3.x in Anbox? #899

davidfch opened this issue Sep 8, 2018 · 22 comments

Comments

@davidfch
Copy link

davidfch commented Sep 8, 2018

  1. Please check that no similar bug is already reported. Have a look on the list of open bugs at https://github.com/anbox/anbox/issues

  2. Make sure you are running the latest version of Anbox before reporting an issue. Update snap to latest: snap refresh --devmode --edge anbox

  3. Make sure you have debug logs enabled:
    sudo snap set anbox debug.enable=true

  4. Reproduce the error while debug logs enabled.

  5. Run the anbox logs collection utility and attach the tar file.
    sudo /snap/bin/anbox.collect-bug-info

  6. ** Please paste the result of anbox system-info below:**

version: 4
snap-revision: 147
cpu:
  arch:  x86
  brand: Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
  features: 
    - aes
    - sse4_1
    - sse4_2
    - avx
    - avx2
os:
  name: Linux Mint
  version: 19 (Tara)
  snap-based: true
kernel:
  version: Linux version 4.15.0-20-generic (buildd@lgw01-amd64-039) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018
  binder: true
  ashmem: true
graphics:
  egl:
    vendor: NVIDIA
    version: 1.4
    extensions:
      - EGL_EXT_buffer_age
      - EGL_EXT_create_context_robustness
      - EGL_EXT_output_base
      - EGL_EXT_stream_acquire_mode
      - EGL_IMG_context_priority
      - EGL_KHR_config_attribs
      - EGL_KHR_create_context_no_error
      - EGL_KHR_context_flush_control
      - EGL_KHR_create_context
      - EGL_KHR_display_reference
      - EGL_KHR_fence_sync
      - EGL_KHR_get_all_proc_addresses
      - EGL_KHR_partial_update
      - EGL_KHR_swap_buffers_with_damage
      - EGL_KHR_gl_colorspace
      - EGL_KHR_gl_renderbuffer_image
      - EGL_KHR_gl_texture_2D_image
      - EGL_KHR_gl_texture_3D_image
      - EGL_KHR_gl_texture_cubemap_image
      - EGL_KHR_image
      - EGL_KHR_image_base
      - EGL_KHR_image_pixmap
      - EGL_KHR_reusable_sync
      - EGL_KHR_stream
      - EGL_KHR_stream_consumer_gltexture
      - EGL_KHR_stream_cross_process_fd
      - EGL_KHR_stream_fifo
      - EGL_KHR_stream_producer_eglsurface
      - EGL_KHR_surfaceless_context
      - EGL_NV_nvrm_fence_sync
      - EGL_NV_post_sub_buffer
      - EGL_NV_stream_metadata
      - EGL_NV_stream_reset
      - EGL_NV_stream_sync
      - EGL_NV_stream_consumer_gltexture_yuv
      - EGL_NV_stream_attrib
      - EGL_NV_sync
      - EGL_NV_system_time
      - EGL_NV_output_drm_flip_event
  gles2:
    vendor: NVIDIA Corporation
    vendor: OpenGL ES 3.2 NVIDIA 390.48
    extensions:
      - GL_EXT_base_instance
      - GL_EXT_blend_func_extended
      - GL_EXT_blend_minmax
      - GL_EXT_buffer_storage
      - GL_EXT_clear_texture
      - GL_EXT_clip_control
      - GL_EXT_clip_cull_distance
      - GL_EXT_color_buffer_float
      - GL_EXT_color_buffer_half_float
      - GL_EXT_conservative_depth
      - GL_EXT_copy_image
      - GL_EXT_debug_label
      - GL_EXT_discard_framebuffer
      - GL_EXT_disjoint_timer_query
      - GL_EXT_draw_buffers_indexed
      - GL_EXT_draw_elements_base_vertex
      - GL_EXT_float_blend
      - GL_EXT_frag_depth
      - GL_EXT_geometry_point_size
      - GL_EXT_geometry_shader
      - GL_EXT_gpu_shader5
      - GL_EXT_map_buffer_range
      - GL_EXT_multi_draw_indirect
      - GL_EXT_multisample_compatibility
      - GL_EXT_multisampled_render_to_texture
      - GL_EXT_multisampled_render_to_texture2
      - GL_EXT_occlusion_query_boolean
      - GL_EXT_polygon_offset_clamp
      - GL_EXT_primitive_bounding_box
      - GL_EXT_render_snorm
      - GL_EXT_robustness
      - GL_EXT_separate_shader_objects
      - GL_EXT_shader_group_vote
      - GL_EXT_shader_implicit_conversions
      - GL_EXT_shader_integer_mix
      - GL_EXT_shader_io_blocks
      - GL_EXT_shader_non_constant_global_initializers
      - GL_EXT_shader_texture_lod
      - GL_EXT_shadow_samplers
      - GL_EXT_sparse_texture
      - GL_EXT_sRGB
      - GL_EXT_sRGB_write_control
      - GL_EXT_tessellation_point_size
      - GL_EXT_tessellation_shader
      - GL_EXT_texture_border_clamp
      - GL_EXT_texture_buffer
      - GL_EXT_texture_compression_bptc
      - GL_EXT_texture_compression_dxt1
      - GL_EXT_texture_compression_rgtc
      - GL_EXT_texture_compression_s3tc
      - GL_EXT_texture_cube_map_array
      - GL_EXT_texture_filter_anisotropic
      - GL_EXT_texture_format_BGRA8888
      - GL_EXT_texture_mirror_clamp_to_edge
      - GL_EXT_texture_norm16
      - GL_EXT_texture_rg
      - GL_EXT_texture_sRGB_R8
      - GL_EXT_texture_sRGB_decode
      - GL_EXT_texture_storage
      - GL_EXT_texture_view
      - GL_EXT_draw_transform_feedback
      - GL_EXT_unpack_subimage
      - GL_EXT_window_rectangles
      - GL_KHR_context_flush_control
      - GL_KHR_debug
      - GL_EXT_memory_object
      - GL_EXT_memory_object_fd
      - GL_KHR_parallel_shader_compile
      - GL_KHR_no_error
      - GL_KHR_robust_buffer_access_behavior
      - GL_KHR_robustness
      - GL_EXT_semaphore
      - GL_EXT_semaphore_fd
      - GL_NV_bgr
      - GL_NV_bindless_texture
      - GL_NV_blend_equation_advanced
      - GL_NV_blend_equation_advanced_coherent
      - GL_NV_blend_minmax_factor
      - GL_NV_conditional_render
      - GL_NV_copy_buffer
      - GL_NV_copy_image
      - GL_NV_draw_buffers
      - GL_NV_draw_instanced
      - GL_NV_draw_texture
      - GL_NV_draw_vulkan_image
      - GL_NV_EGL_stream_consumer_external
      - GL_NV_explicit_attrib_location
      - GL_NV_fbo_color_attachments
      - GL_NV_framebuffer_blit
      - GL_NV_framebuffer_multisample
      - GL_NV_generate_mipmap_sRGB
      - GL_NV_instanced_arrays
      - GL_NV_internalformat_sample_query
      - GL_NV_gpu_shader5
      - GL_NV_image_formats
      - GL_NV_occlusion_query_samples
      - GL_NV_non_square_matrices
      - GL_NV_pack_subimage
      - GL_NV_packed_float
      - GL_NV_packed_float_linear
      - GL_NV_path_rendering
      - GL_NV_pixel_buffer_object
      - GL_NV_polygon_mode
      - GL_NV_read_buffer
      - GL_NV_read_depth
      - GL_NV_read_depth_stencil
      - GL_NV_read_stencil
      - GL_NV_shader_noperspective_interpolation
      - GL_NV_shadow_samplers_array
      - GL_NV_shadow_samplers_cube
      - GL_NV_sRGB_formats
      - GL_NV_texture_array
      - GL_NV_texture_barrier
      - GL_NV_texture_border_clamp
      - GL_NV_texture_compression_latc
      - GL_NV_texture_compression_s3tc
      - GL_NV_texture_compression_s3tc_update
      - GL_NV_timer_query
      - GL_NV_viewport_array
      - GL_KHR_blend_equation_advanced
      - GL_KHR_blend_equation_advanced_coherent
      - GL_OES_compressed_ETC1_RGB8_texture
      - GL_EXT_compressed_ETC1_RGB8_sub_texture
      - GL_OES_depth24
      - GL_OES_depth32
      - GL_OES_depth_texture
      - GL_OES_depth_texture_cube_map
      - GL_OES_copy_image
      - GL_OES_draw_buffers_indexed
      - GL_OES_draw_elements_base_vertex
      - GL_OES_texture_border_clamp
      - GL_OES_tessellation_point_size
      - GL_OES_tessellation_shader
      - GL_OES_texture_buffer
      - GL_OES_geometry_point_size
      - GL_OES_geometry_shader
      - GL_OES_gpu_shader5
      - GL_OES_shader_io_blocks
      - GL_OES_texture_view
      - GL_OES_primitive_bounding_box
      - GL_OES_EGL_image
      - GL_OES_EGL_image_external
      - GL_OES_EGL_image_external_essl3
      - GL_OES_EGL_sync
      - GL_OES_element_index_uint
      - GL_OES_fbo_render_mipmap
      - GL_OES_get_program_binary
      - GL_OES_mapbuffer
      - GL_OES_packed_depth_stencil
      - GL_OES_rgb8_rgba8
      - GL_OES_sample_shading
      - GL_OES_sample_variables
      - GL_OES_shader_image_atomic
      - GL_OES_shader_multisample_interpolation
      - GL_OES_standard_derivatives
      - GL_OES_surfaceless_context
      - GL_OES_texture_cube_map_array
      - GL_OES_texture_npot
      - GL_OES_texture_float
      - GL_OES_texture_float_linear
      - GL_OES_texture_half_float
      - GL_OES_texture_half_float_linear
      - GL_OES_texture_stencil8
      - GL_OES_texture_storage_multisample_2d_array
      - GL_OES_vertex_array_object
      - GL_OES_vertex_half_float
      - GL_OES_viewport_array
      - GL_ANDROID_extension_pack_es31a

Please describe your problem:
I try to install game on anbox, but the games requires opengl es 3.x. On anbox user guide it say
"run Anbox with software rendering rather than with the EGL/GL driver provided by the host operating system"
my linux mint v19 have installed opengl es 3.2.
But when i check via CPU-Z app, Anbox system has only opengl 2.0 support

What were you expecting?:
is there any way to enable opengl es 3.x in Anbox?

Additional info:
My anbox was installed playstore, SuperSu and ARMsupport Libhoudini via squashfs.

@morphis
Copy link
Member

morphis commented Sep 8, 2018

There is no easy way to enable OpenGL ES 3.x. The GL driver stack we ship for Android and its counter part in Anbox currently only support OpenGL ES 2.x. However there is the plan to add support for OpenGL ES 3.x in the future.

@woachk
Copy link

woachk commented Sep 14, 2018

@morphis newer Android SDK releases support OpenGL ES 3.1 inside AVDs, so maybe put it as a long term goal with a migration to Android 9?

@stale
Copy link

stale bot commented Jan 12, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the decaying label Jan 12, 2019
@stale stale bot closed this as completed Jan 19, 2019
@abale
Copy link

abale commented Jan 27, 2020

Any hopes of ressurecting this? The recent announcement of anbox cloud begs the question of 3d acceleration in apps - looking at the opengl folders in the repo it seems there has not been any updates to this since 2017, is that correct?

@shiznix
Copy link

shiznix commented Mar 22, 2020

AFAICT games/apps that once worked in Anbox are now slowing dying as they move to using GLES3

@sjnewbury
Copy link

sjnewbury commented Apr 23, 2020

Good news: android-emugl is being updated with ES3 and Vulkan support! https://android.googlesource.com/platform/external/qemu/+log/emu-master-dev/android/android-emugl

Funnily enough, I was just reading the documentation to see if I could hack on it myself when I noticed the new code added over the last few weeks.

@Niek
Copy link

Niek commented Nov 23, 2020

FYI the aosp-emu-30-release branch has GLESv3 support it seems: https://github.com/aosp-mirror/platform_external_qemu/tree/aosp-emu-30-release/android/android-emugl

@6yntar05
Copy link

In my opinion, ES3 and Vulkan in anbox are a priority direction in the development of anbox. It's been a long time, no 3D related updates.

@FrostNovaHD
Copy link

Is this done already

@teppyboy
Copy link

Is this done already

probably no bc there arent much commit about this

@hmtheboy154
Copy link

So..... we still stuck on GLES2.0 ?

@teppyboy
Copy link

This project is kinda dead now, you should use WayDroid if you can (It's Anbox fork but better and open source)

@Fuseteam
Copy link

@teppyboy you're typing on the complete repo of anbox, it is very much open source ;)
waydroid is not a fork of anbox, it another approach, and it only works on wayland

@teppyboy
Copy link

teppyboy commented Oct 27, 2021 via email

@Fuseteam
Copy link

yes i know you can use weston and such on xorg but that will open everything in one window, it's not the same experience as anbox
yes they both run android in lxc, the difference is anbox uses a Linux HAL that communicates with android while waydroid uses an android hal to communicate with linux. they are approaching it from different angles.

you saying that is project is "kinda dead" is also disrespectful towards the contributes that are still improving anbox in their free time. we just had a merge this week. yes is not as actively developed as waydroid, but its also way more complex than waydroid
if you see this OpenGL ES 3 functionality in a fork and you think it's easy to implement then open a pull request :P

@teppyboy
Copy link

teppyboy commented Oct 27, 2021 via email

@Fuseteam
Copy link

yes PRs are being merged, and uh i mean you claim you've seen gles 3 support in anbox forks so uh what keeps you from just opening a pr from those repos to this repo?

@teppyboy
Copy link

teppyboy commented Oct 27, 2021 via email

@Fuseteam
Copy link

how do you know that they have GLES 3 support then? and couldn't you technically report them somewhere?

@teppyboy
Copy link

teppyboy commented Oct 27, 2021 via email

@Fuseteam
Copy link

eitherway if those are anbox forks they can't be legally proprietary, afaik anbox is gpl licensed hehehehe

1 similar comment
@Fuseteam
Copy link

eitherway if those are anbox forks they can't be legally proprietary, afaik anbox is gpl licensed hehehehe

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests