Skip to content

Winit 0.31 draft#7731

Draft
lucasmerlin wants to merge 2 commits intomainfrom
lucas/winit-0.31
Draft

Winit 0.31 draft#7731
lucasmerlin wants to merge 2 commits intomainfrom
lucas/winit-0.31

Conversation

@lucasmerlin
Copy link
Collaborator

@lucasmerlin lucasmerlin commented Nov 19, 2025

I was curious how much work the winit update would be, so I tried getting hello world simple to run.
It doesn't run yet but I got it to compile. Looks like this will be a lot of effort to get perfect. (Maybe time to remove the glow backend since the two backends add a lot of complexity?).

I commented a ton of code to try to get something to compile, so this will need a lot more work. Opening this mostly in case someone wants to pick up the work or discuss how we should do things.

@github-actions
Copy link

Preview is being built...

Preview will be available at https://egui-pr-preview.github.io/pr/7731-lucas/winit-0.31

View snapshot changes at kitdiff

@lucasmerlin lucasmerlin changed the title winit 0.31 update Winit 0.31 draft Nov 19, 2025
@nicoburns
Copy link
Contributor

Blitz main has now upgraded to Winit 0.31. The PR that we merged is here: DioxusLabs/blitz#323, but that includes adding support for Android and iOS as well. PR with only Winit-related changes is (but not quite all of the changes we finally applied) is here DioxusLabs/blitz#298

Some notes:

  • We replaced the "UserEvent" functionality with a channel (std::mpsc). The architecture doesn't change much here. It just uses a custom channel that's read on the "proxy wake up" event rather than having Winit manage the channel.
  • I've published https://docs.rs/accesskit_xplat which is a fork of accesskit_winit without depending on Winit (so it can be used with any Winit version).
  • Other than that it was mostly just renaming things and adding dyn in a bunch of places.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants