zed-industries / zed

Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
https://zed.dev
Other
35.33k stars 1.79k forks source link

Linux support #5395

Open JosephTLyons opened 1 year ago

JosephTLyons commented 1 year ago

🚨 Update: A tracking issue for Linux has been written up here:


A quick note on platform support can be found here:

jamesmunns commented 1 year ago

Thanks! :+1: 'ing this as a blocking issue for me!

MultisampledNight commented 1 year ago

Listing a couple of fallacies when developing for Linux I commonly see with large projects "migrating":

ghost commented 1 year ago

The invite came with an invite to give any feedback, so here is a +1 that without Linux support I will not be able to use zed. Unfortunately I do not use mac so I cannot give this awesome editor a try.

redoxeon commented 1 year ago

Some immutable OSes like the OS on the Steam Deck prefer to have apps installed from a flatpak. If it doesn't cause too much extra work, it'd be awesome to use Zed on such OSes and devices by having it distributed as a flatpak.

Lunarequest commented 1 year ago

It would be cool if zed was available for linux. If the licence would atleast allow redistribution i would not mind maintaining a flatpak for zed! Another thing that I would love to see zed do is ship with portal support oob. It would mean zed would integrate with desktop environments very well and be better suited for the flatpak environment

AlexDaniel commented 1 year ago

To add to the list of fallacies:

redoxeon commented 1 year ago

It would be cool if zed was available for linux. If the licence would atleast allow redistribution i would not mind maintaining a flatpak for zed! Another thing that I would love to see zed do is ship with portal support oob. It would mean zed would integrate with desktop environments very well and be better suited for the flatpak environment

When you do, be sure to look here for info on permissions. I have found that VS Code and Lapce both run into issues with the flatpak versions and getting the needed env permissions to work properly :D

Lunarequest commented 1 year ago

It would be cool if zed was available for linux. If the licence would atleast allow redistribution i would not mind maintaining a flatpak for zed! Another thing that I would love to see zed do is ship with portal support oob. It would mean zed would integrate with desktop environments very well and be better suited for the flatpak environment

When you do, be sure to look here for info on permissions. I have found that VS Code and Lapce both run into issues with the flatpak versions and getting the needed env permissions to work properly :D

That is why i wanted portal support since it allows seamless grangting of sandbox permissions

stickyburn commented 1 year ago

I couldn't test Zed until yesterday when I got a Mac and oh boy is it promising! A port to Linux would be great, I'm open to testing, debugging and even maintaining an aur for this awesome tool! Let me know how we can help 🎉

alerque commented 1 year ago

@yashank09 I'll tag team AUR package(s) with you. Lets be sure to setup it up as -bin if all we get is a binary blob release leaving space for a source based package under the plain name if/when licensing allows building it from source. If that does happen it will probably be short lived too -- just long enough to make sure everything works because if licensing allows I'll also be fast-tracking the package into [community]. Fingers crossed licensing will allow us to build and package like that!

aalbacetef commented 1 year ago

Adding a +1 here too. Have been checking the releases page quite frequently, waiting for a Linux release.

kiufta commented 1 year ago

@yashank09 I'll tag team AUR package(s) with you.

Have I missed something? There is no AUR package yet.

stickyburn commented 1 year ago

@yashank09 I'll tag team AUR package(s) with you.

Have I missed something? There is no AUR package yet.

It hasn't been released by the team yet.

aalbacetef commented 1 year ago

@JosephTLyons any update on what the status of Linux support is?

Thanks!

mikayla-maki commented 1 year ago

Nothing to report! We'll probably get going on platform support after beta :)

aalbacetef commented 1 year ago

Thanks for the quick response! @mikayla-maki

secondl1ght commented 1 year ago

Just piling on to say that this is probably the most anticipated release ever for me, can't wait!

hohowt commented 1 year ago

I am very much looking forward to using it on linux. If it also offers run/debug functionality, I'm willing to pay for it

bunufi commented 1 year ago

I will keep on using deprecated Atom until Zed is available on Linux. I am willing to use Zed daily even if some edges are still rough and contribute to testing to the best of my ability. All I need from Zed at this point is existence(on Linux) and ruby/rails syntax awareness.

