Open zerodegress opened 2 months ago
Update:
related to upstream issue:https://github.com/gfx-rs/wgpu/issues/6159 and nvidia explict sync.
removing wgpu
feature resolved this.
this fork with wgpu
feature enabled works properly: https://github.com/pop-os/iced
I'm getting this on Fedora 40, Nvidia 1070 driver 560, plasma 6.1.4.
Tour does not work, neither does Halloy.
Complete log of tour:
joe@camrose ~/packages/iced (git)-[master] % cargo run --package tour
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.68s
Running `target/debug/tour`
2024-09-09T18:38:45.670524Z WARN wgpu_hal::vulkan::instance: InstanceFlags::VALIDATION requested, but unable to find layer: VK_LAYER_KHRONOS_validation
2024-09-09T18:38:45.686871Z INFO wgpu_hal::vulkan::instance: Debug utils not enabled: debug_utils_user_data not passed to Instance::from_raw
2024-09-09T18:38:45.695642Z INFO wgpu_hal::gles::egl: Using Wayland platform
2024-09-09T18:38:45.699840Z ERROR wgpu_hal::gles::egl: EGL 'eglCreateSyncKHR' code 0x3004: EGL_BAD_ATTRIBUTE error: In eglCreateSyncKHR: EGL_SYNC_NATIVE_FENCE_FD_ANDROID specified valid fd butEGL_SYNC_STATUS is also being set
2024-09-09T18:38:45.700668Z WARN wgpu_hal::gles::egl: No config found!
2024-09-09T18:38:45.700685Z WARN wgpu_hal::gles::egl: EGL says it can present to the window but not natively
2024-09-09T18:38:45.707476Z INFO iced_wgpu::window::compositor: Settings {
present_mode: AutoVsync,
backends: Backends(
VULKAN | GL | METAL | DX12 | BROWSER_WEBGPU,
),
default_font: Font {
family: SansSerif,
weight: Normal,
stretch: Normal,
style: Normal,
},
default_text_size: Pixels(
16.0,
),
antialiasing: None,
}
2024-09-09T18:38:45.722154Z INFO wgpu_core::instance: Adapter Vulkan AdapterInfo { name: "NVIDIA GeForce GTX 1070", vendor: 4318, device: 7041, device_type: DiscreteGpu, driver: "NVIDIA", driver_info: "560.35.03", backend: Vulkan }
2024-09-09T18:38:45.722241Z INFO wgpu_core::instance: Adapter Vulkan AdapterInfo { name: "Intel(R) UHD Graphics 630 (CFL GT2)", vendor: 32902, device: 16018, device_type: IntegratedGpu, driver: "Intel open-source Mesa driver", driver_info: "Mesa 24.1.7", backend: Vulkan }
2024-09-09T18:38:45.722256Z INFO wgpu_core::instance: Adapter Vulkan AdapterInfo { name: "llvmpipe (LLVM 18.1.6, 256 bits)", vendor: 65541, device: 0, device_type: Cpu, driver: "llvmpipe", driver_info: "Mesa 24.1.7 (LLVM 18.1.6)", backend: Vulkan }
2024-09-09T18:38:45.739658Z INFO wgpu_core::instance: Adapter Gl AdapterInfo { name: "NVIDIA GeForce GTX 1070/PCIe/SSE2", vendor: 4318, device: 0, device_type: Other, driver: "", driver_info: "", backend: Gl }
2024-09-09T18:38:45.739810Z INFO iced_wgpu::window::compositor: Available adapters: [
AdapterInfo {
name: "NVIDIA GeForce GTX 1070",
vendor: 4318,
device: 7041,
device_type: DiscreteGpu,
driver: "NVIDIA",
driver_info: "560.35.03",
backend: Vulkan,
},
AdapterInfo {
name: "Intel(R) UHD Graphics 630 (CFL GT2)",
vendor: 32902,
device: 16018,
device_type: IntegratedGpu,
driver: "Intel open-source Mesa driver",
driver_info: "Mesa 24.1.7",
backend: Vulkan,
},
AdapterInfo {
name: "llvmpipe (LLVM 18.1.6, 256 bits)",
vendor: 65541,
device: 0,
device_type: Cpu,
driver: "llvmpipe",
driver_info: "Mesa 24.1.7 (LLVM 18.1.6)",
backend: Vulkan,
},
AdapterInfo {
name: "NVIDIA GeForce GTX 1070/PCIe/SSE2",
vendor: 4318,
device: 0,
device_type: Other,
driver: "",
driver_info: "",
backend: Gl,
},
]
2024-09-09T18:38:45.752225Z INFO wgpu_core::instance: Adapter Vulkan AdapterInfo { name: "Intel(R) UHD Graphics 630 (CFL GT2)", vendor: 32902, device: 16018, device_type: IntegratedGpu, driver: "Intel open-source Mesa driver", driver_info: "Mesa 24.1.7", backend: Vulkan }
2024-09-09T18:38:45.752289Z INFO iced_wgpu::window::compositor: Selected: AdapterInfo {
name: "Intel(R) UHD Graphics 630 (CFL GT2)",
vendor: 32902,
device: 16018,
device_type: IntegratedGpu,
driver: "Intel open-source Mesa driver",
driver_info: "Mesa 24.1.7",
backend: Vulkan,
}
2024-09-09T18:38:45.753947Z INFO iced_wgpu::window::compositor: Available formats: Copied {
it: Iter(
[
Rgba8UnormSrgb,
Bgra8UnormSrgb,
Rgba8Unorm,
Bgra8Unorm,
],
),
}
2024-09-09T18:38:45.753968Z INFO iced_wgpu::window::compositor: Available alpha modes: [
Opaque,
PreMultiplied,
]
2024-09-09T18:38:45.753980Z INFO iced_wgpu::window::compositor: Selected format: Rgba8UnormSrgb with alpha mode: PreMultiplied
wp_linux_drm_syncobj_manager_v1#82: error 0: surface already exists
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
2024-09-09T18:38:46.275555Z ERROR wgpu_hal::vulkan::adapter: get_physical_device_surface_present_modes: ERROR_SURFACE_LOST_KHR
2024-09-09T18:38:46.275583Z ERROR wgpu_hal::vulkan::adapter: get_physical_device_surface_formats: ERROR_SURFACE_LOST_KHR
thread 'main' panicked at /home/joe/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-core-0.19.4/src/device/global.rs:1859:21:
internal error: entered unreachable code: Fallback system failed to choose present mode. This is a bug. Mode: AutoVsync, Options: []
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
Protocol error 0 on object wp_linux_drm_syncobj_manager_v1@82:
I have the same problem on Fedora 40:
wl_surface#65: error 0: DRM Syncobj surface object already created for surface 65
Protocol error 0 on object wl_surface@65:
thread 'main' panicked at /home/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-core-0.19.4/src/device/global.rs:1859:21:
internal error: entered unreachable code: Fallback system failed to choose present mode. This is a bug. Mode: AutoVsync, Options: []
It seems to be related to wgpu-core
and only appears on Wayland.
Update: related to upstream issue:https://github.com/gfx-rs/wgpu/issues/6159 and nvidia explict sync. removing
wgpu
feature resolved this.
Setting the flag default-features = false
helped to compile without errors, but (at least for me) the window doesn't appear on versions 0.13.0
and 0.13.1
when running the program. Version 0.12.1
with this flag works without problems and the window is created.
For myself, I have found the following solutions for now:
WGPU_BACKEND
env var (e.g. WGPU_BACKEND=vulkan
doesn't work, but with WGPU_BACKEND=gl
everything runs without any problems).So, if anyone is looking for a quick solution to work with newer versions of iced
on Wayland, then WGPU_BACKEND=gl cargo run
can help you.
Is your issue REALLY a bug?
Is there an existing issue for this?
Is this issue related to iced?
What happened?
copy and paste the simplest example(the 'counter'), build and run it, resulting a lot of logs, and then it crashed.
What is the expected behavior?
it should at least display a window and run normally.
Version
crates.io release
Operating System
Linux
Do you have any log output?