Linux: adjust docs for building (#8246)

Rom Grk created

Improve docs & remove `vulkan-validation-layers` from the dependencies.

Change summary

docs/src/developing_zed__building_zed_linux.md | 29 ++++++++++++++++---
script/linux                                   |  4 --
2 files changed, 24 insertions(+), 9 deletions(-)

Detailed changes

docs/src/developing_zed__building_zed_linux.md 🔗

@@ -10,7 +10,11 @@ git submodule update --init --recursive
 
 ## Dependencies
 
-- Install [Rust](https://www.rust-lang.org/tools/install)
+- Install [Rust](https://www.rust-lang.org/tools/install). If it's already installed, make sure it's up-to-date:
+
+  ```bash
+  rustup update
+  ```
 
 - Install the Rust wasm toolchain:
 
@@ -24,11 +28,12 @@ git submodule update --init --recursive
   script/linux
   ```
 
-  - If you prefer to install the system libraries manually, you can find the list of required packages in the `script/linux` file.
+  If you prefer to install the system libraries manually, you can find the list of required packages in the `script/linux` file.
 
-## Backend Dependencies
+## Backend dependencies
 
-# Note: This section is still in development. The instructions are not yet complete.
+> [!WARNING]
+> This section is still in development. The instructions are not yet complete.
 
 If you are developing collaborative features of Zed, you'll need to install the dependencies of zed's `collab` server:
 
@@ -41,7 +46,7 @@ Alternatively, if you have [Docker](https://www.docker.com/) installed you can b
 docker compose up -d
 ```
 
-## Building Zed from Source
+## Building from source
 
 Once you have the dependencies installed, you can build Zed using [Cargo](https://doc.rust-lang.org/cargo/).
 
@@ -63,8 +68,22 @@ And to run the tests:
 cargo test --workspace
 ```
 
+## Wayland & X11
+
+Zed has basic support for both modes. The mode is selected at runtime. If you're on wayland and want to run in X11 mode, you can set `WAYLAND_DISPLAY='' cargo run` to do so.
+
 ## Troubleshooting
 
+### Can't compile zed
+
+Before reporting the issue, make sure that you have the latest rustc version with `rustup update`.
+
 ### Cargo errors claiming that a dependency is using unstable features
 
 Try `cargo clean` and `cargo build`.
+
+### Vulkan/GPU issues
+
+If Zed crashes at runtime due to GPU or vulkan issues, you can try running [vkcube](https://github.com/krh/vkcube) (usually available as part of the `vulkaninfo` package on various distributions) to try to troubleshoot where the issue is coming from. Try running in both X11 and wayland modes (`vkcube -m [x11|wayland]`).
+
+If you have multiple GPUs, you can also try running Zed on a different one (for example, with [vkdevicechooser](https://github.com/jiriks74/vkdevicechooser)) to figure out where the issue comes from.

script/linux 🔗

@@ -10,7 +10,6 @@ if [[ -n $apt ]]; then
   deps=(
     libasound2-dev
     libfontconfig-dev
-    vulkan-validationlayers*
     libwayland-dev
     libxkbcommon-x11-dev
     openssl
@@ -26,7 +25,6 @@ if [[ -n $dnf ]]; then
   deps=(
     alsa-lib-devel
     fontconfig-devel
-    vulkan-validation-layers
     wayland-devel
     libxkbcommon-x11-devel
     openssl-devel
@@ -42,7 +40,6 @@ if [[ -n $zyp ]]; then
   deps=(
     alsa-devel
     fontconfig-devel
-    vulkan-validationlayers
     wayland-devel
     libxkbcommon-x11-devel
     openssl-devel
@@ -58,7 +55,6 @@ if [[ -n $pacman ]]; then
   deps=(
     alsa-lib
     fontconfig
-    vulkan-validation-layers
     wayland
     libxkbcommon-x11
     openssl