Skip to content

Instantly share code, notes, and snippets.

@Osspial
Last active May 19, 2019 11:56
Show Gist options
  • Save Osspial/1a93d599189f49a97884c4aa033e9ef3 to your computer and use it in GitHub Desktop.
Save Osspial/1a93d599189f49a97884c4aa033e9ef3 to your computer and use it in GitHub Desktop.
winit help post

Hello, all!

I'm one of the maintainers of Winit, the main pure-Rust window creation library written. Even if you haven't used it directly, you've probably heard of projects that depends on it - Servo and Alacritty being the best-known applications that depend on our codebase. If you've done any game programming in Rust using Glutin (or dependent projects including gfx-rs, Glium, and Amethyst) we've been the ones making the windows actually show up on your desktop.

However, for such a core piece of infrastructure in the Rust ecosystem, we have astonishingly little manpower. Only three of the seven platforms we support have active maintainers: X11, macOS, Android, iOS, and WASM are all largely unmaintained, despite their importance! Additionally, Glutin is currently maintained by just a single person, despite being a project no lone individual has the time to handle. This had led to a great deal of issue buildup on those platforms, since we lack contributors with enough time to debug and resolve issues on those platforms. Major new features and API improvements can't land on crates.io since we currently can't implement them across all platforms - gamepad support being the most significant (although certainly not only) example.

If you are interested in Rust becoming a larger force in graphics ecosystem, please take a look at the issues below and find one you can contribute to! We encourage all types of contributions, so go out and write, test, review, and submit PRs, add and review documentation, and whatever else you would like to do. No matter what you do, your time would be very much appreciated, and would result in widespread improvements across the Rust community.

High-level issues:

  • Sign up on a testing list for these platforms: (link to github issue for this?)
    • Windows (link)
    • macOS (link)
    • X11 (link)
    • Wayland (link)
    • Android (link)
    • iOS (link)
    • Emscripten or WASM (which will we support?) (link)
  • Gamepad support on all non-Windows platforms.
  • X11 bugfixing (link to list)
  • macOS bugfixing (link to list)
  • Android's Eventloop 2.0 implementation
  • iOS features and bugfixing (link)
  • Maintainers for the following platforms:
    • macOS
    • X11
    • Android
    • iOS

Nitty-gritty problems:

(embed https://gist.github.com/Osspial/fddc1fdcbd65a0f6510c9669b21b4901)

@goddessfreya
Copy link

goddessfreya commented May 9, 2019

Some suggestions:
heard of -> used
ode -> projects
are the best-known applications that use our code -> being the best-known applications that depend on our codebase
, and if -> . Additionally, if
Rust game programming with Glutin we've been the ones -> game programming in Rust using Glutin (or projects dependent on Glutin, e.g. gfx-rs, glium, amethyst_render, ect), Winit's been the one
- the -> . The
have substantial -> have a substantial
since we have nobody that can actually figure out what's going wrong -> since we lack anybody with enough time to debug and resolve issues on those platforms. (I'm sure the existing maintainers are competent enough to figure out what's going on :))

Last para:
If you are interested in Rust becoming a larger force in graphics ecosystem, please take a look at the issues below and find one you can contribute to! We encourage all types of contributions, so go out and write, test, review, and submit PRs, add and review documentation, and whatever else you would like to do. No matter what you do, your time would be very much appreciated and would result in widespread improvements across the Rust community.

@Osspial
Copy link
Author

Osspial commented May 18, 2019

@zegentzy Thank you! I've pulled in your suggestions, but you probably want to do another pass over this in case I missed anything.

@goddessfreya
Copy link

lgtm

the main pure-Rust window creation library written. --> the main pure-Rust window creation library.
in Rust using Glutin (or dependent projects including gfx-rs, Glutin, and Amethyst) --> in Rust using Glutin (or dependent projects including gfx-rs, glium, and Amethyst)

@goddessfreya
Copy link

And while I'm thinking about it, game programming -> graphics programming

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