linux.md

  1# Zed on Linux
  2
  3For most people we recommend using the script on the [download](/download) page to install Zed:
  4
  5```sh
  6curl https://zed.dev/install.sh | sh
  7```
  8
  9We also offer a preview build of Zed which receives updates about a week ahead of stable. You can install it with:
 10
 11```sh
 12curl https://zed.dev/install.sh | ZED_CHANNEL=preview sh
 13```
 14
 15The install script does not work on systems that:
 16* have no system-wide glibc (for example on NixOS or Alpine)
 17* have a glibc older than version 2.29 (for example Amazon Linux 2 or Ubuntu 18 and earlier)
 18* use an architecture other than 64-bit Intel or 64-bit ARM (for example a 32-bit or RISC-V machine)
 19
 20## Other ways to install Zed on Linux
 21
 22Zed is open source, and [you can install from source](./development/linux.md).
 23
 24### Installing via a package manager
 25
 26There are several third-party Zed packages for various Linux distributions and package managers, sometimes under `zed-editor`. You may be able to install Zed using these packages:
 27
 28* Homebrew: [`zed`](https://formulae.brew.sh/cask/zed), [`zed@preview`](https://formulae.brew.sh/cask/zed@preview)
 29* Arch: [`zed`](https://archlinux.org/packages/extra/x86_64/zed/)
 30* Arch (AUR): [`zed-git`](https://aur.archlinux.org/packages/zed-git), [`zed-preview`](https://aur.archlinux.org/packages/zed-preview),  [`zed-preview-bin`](https://aur.archlinux.org/packages/zed-preview-bin)
 31* Alpine: `zed` ([aarch64](https://pkgs.alpinelinux.org/package/edge/testing/aarch64/zed)) ([x86_64](https://pkgs.alpinelinux.org/package/edge/testing/x86_64/zed))
 32* Nix: `zed-editor` ([stable](https://search.nixos.org/packages?show=zed-editor)), ([unstable](https://search.nixos.org/packages?channel=unstable&show=zed-editor))
 33* Fedora 39 & 40 (Terra): `zed-nightly` ([aarch64](https://fedora.pkgs.org/40/terra/zed-nightly-0:0.142.0%5e20240619.0129d4e-1.fc40.aarch64.rpm.html)) ([x86_64](https://fedora.pkgs.org/40/terra/zed-nightly-0:0.142.0%5e20240619.0129d4e-1.fc40.x86_64.rpm.html)) `zed-preview` ([aarch64](https://fedora.pkgs.org/40/terra/zed-preview-0:0.142.1-pre1.fc40.aarch64.rpm.html)) ([x86_64](https://fedora.pkgs.org/40/terra/zed-nightly-0:0.142.0%5e20240619.0129d4e-1.fc40.x86_64.rpm.html))
 34* Solus: [`zed`](https://github.com/getsolus/packages/tree/main/packages/z/zed)
 35* Parabola: [`zed`](https://www.parabola.nu/packages/extra/x86_64/zed/)
 36* Manjaro: [`zed`](https://packages.manjaro.org/?query=zed)
 37* ALT Linux (Sisyphus): [`zed`](https://packages.altlinux.org/en/sisyphus/srpms/zed/)
 38* Please add others to this list!
 39
 40When installing a third-party package please be aware that it may not be completely up to date and may be slightly different from the Zed we package (a common change is to rename the binary to `zedit` or `zeditor` to avoid conflicting with other packages).
 41
 42We'd love your help making Zed available for everyone. If Zed is not yet available for your package manager, and you would like to fix that, we have some notes on [how to do it](./development/linux.md#notes-for-packaging-zed).
 43
 44### Downloading manually
 45
 46If you'd prefer, you can install Zed by downloading our pre-built .tar.gz. This is the same artifact that our install script uses, but you can customize the location of your installation by modifying the instructions below:
 47
 48Download the `.tar.gz` file:
 49
 50* [zed-linux-x86_64.tar.gz](https://zed.dev/api/releases/stable/latest/zed-linux-x86_64.tar.gz) ([preview](https://zed.dev/api/releases/preview/latest/zed-linux-x86_64.tar.gz))
 51* [zed-linux-aarch64.tar.gz](https://zed.dev/api/releases/stable/latest/zed-linux-aarch64.tar.gz)
 52 ([preview](https://zed.dev/api/releases/preview/latest/zed-linux-aarch64.tar.gz))
 53
 54Then ensure that the `zed` binary in the tarball is on your path. The easiest way is to unpack the tarball and create a symlink:
 55
 56```sh
 57mkdir -p ~/.local
 58# extract zed to ~/.local/zed.app/
 59tar -xvf <path/to/download>.tar.gz -C ~/.local
 60# link the zed binary to ~/.local/bin (or another directory in your $PATH)
 61ln -sf ~/.local/zed.app/bin/zed ~/.local/bin/zed
 62```
 63
 64If you'd like integration with an XDG-compatible desktop environment, you will also need to install the `.desktop` file:
 65
 66```sh
 67cp ~/.local/zed.app/share/applications/zed.desktop ~/.local/share/applications/zed.desktop
 68sed -i "s|Icon=zed|Icon=$HOME/.local/zed.app/share/icons/hicolor/512x512/apps/zed.png|g" ~/.local/share/applications/zed.desktop
 69sed -i "s|Exec=zed|Exec=$HOME/.local/zed.app/libexec/zed-editor|g" ~/.local/share/applications/zed.desktop
 70```
 71
 72## Troubleshooting
 73
 74Linux works on a large variety of systems configured in many different ways. We primarily test Zed on a vanilla Ubuntu setup, as it is the most common distribution our users use, that said we do expect it to work on a wide variety of machines.
 75
 76### Zed fails to start
 77
 78If you see an error like "/lib64/libc.so.6: version 'GLIBC_2.29' not found" it means that your distribution's version of glibc is too old. You can either upgrade your system, or [install Zed from source](./development/linux.md).
 79
 80### Zed fails to open windows
 81
 82Zed requires a GPU to run effectively. Under the hood, we use [Vulkan](https://www.vulkan.org/) to communicate with your GPU. If you are seeing problems with performance, or Zed fails to load, it is possible that Vulkan is the culprit.
 83
 84If you're using an AMD GPU, you might get a 'Broken Pipe' error. Try using the RADV or Mesa drivers. (See the following GitHub issue for more details: [#13880](https://github.com/zed-industries/zed/issues/13880)).
 85
 86Otherwise, if you see error messages like: "Zed failed to open a window: NoSupportedDeviceFound" or "called `Result::unwrap()` on an `Err` value: ERROR_INITIALIZATION_FAILED", you can begin troubleshooting Vulkan, by installing the `vulkan-tools` package, and running:
 87
 88```sh
 89vkcube
 90```
 91
 92This should output a line describing your current graphics setup. If it contains `llvmpipe` then Vulkan is not using a GPU, which will make Zed run very slowly.
 93
 94In most cases this can be fixed by configuring Vulkan and installing compatible GPU drivers, however in some cases (for example running Linux on an Arm-based MacBook) there is no Vulkan support yet.
 95
 96For more information, the [Arch guide to Vulkan](https://wiki.archlinux.org/title/Vulkan) has some good steps.
 97
 98### Zed is very slow
 99
100If you're on relatively modern hardware Zed should feel fast to use. That said, we do rely on the GPU to make rendering quick.
101
102If you install the `vulkan-tools` package and run `vkcube` and you see `llvmpipe` in the output, you need to make sure your GPU is configured correctly.
103
104For more information, the [Arch guide to Vulkan](https://wiki.archlinux.org/title/Vulkan) has some good troubleshooting steps.
105
106If Vulkan is configured correctly, and Zed is still slow for you, please [file an issue](https://github.com/zed-industries/zed) with as much information as possible.
107
108### I can't open any files
109### Zed isn't remembering my login
110### Clicking links isn't working
111
112All of these features are provided by XDG desktop portals, specifically:
113
114- `org.freedesktop.portal.FileChooser`
115- `org.freedesktop.portal.OpenURI`
116- `org.freedesktop.portal.Secret`, or `org.freedesktop.Secrets`
117
118Some window managers, such as `Hyprland`, don't provide a file picker by default. See [this list](https://wiki.archlinux.org/title/XDG_Desktop_Portal#List_of_backends_and_interfaces) as a starting point for alternatives. `KDE` doesn't implement the secret portal, installing `gnome-keyring` may solve this.