From c0fbe69e455e49f246e37765b5cda732ab3ea7d9 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Thu, 19 Feb 2026 21:38:40 +0100 Subject: [PATCH] gpui_linux: Fix headless build (#49652) Closes #ISSUE Before you mark this PR as ready for review, make sure that you have: - [ ] Added a solid test coverage and/or screenshots from doing manual testing - [ ] Done a self-review taking into account security and performance aspects - [ ] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A --- crates/gpui/Cargo.toml | 1 - crates/gpui_linux/src/linux.rs | 2 +- crates/gpui_linux/src/linux/platform.rs | 6 +++--- crates/gpui_platform/Cargo.toml | 1 + nix/build.nix | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/gpui/Cargo.toml b/crates/gpui/Cargo.toml index 5a163c11ec..ddb7373c2e 100644 --- a/crates/gpui/Cargo.toml +++ b/crates/gpui/Cargo.toml @@ -28,7 +28,6 @@ test-support = [ ] inspector = ["gpui_macros/inspector"] leak-detection = ["backtrace"] -runtime_shaders = [] wayland = [ "bitflags", ] diff --git a/crates/gpui_linux/src/linux.rs b/crates/gpui_linux/src/linux.rs index 27fda08056..bafdc2e524 100644 --- a/crates/gpui_linux/src/linux.rs +++ b/crates/gpui_linux/src/linux.rs @@ -15,7 +15,7 @@ mod xdg_desktop_portal; pub use dispatcher::*; pub(crate) use headless::*; pub(crate) use keyboard::*; -pub use platform::*; +pub(crate) use platform::*; #[cfg(any(feature = "wayland", feature = "x11"))] pub(crate) use text_system::*; #[cfg(feature = "wayland")] diff --git a/crates/gpui_linux/src/linux/platform.rs b/crates/gpui_linux/src/linux/platform.rs index c3ee684ea2..b3a08310ea 100644 --- a/crates/gpui_linux/src/linux/platform.rs +++ b/crates/gpui_linux/src/linux/platform.rs @@ -98,11 +98,11 @@ pub(crate) trait LinuxClient { #[allow(unused)] fn display(&self, id: DisplayId) -> Option>; fn primary_display(&self) -> Option>; - #[cfg(feature = "screen-capture")] + fn is_screen_capture_supported(&self) -> bool { false } - #[cfg(feature = "screen-capture")] + fn screen_capture_sources( &self, ) -> oneshot::Receiver>>> { @@ -168,7 +168,7 @@ impl LinuxCommon { #[cfg(any(feature = "wayland", feature = "x11"))] let text_system = Arc::new(crate::linux::CosmicTextSystem::new()); #[cfg(not(any(feature = "wayland", feature = "x11")))] - let text_system = Arc::new(crate::NoopTextSystem::new()); + let text_system = Arc::new(gpui::NoopTextSystem::new()); let callbacks = PlatformHandlers::default(); diff --git a/crates/gpui_platform/Cargo.toml b/crates/gpui_platform/Cargo.toml index 5cf81c3042..b29fc9477d 100644 --- a/crates/gpui_platform/Cargo.toml +++ b/crates/gpui_platform/Cargo.toml @@ -16,6 +16,7 @@ default = [] font-kit = ["gpui_macos/font-kit"] test-support = ["gpui/test-support"] screen-capture = ["gpui/screen-capture", "gpui_macos/screen-capture", "gpui_windows/screen-capture", "gpui_linux/screen-capture"] +runtime_shaders = ["gpui_macos/runtime_shaders"] wayland = ["gpui_linux/wayland"] x11 = ["gpui_linux/x11"] diff --git a/nix/build.nix b/nix/build.nix index 16b03e9a53..28031337da 100644 --- a/nix/build.nix +++ b/nix/build.nix @@ -172,7 +172,7 @@ let (darwinMinVersionHook "10.15") ]; - cargoExtraArgs = "-p zed -p cli --locked --features=gpui/runtime_shaders"; + cargoExtraArgs = "-p zed -p cli --locked --features=gpui_platform/runtime_shaders"; stdenv = pkgs: