Skip to content
This repository has been archived by the owner on Jun 20, 2022. It is now read-only.

Consider migrating from SDL2 to winit #7

Closed
jshrake opened this issue Jun 18, 2018 · 1 comment
Closed

Consider migrating from SDL2 to winit #7

jshrake opened this issue Jun 18, 2018 · 1 comment
Labels
enhancement New feature or request question Further information is requested

Comments

@jshrake
Copy link
Owner

jshrake commented Jun 18, 2018

winit is a window handling library in pure Rust. Ideally grimoire would only depend on pure rust crates. Note that ggez is making a similar migration ggez/ggez#391

I would like to understand how this would impact the ability to get grimoire running on mobile (iOS, Android), web (emscripten), and various VR/AR platforms.

@jshrake jshrake added the enhancement New feature or request label Jun 18, 2018
@francesca64
Copy link

I would like to understand how this would impact the ability to get grimoire running on mobile (iOS, Android), web (emscripten), and various VR/AR platforms.

winit's iOS and Android support is pretty thin, i.e. touch events are broken on iOS and both emit few events in general. For just rendering, Android works fine, but iOS requires more work in glutin before it will get past a black screen. The major issue blocking Android progress is lack of JNI support, whereas the major issue blocking iOS progress is the lack of people invested enough to fix things (and how slow iOS Simulator runs on my computer, which is part of a more general problem about it being unpleasant to work on).

Our Emscripten backend looks pretty good, which is all I can say, since I've yet to succeed in getting anything to run in the browser. I'm fairly certain that's from build/toolchain issues on my part, though. If you're also interested in WASM, other people are too, and winit will conceivably support that in the not-too-distant future (a few people have volunteered). If/when that happens, it's very likely that no one will be interested in working on the Emscripten backend anymore (...not that anyone is currently).

I have to put a big fat proviso on all of this by saying that these three backends are in a state of neglect. There's been no issue reports to any of them in at least the past 6 months, and nobody noticed that glutin's iOS backend didn't even compile for the past year, so it's safe to say that nobody actually uses these backends. There's nothing I can really do about that, since it's already pretty ridiculous that I'm responsible for the three major desktop platforms.

I don't know anything about VR/AR, but winit isn't set in stone, so unless it's something you need in the short-term a good solution can likely be worked out.

@jshrake jshrake added the question Further information is requested label Apr 20, 2019
@jshrake jshrake closed this as completed Mar 9, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants