rust-mobile / rust-android-examples

Various standalone Rust Android examples
112 stars 21 forks source link

agdk-egui: Failed to associate new Window with Painter: RequestDeviceError #10

Open jessbowers opened 1 year ago

jessbowers commented 1 year ago

I'm trying to build & run the agdk-egui example on an emulator: Pixel XL API 33 / Android 13 with x86_64. NDK 25.2.9519653

Building and installing works:

cargo ndk -t x86_64 -o app/src/main/jniLibs/ build
./gradlew build
./gradlew installDebug

However the window is (mostly) black and in the logs I see that the create_window is failing:

8856-8883  wgpu_hal::gles::adapter co.realfit.agdkegui                  I  SL version: OpenGL ES GLSL ES 3.00
8856-8883  wgpu_core::instance     co.realfit.agdkegui                  I  Adapter Gl AdapterInfo { name: "Android Emulator OpenGL ES Translator (Intel(R) Iris(TM) Plus Graphics OpenGL Engine)", vendor: 32902, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Gl }
8856-8883  wgpu::backend::direct   co.realfit.agdkegui                  E  Error in Adapter::request_device: Limit 'max_compute_workgroups_per_dimension' value 65535 is better than allowed 0
8856-8883  main                    co.realfit.agdkegui                  E  Failed to associate new Window with Painter: RequestDeviceError(RequestDeviceError)
8856-8883  main                    co.realfit.agdkegui                  D  RedrawRequested, with no window set
8856-8883  main                    co.realfit.agdkegui                  D  Window Event: Resized(PhysicalSize { width: 1440, height: 2364 })
8856-8883  egui_wgpu::winit        co.realfit.agdkegui                  W  Ignoring window resize notification with no surface created via Painter::set_window()
8856-8883  main                    co.realfit.agdkegui                  D  RedrawRequested, with no window set
8856-8880  Gralloc4                co.realfit.agdkegui                  I  mapper 4.x is not supported
8856-8880  HostConnection          co.realfit.agdkegui                  D  createUnique: call
8856-8880  HostConnection          co.realfit.agdkegui                  D  HostConnection::get() New Host Connection established 0x798b567d1590, tid 8880
8856-8880  goldfish-address-space  co.realfit.agdkegui                  D  allocate: Ask for block of size 0x100
8856-8880  goldfish-address-space  co.realfit.agdkegui                  D  allocate: ioctl allocate returned offset 0x3e3ffe000 size 0x2000
8856-8880  Gralloc4                co.realfit.agdkegui                  W  allocator 4.x is not supported
8856-8880  HostConnection          co.realfit.agdkegui                  D  HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_YUV_Cache ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_sync_buffer_data ANDROID_EMU_read_color_buffer_dma ANDROID_EMU_hwc_multi_configs GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 

Is there a way to roll something back (emulator perhaps?) and get this to work?