Skip to content

Commit

Permalink
docs: Explicitly demarcate platform support
Browse files Browse the repository at this point in the history
As discussed in today's meeting, this commit creates two tiers of
support. Tier 1, which is what we actively test, and Tier 2, what we
hope compiles.

Signed-off-by: John Nunley <dev@notgull.net>
  • Loading branch information
notgull committed Aug 23, 2024
1 parent e716adc commit 6a19257
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,56 @@ Changes in the API that have been agreed upon but aren't implemented across all
|Feature |Windows|MacOS |Linux x11|Linux Wayland|Android|iOS |Web |Redox OS|
|------------------------------ | ----- | ---- | ------- | ----------- | ----- | ----- | -------- | ------ |

## Platform/Architecture Support

Platform support on `winit` has two tiers: Tier 1 and Tier 2.

- Tier 1 is **guaranteed to work**. Targets in this tier are actively tested
both in CI and by maintainers.
- Tier 2 is **guaranteed to build**. Code compilation is tested in CI, but deeper
testing is not done.

Please open an issue if you would like to add a Tier 2 target, or if you would
like a Tier 2 target moved to Tier 1.

### Tier 1 Targets

|Target Name |Target Triple |APIs |
|-------------------------------|------------------------------------|---------------|
|32-Bit x86 Windows with MSVC |`i686-pc-windows-msvc` |Win32 |
|64-Bit x86 Windows with MSVC |`x86_64-pc-windows-msvc` |Win32 |
|32-Bit x86 Windows with glibc |`i686-pc-windows-gnu` |Win32 |
|64-Bit x86 Windows with glibc |`x86_64-pc-windows-gnu` |Win32 |
|32-Bit x86 Linux with glibc |`i686-unknown-linux-gnu` |X11, Wayland |
|64-Bit x86 Linux with glibc |`x86_64-unknown-linux-gnu` |X11, Wayland |
|64-Bit ARM Android |`aarch64-linux-android` |Android |
|64-Bit x86 Redox OS |`x86_64-unknown-redox` |Orbital |
|64-bit x64 macOS |`x86_64-apple-darwin` |AppKit |
|64-bit ARM macOS |`aarch64-apple-darwin` |AppKit |
|64-bit x64 iOS |`x86_64-apple-ios` |UIKit |
|64-bit ARM iOS |`aarch64-apple-ios` |UIKit |
|32-bit WASM web browser |`wasm32-unknown-unknown` |DOM |

### Tier 2 Targets

|Target Name |Target Triple |APIs |
|------------------------------------|------------------------------------|---------------|
|64-bit x86 Linux with Musl |`x86_64-unknown-linux-musl` |X11, Wayland |
|64-bit x86 Linux with 32-bit glibc |`x86_64-unknown-linux-gnux32` |X11, Wayland |
|64-bit x86 Android |`x86_64-linux-android` |Android |
|32-bit x86 Android |`i686-linux-android` |Android |
|64-bit x86 FreeBSD |`x86_64-unknown-freebsd` |X11, Wayland |
|64-bit x86 NetBSD |`x86_64-unknown-netbsd` |X11 |
|32-bit x86 Linux with Musl |`i686-unknown-linux-musl` |X11, Wayland |
|64-bit RISC-V Linux with glibc |`riscv64gc-unknown-linux-gnu` |X11, Wayland |
|64-bit ARM Linux with glibc |`aarch64-unknown-linux-gnu` |X11, Wayland |
|64-bit ARM Linux with Musl |`aarch64-unknown-linux-musl` |X11, Wayland |
|64-bit PowerPC Linux with glibc |`powerpc64le-unknown-linux-gnu` |X11, Wayland |
|32-Bit ARM Linux with glibc |`armv5te-unknown-linux-gnueabi` |X11, Wayland |
|64-Bit Linux on IBM Supercomputers |`s390x-unknown-linux-gnu` |X11, Wayland |
|32-bit ARM Android |`arm-linux-androideabi` |X11, Wayland |
|64-bit SPARC Linux with glibc |`sparc64-unknown-linux-gnu` |X11, Wayland |

[#165]: https://github.com/rust-windowing/winit/issues/165
[#219]: https://github.com/rust-windowing/winit/issues/219
[#242]: https://github.com/rust-windowing/winit/issues/242
Expand Down

0 comments on commit 6a19257

Please sign in to comment.