Zed Decoded: Linux When?

14,808
0
Published 2024-05-07
This is the third video in our Zed Decoded series, in which we take a close look at how Zed works and how it's built.

This is the companion video to a full blog post that you can find here 👉 zed.dev/blog/zed-decoded-linux-when

In episode, Thorsten and Mikayla talk about Zed on Linux. What's the current state of Zed on Linux, what did we have to do to make it work on Linux, what were the tricky parts and what's still left to do.

Chapters

00:00 Introduction and Testing Zed on Linux
03:03 Preparing Zed for Cross-Platform Support
08:22 Challenges of Integrating with Platform-Specific APIs
14:40 Working with Different Windowing Systems on Linux
22:20 Differences in the Renderer between macOS and Linux
30:35 Implementing the Blade Renderer
33:40 Challenges of Creating a Native UI for Linux
36:06 Rendering Process and Shaders
45:19 Balancing Platform Integration and Customization
49:57 Next Milestones for the Linux Build
52:46 Community Contributions and Progress
57:30 Cloning and Building the Linux Buil

All Comments (21)
  • @MCNaydex
    it was trully impressive the little time between open sourcing zed and usable editor on linux. good job zed community
  • @arubaga
    Cross-platform UI in Rust is a really interesting topic!
  • Good job Zed team! Ever since it got announced; i have been awaiting the executable for Linux :)
  • @ffunktor
    Awesome. Thanks for this video.
  • @Caellyan
    When targeting GNOME, just add 4px padding and 100% rounding to everything and you're right on track. 🙃 I completely disagree with your Wayland/X11 stance - rust probably has it better than C++, but in my experience, X11 has SO MANY weird edge cases you have to deal with which leads to 10x the amount of code while Wayland has maybe 2 protocols you need to support and it's straightforward to do (if supported).
  • @Onyx-it8gk
    I can't wait for the Linux release! 😭 Thanks for the update!
  • Friends, thank you for your work. I built Zed for Debian 12 with x11 and found the release size near 5.2 GB, and the launch-file size around 784 MB. Is this how it should be?
  • @jackelofnar
    Can't wait for the Linux version to be released
  • @achrafash
    this series makes me wanna learn rust so bad
  • @brivism
    love the series! is the terminal you are using in the video ghostty?
  • @RaresCelTare
    41:44 When it comes to distributing, I'd say it'd be better if you guys didn't distribute any binaries at all. Anyone can compile from the releases, but also, they can get a binary installation through nix package manager (nixOS), which can be installed on other linux distribution, even macOS. And compared to flatpaks and appimages, things installed through nix don't incur the containerization slowdown penalty while also working on all* distributions and not needing to package for each package manager(apt, dnf, pacman, apk, portage, xbps and so on and their respective linux distributions). In any case, distributions maintainers will package zed, you guys don't need to worry for such things.
  • ¡Great work! Zed seems to already work quite well in Linux ! So I hope that soon there is an official alpha release so that more people gets involved. The only drawback that I see is that the performance is not as good as one would hope (tested in a machine with 8M of RAM) and the binary takes a lot of time to compile and is somewhat over-bloated(¿ a binary of 747M just for editing a couple of files?). For some use-cases, the collaborative features of Zed or the IA are not needed. So I would suggest to allow to build a light-weighted version of it without this features. Or move them to extensions. A shorter compilation time would mean an easier development and hence more rapid progress. I see that this is a great draw-back of rust. Rust programs usually take too long to compile...