d4nshields commented 1 year ago

Adding a +1 here. I use all of MacOs, Windows, and Linux in my day to day, constantly switching from one to the other makes the dream of having only a single editor's keybindings and visual layout to comprehend, a dream I wish to realise. Willing to help out in any way possible. I guess the starting point is where are the sources to do a native build from scratch on my local Linux?

alerque commented 1 year ago

:stop_sign: Can we please stop adding messages to "+1" this? :stop_sign:

That makes notification noise for dozens or maybe hundreds of people that are subscribed to this issue that don't need to hear anything until there is something to report. We all want this, but +1 it by thumbs-upping the issue and subscribe for notifications. Thanks.

atk commented 1 year ago

If you release the Linux sources, I'll happily try to create a build template for @void-linux.

eureka-cpu commented 1 year ago

Would love to give Zed a try on my Nix machine 🦀 ❄️

wvannoordt commented 1 year ago

Can't wait for Zed! I'm hoping that my tree-sitter implementations will carry over :smile:

edoardo-bluframe commented 1 year ago

FYI I switched to LunarVIM after Atom was deprecated. LunarVIM is super

I love Atom and I have been hoping to start trying out Zed for months now!

Do work on a Copilot extension if you can - Copilot really speeds up coding!

As soon as you release for Linux I am gonna download and try it out okay? :smile:

carlosfcezar commented 1 year ago

Please we need Zed for linux!

TheRedXD commented 1 year ago

I think Zed for linux is very important, as linux is great for a lot of people, especially ones that i know, for development. Generally you want software to be available on all platforms, I personally think it should be made sure Zed works with Wayland and X11 perfectly, especially X11 because it's the most widespread, even if it's very old. It's important that the code intelligence is somewhere along the lines of how VSCode handles it, I've tried many other editors out there and this is always the dealbreaker for me.

I think the editor should be easy to extend, theme, it should feel easy to write something, VSCode certainly puts quite a bit of stress on me because of stutters, slow speeds, it really does add up.

Also, while AI tools like Copilot are cool and all, it has certainly seemed less and less powerful the more I used it, I feel like it would benefit me much more if code writing is fast rather than having some AI do it for me (and sometimes awfully)

