Closed paulfrische closed 2 months ago
I watched Winit tick over to 0.29.2 a few hours ago 😆. Am having this issue too
winit 0.29 updated raw-window-handle
(again). But they reference three versions of it: https://github.com/rust-windowing/winit/blob/v0.29.2/Cargo.toml#L61-L63 via feature flags rwh_06
, rwh_05
, and rwh_04
.
While we are still on raw-window-handle
0.5, you should be able to use winit 0.29 by changing its feature flags:
winit = { version = "0.29", default-features = false, features = ["rwh_05", "x11", "wayland", "wayland-dlopen", "wayland-csd-adwaita"] }
I have not personally tested this, but it should be a usable workaround for the time being.
We will be on rwh 0.5 for as long as wgpu
is. And they just released 0.18 two days ago with rwh 0.5.
winit <0.28.7 is also broken on macOS Sonoma (see https://github.com/rust-windowing/winit/issues/2876), the examples crash.
@parasyte am I understanding correctly that we should just update all winit dependencies in pixels
and its examples to 0.29 with the compatibility feature flags to close this issue?
I'm not terribly concerned about the examples. The main crate is agnostic to whether winit
is used for platform integration or something else. The only hard dependency is on raw-window-handle = "0.5"
. Any projects using pixels
can choose any version of winit
, given that it is also compatible with our raw-window-handle
dependency.
But in short, yes, I think that fixing the examples are the only thing we can do for this issue.
Chiming in to say that wgpu 0.19 released last week and bumped their version of raw-window-handle
to 0.6. It should therefore be possible for pixels
to bump its wgpu
dependency and enable using winit 0.29
with default features.
Sounds good. There's an incomplete update to 0.18 in #386. I don't mind skipping a version, just pointing out that anyone who wants to do this work might find this PR a helpful starting point.
Update: I've been trying to upgrade winit
and wgpu
and have run into a few problems with CI:
game-loop
currently only supports winit 0.28. There's an open PR: https://github.com/tuzz/game-loop/pull/21imgui
hasn't seen a release since april, but does support winit 0.29 if you use it as a git dependency.imgui-wgpu-rs
only supports wgpu 0.17 and winit 0.27 (and upgrading them requires taking imgui
as a git dependency).egui
recently added support for wgpu 0.19, but they just had a recent release so a git dependency is needed for now.fltk
doesn't support raw-window-handle 0.6.tao
only added support for raw-window-handle 0.6 in version 0.24.This works for me. Try this:
winit = { version = "0.29", features = ["rwh_05"] }
Hello there! I've tried to create a pixel buffer with the following code but it ain't working with winit 0.29:
Compiler Error:
The same code works with winit 0.28