From 403a8aafc35326c5d2d6a2c118631bd3392129bf Mon Sep 17 00:00:00 2001 From: james7132 Date: Sun, 21 Sep 2025 16:41:47 -0700 Subject: [PATCH 1/4] Remove x11 as a default feature --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index e0553f1be2945..d05ca9544bec8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -110,6 +110,7 @@ ref_as_ptr = "warn" too_long_first_doc_paragraph = "allow" + std_instead_of_core = "allow" std_instead_of_alloc = "allow" alloc_instead_of_core = "allow" @@ -174,7 +175,6 @@ default = [ "tonemapping_luts", "vorbis", "webgl2", - "x11", "wayland", "debug", "zstd_rust", From 1443bacbc8888b43dfe416835b3cd9c7d3326939 Mon Sep 17 00:00:00 2001 From: james7132 Date: Sun, 21 Sep 2025 22:57:39 -0700 Subject: [PATCH 2/4] Add migration guide and address review comments --- crates/bevy_internal/Cargo.toml | 2 +- docs/cargo_features.md | 2 +- .../migration-guides/x11-no-longer-default.md | 26 +++++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 release-content/migration-guides/x11-no-longer-default.md diff --git a/crates/bevy_internal/Cargo.toml b/crates/bevy_internal/Cargo.toml index cf5bbfaabe83a..6cc93903f110c 100644 --- a/crates/bevy_internal/Cargo.toml +++ b/crates/bevy_internal/Cargo.toml @@ -135,7 +135,7 @@ multi_threaded = [ ] async-io = ["std", "bevy_tasks/async-io"] -# Display server protocol support (X11 is enabled by default) +# Display server protocol support (Wayland is enabled by default) wayland = ["bevy_winit/wayland"] x11 = ["bevy_winit/x11"] diff --git a/docs/cargo_features.md b/docs/cargo_features.md index 2f4bbd95e5c0b..b718b66bdc2dc 100644 --- a/docs/cargo_features.md +++ b/docs/cargo_features.md @@ -62,7 +62,6 @@ The default feature set enables most of the expected features of a game engine, |vorbis|OGG/VORBIS audio format support| |wayland|Wayland display server support| |webgl2|Enable some limitations to be able to use WebGL2. Please refer to the [WebGL2 and WebGPU](https://github.com/bevyengine/bevy/tree/latest/examples#webgl2-and-webgpu) section of the examples README for more information on how to run Wasm builds with WebGPU.| -|x11|X11 display server support| |zstd_rust|For KTX2 Zstandard decompression using pure rust [ruzstd](https://crates.io/crates/ruzstd). This is the safe default. For maximum performance, use "zstd_c".| ### Optional Features @@ -147,5 +146,6 @@ The default feature set enables most of the expected features of a game engine, |web_asset_cache|Enable caching downloaded assets on the filesystem. NOTE: this cache currently never invalidates entries!| |webgpu|Enable support for WebGPU in Wasm. When enabled, this feature will override the `webgl2` feature and you won't be able to run Wasm builds with WebGL2, only with WebGPU.| |webp|WebP image format support| +|x11|X11 display server support| |zlib|For KTX2 supercompression| |zstd_c|For KTX2 Zstandard decompression using [zstd](https://crates.io/crates/zstd). This is a faster backend, but uses unsafe C bindings. For the safe option, stick to the default backend with "zstd_rust".| diff --git a/release-content/migration-guides/x11-no-longer-default.md b/release-content/migration-guides/x11-no-longer-default.md new file mode 100644 index 0000000000000..cfc9eaa20045f --- /dev/null +++ b/release-content/migration-guides/x11-no-longer-default.md @@ -0,0 +1,26 @@ +--- +title: "X11 no longer enabled by default." +pull_requests: [21158] +--- + +X11 support is on the downturn, with other players like GTK announcing that +they're considering deprecating X11 support in the next major release and +Fedora 43 later this year is going to be Wayland only. With this in mind, +the `x11` top level feature on the Bevy crate is no longer a default +feature when building for Linux targets. + +If your project was already targetting Wayland-only systems, this is +effectively a no-op and can safely be ignored. + +If you still require X.Org support, you can manually reenable the `x11` +feature: + +```toml +# 0.17 +[dependencies] +bevy = { version = 0.17 } + +# 0.17 +[dependencies] +bevy = { version = 0.17, features = ["x11"] } +``` From 961c8342bff46602f75580509a08485f18342982 Mon Sep 17 00:00:00 2001 From: james7132 Date: Sun, 21 Sep 2025 23:08:14 -0700 Subject: [PATCH 3/4] Typo --- release-content/migration-guides/x11-no-longer-default.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-content/migration-guides/x11-no-longer-default.md b/release-content/migration-guides/x11-no-longer-default.md index cfc9eaa20045f..b814db9d036f0 100644 --- a/release-content/migration-guides/x11-no-longer-default.md +++ b/release-content/migration-guides/x11-no-longer-default.md @@ -9,7 +9,7 @@ Fedora 43 later this year is going to be Wayland only. With this in mind, the `x11` top level feature on the Bevy crate is no longer a default feature when building for Linux targets. -If your project was already targetting Wayland-only systems, this is +If your project was already targeting Wayland-only systems, this is effectively a no-op and can safely be ignored. If you still require X.Org support, you can manually reenable the `x11` From 1cacc51d494b0d6368c969e7fffebcb7f03a2a4f Mon Sep 17 00:00:00 2001 From: James Liu Date: Mon, 22 Sep 2025 20:34:36 +0000 Subject: [PATCH 4/4] Apply suggestions from code review Co-authored-by: Alice Cecile --- Cargo.toml | 1 - release-content/migration-guides/x11-no-longer-default.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index d05ca9544bec8..a140f34ae1b4f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -110,7 +110,6 @@ ref_as_ptr = "warn" too_long_first_doc_paragraph = "allow" - std_instead_of_core = "allow" std_instead_of_alloc = "allow" alloc_instead_of_core = "allow" diff --git a/release-content/migration-guides/x11-no-longer-default.md b/release-content/migration-guides/x11-no-longer-default.md index b814db9d036f0..07625f381f747 100644 --- a/release-content/migration-guides/x11-no-longer-default.md +++ b/release-content/migration-guides/x11-no-longer-default.md @@ -1,5 +1,5 @@ --- -title: "X11 no longer enabled by default." +title: "X11 is no longer enabled by default" pull_requests: [21158] ---