If zed is easy to extend and modify, I might just write my own extensions and stuff for it, VSCode is slightly painful to write extensions/themes for (yes i've tried it), so I hope you guys can improve on that!

Overall, I really love the work you guys have been doing with this editor and I absolutely can't wait to try the editor out as soon as it comes out for Linux :P There's really nothing quite like it.

barel-mishal commented 1 year ago

Hi i am using wsl is zed going to support it?

stickyburn commented 1 year ago

@barel-mishal once linux is released, I dont see why it wouldn't.

We should probably freeze this since the team has explained cross platform is looong from being worked on. Zed is still in Beta.

Amolith commented 1 year ago

Locking the thread to prevent new comments (but allow reactions to the original issue) would make many people's inboxes a little less noisy 🙏

(I apologise for being a source of noise myself 🙇‍♂️)

blurayne commented 1 year ago

@barel-mishal once linux is released, I dont see why it wouldn't.

We should probably freeze this since the team has explained cross platform is looong from being worked on. Zed is still in Beta.

Yup. Just don't announce Linux support otherwise you'd be running in the same disaster as warp terminal which still don't have Linux support after years.

Why don't you put Fuchsia also on the list? Will there be support for it?

AlexDaniel commented 1 year ago

From what I can see from the recent blog posts, it isn't just that they'd need to write a bunch of stuff to support Linux-specific things (like keyboard handling), but they'd also need to rewrite the entire rendering code in Vulkan instead of Metal. Don't hold your breath for it, it feels like everything they have so far is extremely MacOS-oriented.

rechlin commented 1 year ago

@AlexDaniel if they wanted to support multiple platforms, they needed to start with a cross-platform solution. If they wanted to release it as open source, they would have released as open source already, and Linux/Win/BSD devs could be working on packaging already. There is a trend here that does not lead easily to cross-platform FLOSS software. Good luck! I won't be checking on the status of Zed very often. Of course, I haven't tried to fund an Open Source project or a closed source project, so my understanding might be about 90 degrees off the mark. I can deliver digital salt to anyone who wants to take my remarks with a spoonful of salt.

rechlin commented 1 year ago

Rewording part of that - I think there are no viable "really fast" cross platform GUI libraries. "Really fast" would likely require native GUI systems anyway. However, to make your GUI API work cross-platform, it is probably best to start with two such platforms. That would slow the project. Possibly the current process is the fastest way to get to an early release date and then to cross-platform release. This observation undermines all my conclusions. Still, best of luck, and I will probably check in every year or two.

psydvl commented 1 year ago

Rewording part of that - I think there are no viable "really fast" cross platform GUI libraries.

Disagree:

AlexDaniel commented 1 year ago

Yeah, but Zed is intended to be more than just a bit faster, so perhaps rolling out their own UI rendering is not a bad idea. But that's not the point. The point is that GPU rendering is actually relatively platform-independent, so I thought that it'd be the easiest part to port… until I realized that they're using Metal 😞

Nikiforov27 commented 1 year ago

Перефразируя часть этого - я думаю, что не существует жизнеспособных «действительно быстрых» кросс-платформенных библиотек с графическим интерфейсом. «Действительно быстро», скорее всего, в любом случае потребуются собственные системы с графическим интерфейсом. Однако, чтобы заставить ваш GUI API работать на разных платформах, вероятно, лучше всего начать с двух таких платформ. Это замедлит проект. Возможно, текущий процесс — это самый быстрый способ получить раннюю дату выпуска, а затем — кросс-платформенный выпуск. Это наблюдение опровергает все мои выводы. Тем не менее, удачи, и я, вероятно, буду проверять каждый год или два.

recently released a stable release of the slint library with a modern interface: https://slint-ui.com/blog/announcing-slint-1.0.html

stanier commented 1 year ago

Yeah, but Zed is intended to be more than just a bit faster, so perhaps rolling out their own UI rendering is not a bad idea. But that's not the point. The point is that GPU rendering is actually relatively platform-independent, so I thought that it'd be the easiest part to port… until I realized that they're using Metal disappointed

The decision to start with Metal is very concerning to me. It makes me feel as though platform support was never a real priority. I am disappointed that a team that boasts contribution credits for Atom and treesitter would have their priorities so backwards with such a promising project.

And so the search for the next Sublime/Atom continues....

edit: tempering my overzealous cynicism

jokeyrhyme commented 1 year ago

I'm seeing some speculation and hand-wringing here, and I don't think it's healthy nor necessary

Metal and Vulkan are so conceptually similar that projects like MoltenVK are able to map functionality in a performant and standards-compliant manner: https://github.com/KhronosGroup/MoltenVK/blob/main/Docs/MoltenVK_Runtime_UserGuide.md#interacting-with-the-moltenvk-runtime

We don't know what the zed code looks like, but it's entirely possible that starting with a Metal implementation doesn't slow them down much at all when it comes to Linux support, and there are already so many other similarities between macOS/BSD and Linux due the overlap in POSIX compatibility

Let's try to keep the energy here positive and welcoming, especially as part of making the Linux platform attractive to developers :)

1zizi1 commented 1 year ago

Keep in mind that the engineers behind Zed are considered Apple fans. See this video of Nathan explaining why doing things the Apple way is the best way.

So, you should not expect them to plan for creating a cross-platform product. The last time the built Xray, it was only buildable on MacOS as stated in this Xray document, even though Electron is cross-platform!

So I would not personally wait for Zed to adopt cross-platform solutions like Vulkan, but in the future, they might surprise us with support for other platforms.

luispabon commented 1 year ago

Just going to leave this here:

Workstation OS: image

Editor / IDE - notice how the list is mostly populated by crossplatform apps. image

https://survey.stackoverflow.co/2022/#section-most-popular-technologies-other-tools

A general purpose editor without windows or linux support going up against vscode and intellij is basically dead in the water.

seanmrnda commented 1 year ago

Just going to leave this here:

Workstation OS: image

Editor / IDE - notice how the list is mostly populated by crossplatform apps. image

https://survey.stackoverflow.co/2022/#section-most-popular-technologies-other-tools

A general purpose editor without windows or linux support going up against vscode and intellij is basically dead in the water.

it basically cuts their potential revenue for every other os. As the graph shows that macos number of devs are quite small compared to windows and linux.

yhojann-cl commented 1 year ago

A "spiritual successor to atom" that only works for mac? Sounds like a bad joke. The project was stillborn from the start, the idea of a good editor is its portability and its ability to modify, its flexibility, but this editor lacks the most basic concepts of an editor. I was wondering why I had never heard of this editor but now I understand everything. At the moment Fleet de Intelij is a disaster, there is still no editor that can really replace atom on the linux desktop. Maybe in about 5 more years when they start to give real support to linux it will end up abandoned due to lack of interest.

leejoramo-d51 commented 1 year ago

The Zed team say that Windows are Linux support are planned, but that they are concentrating in "the short term" on building it on the Mac first. They have also stated that they are creating their own UI framework which will be cross-platform.

This is very similar to the path taken by the Sublime Text team. They launched V1 on Windows in 2008 using their own custom framework. (Although it maybe partly based on GTK) Then 4 years later in 2012 they released V2 on Mac and Linux. If I recall correctly I was using the Sublime V2 Beta for macOS as my primary editor nearly two years prior to the official release.

I have tried the Zed Beta on my Mac, but it feels a bit limited for daily use. That is to be expected given that this is an early Beta for a V1 application and is nowhere near feature complete. These days I do most of my development work on Linux, so I will be waiting to give a more polished Linux Beta a test.

rechlin commented 1 year ago

Hi Yhojann, I have started using the Pulsar editor, forked from the community edition of Atom. It works. There are some plugins.

It's a start. Rob

Apr. 21, 2023 11:22:46 a.m. Yhojann Aguilera @.***>:

A "spiritual successor to atom" that only works for mac? Sounds like a bad joke. The project was stillborn from the start, the idea of a good editor is its portability and its ability to modify, its flexibility, but this editor lacks the most basic concepts of an editor. I was wondering why I had never heard of this editor but now I understand everything. At the moment Fleet de Intelij is a disaster, there is still no editor that can really replace atom on the linux desktop.

— Reply to this email directly, view it on GitHub[https://github.com/zed-industries/zed/issues/5395], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AAD543TFM5X4MDL7ZQCK4ODXCKQ4LANCNFSM52DZWIEQ]. You are receiving this because you commented.[Tracking image][https://github.com/notifications/beacon/AAD543RV6RELR6EWMFDKPILXCKQ4LA5CNFSM52DZWIE2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOLJ5MFEQ.gif]

aristotaloss commented 1 year ago

@yhojann-cl You're a Python & JS programmer who uses Atom, how are you complaining?

yhojann-cl commented 1 year ago

The Zed team say that Windows are Linux support are planned, but that they are concentrating in https://github.com/zed-industries/zed/issues/5391 on building it on the Mac first. They have also stated that they are creating their own UI framework which will be cross-platform.

It is understandable up to a certain point only, when you create a cross-platform software with agnostic technology you can create an immediate first release with multiple support, when you release an application with support only for one system and on the way adapt it to others it is because you never had a main focus on the multiplatform since at present there are endless technologies that allow you to work comfortably without having to adapt on a case-by-case basis. This situation surprises me coming from someone who has already worked in atom, based on this concept which zed does not have.

I have started using the Pulsar editor, forked from the community edition of Atom.

Thanks, I'll take a look.

You're a Python & JS programmer who uses Atom, how are you complaining?

I am fullstack, I develop in multiple languages according to each case, mainly in: reactjs, spring boot, python django, flutter, rust, and manage files for markdown files for security tetsing, drafts, etc. The good thing about atom is that you can not only program in it, but you can also manage your files in a project-agnostic way, for example, to edit files outside of the project that are markdown format or edit configuration files outside of the application directory. , etc. Currently every IDE is focused on unitary projects, you have to load each project in a different workspace, in atom I simply drag the project group directory of a solution and I start working on them in an agile way running each project in a terminal with tmux.

As you will see, for me Atom is not an IDE for a particular project or language, it's just a flexible and lightweight editor that adapts to the language of each file I'm going to edit, that's all, unfortunately it did not reach to have support for jsx.. Before Atom I used sublime text 2 but it never had good support for some languages and atom had very good integration with custom components, git etc and you could work on each project without opening or closing workspaces.

How many years do you think it will be before zed is available on flathub?, maybe that will never happen.

tukanoidd commented 1 year ago

The Zed team say that Windows are Linux support are planned, but that they are concentrating in "the short term" on building it on the Mac first. They have also stated that they are creating their own UI framework which will be cross-platform.

I think a lot of people (honestly, me included) just don't understand the reasoning behind going Mac-first. Mac developers are undeniably a minority, most of devs use windows (poor souls) or Linux. So u get a much smaller audience to get any feedback from, which in turn means slower development cycle, which can lead to us, "plebians", never getting the support for our systems, because they will either just continue working on Mac and make shit ton of money from App Store sales (Apple users are very prone to buying shit without thinking about it even for a second) and just drop the "cross-platform" act, or they will abandon the project altogether. I can't give an example rn, cuz i can't think of 1 name even, but I've seen multiple project die out like that just cuz they started with Mac and not Windows/Linux, it's just been some years since I last laid my eyes on a project like that (cuz, well, I'm never planning to move to Mac, and the software HAS to be pretty good to get me excited about the potentiality of cross-platform support). Also, if cross-platform is planned anyway, why not use Vulkan for the rendering stack? It's cross-platform, works closely to the hardware, and requires waaaaaaaay less effort to make it run on multiple systems (i mean, some settings might be platform-dependant, but that's why we have #[cfg(target_os = "...")], But it's still better than rewriting the entire stack bc of completely different API) (ye, ik, on Mac u use MoltenVk where it still just remaps VK calls to metal calls, potentially providing some small overhead, but imo it's very worth it, if you get cross-platform support just by using a different graphics API). And after Vulkan stack is stable enough, they could branch out to DirectX for Windows and Metal for Mac to finally queeze out every last bit of performance they can for those (inferior) platforms.

kanashimia commented 1 year ago

With Vulkan you could also just bundle a CPU based driver implementation, lavapipe or swiftshader, and you will get support for all of the systems that don't implement Vulkan for free, this is useful for nvidia drivers and CI platforms, perhaps it won't even be that slow when compared to native CPU backend, who knows. EDIT: And there is "Dozen" that implements Vulkan on top of D3D 12, similarly to how MoltenVK implements it on top of Metal.

applejag commented 1 year ago

The Zed team say that Windows are Linux support are planned, but that they are concentrating in "the short term" on building it on the Mac first. They have also stated that they are creating their own UI framework which will be cross-platform.

I think a lot of people (honestly, me included) just don't understand the reasoning behind going Mac-first. Mac developers are undeniably a minority, most of devs use windows (poor souls) or Linux. /.../

The reason is that the founders are using Mac, and so they're focusing on Mac first.

Quote:

[Nathan Sobo talking] /.../ so at the moment, we’re only on the Mac. And why is that? That’s because I am a Mac user, and so when I was working nights and weekends on Zed, that was where I started, on the machine I was on. But we’ve designed GPUI very deliberately to not really be platform-dependent. All of the platform-specific pieces are isolated into small interfaces, that should be able to be ported quite readily to other platforms. We haven’t done that yet, because we’re still really early, and we want to learn as much as we can, and develop the product as much as we can in a focused way… /.../

Source: Interview with Nathan Sobo, one of the founders of Zed. ("Goodbye Atom. Hello Zed.", Mar 15, 2023)

Transcript: https://changelog.com/podcast/531#transcript-78 Timestamp: https://changelog.com/podcast/531#t=37:03