"long" wait time before bevy window opens - EGL 'eglQueryDevicesEXT' code 0x3003: EGL_BAD_ALLOC
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## Bevy version
`bevy = { version = "0.11.2", features = ["dynamic_linking", "wayland"] }`
## Relevant system information
```
OS: Garuda Linux x86_64
Kernel: 6.5.3-zen1-1-zen
Shell: fish 3.6.1
Display (LG TV SSCR2): 3840x2160 @ 120Hz
WM: Hyprland (Wayland)
CPU: AMD Ryzen 9 7950X (32) @ 5.881 GHz
GPU 1: NVIDIA GeForce GTX 1080
GPU 2: NVIDIA GeForce RTX 4090
GPU 3: AMD Raphael
Memory: 40.15 GiB / 61.94 GiB (65%)
Disk (/): 44.93 GiB / 488.28 GiB (9%) - btrfs
Locale: en_GB.UTF-8
```
```
2023-09-16T17:42:20.740525Z INFO bevy_winit::system: Creating new window "App" (0v0)
2023-09-16T17:42:20.742267Z ERROR sctk_adwaita::config: XDG Settings Portal did not return response in time: timeout: 100ms, key: color-scheme
2023-09-16T17:42:29.309283Z ERROR wgpu_hal::gles::egl: EGL 'eglQueryDevicesEXT' code 0x3003: EGL_BAD_ALLOC error: In eglQueryDevicesEXT: Failed to allocate device list.
2023-09-16T17:42:29.318778Z INFO bevy_render::renderer: AdapterInfo { name: "AMD Radeon Graphics (RADV RAPHAEL_MENDOCINO)", vendor: 4098, device: 5710, device_type: IntegratedGpu, driver: "radv", driver_info: "Mesa 23.1.7-arch1.1", backend: Vulkan }
```
## What you did
Simple start with bevy : `cargo run`
## What went wrong
Bevy window takes a while to start (10s) - this is probably GPU setup related, since I can run the same exact example in a windows machine and get instant start time - and no error message.
The app does work however, its just the window creation that hangs for a bit.
## Additional information
I am 90% sure this is due to the multiple GPUs in the system, the GPU I want to use is the AMD IGPU - the other two gpus are used in pass through environment.
Is there way to force a single GPU usage somehow?
Contributor guide
Research direction
Reproduce the delay with `cargo run` on the reported multi-GPU Garuda Linux and Hyprland setup, starting from the `bevy_winit` window-creation log and the `wgpu_hal::gles::egl` device-query error. Compare the window and renderer initialization path with the reported AMD Vulkan adapter; done means explaining or removing the delay, or documenting how to select one GPU.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop-dev, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100