Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux support #5395

Closed
JosephTLyons opened this issue Jun 28, 2022 · 57 comments
Closed

Linux support #5395

JosephTLyons opened this issue Jun 28, 2022 · 57 comments
Labels
gpui GPUI rendering framework support ignore top-ranking issues [ignored label] linux platform support An umbrella label for all platforms

Comments

@JosephTLyons
Copy link
Collaborator

JosephTLyons commented Jun 28, 2022

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


A quick note on platform support can be found here:

@jamesmunns
Copy link

Thanks! 👍 'ing this as a blocking issue for me!

@MultisampledNight
Copy link

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

  • Support both X11 and Wayland, not just X11, preferring Wayland if both are available. Xwayland may seem like a nice solution, but in practise it has some implications with HiDPI on Sway (where a window is being told it has only the half of actually available window size, and then gets scaled up twice, ending up pixelated)
  • The window manager might do anything to the window, even if the window is marked non-resizable. Reconfigure your swapchain then instead of just failing because the swapchain blew up.
  • Set window title and class as early as possible, setting it too late (relatively speaking from creating a window) may cause some rules in window managers not to apply.

@ghost
Copy link

ghost commented Jul 7, 2022

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
Copy link

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
Copy link

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
Copy link

To add to the list of fallacies:

@redoxeon
Copy link

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
Copy link

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
Copy link

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
Copy link

alerque commented Sep 22, 2022

@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
Copy link

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

@kiufta
Copy link

kiufta commented Dec 1, 2022

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

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

@stickyburn
Copy link

@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
Copy link

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

Thanks!

@mikayla-maki
Copy link
Contributor

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

@aalbacetef
Copy link

Thanks for the quick response! @mikayla-maki

@secondl1ght
Copy link

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

@hohowt
Copy link

hohowt commented Mar 14, 2023

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
Copy link

bunufi commented Mar 14, 2023

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
Copy link

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
Copy link

alerque commented Mar 15, 2023

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

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
Copy link

atk commented Mar 15, 2023

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

@eureka-cpu
Copy link

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

@wvannoordt
Copy link

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

@edoardo-bluframe
Copy link

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? 😄

@carlosfcezar
Copy link

Please we need Zed for linux!

@TheRedXD
Copy link

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
Copy link

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

@AlexDaniel
Copy link

AlexDaniel commented Apr 3, 2023

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
Copy link

Nikiforov27 commented Apr 9, 2023

Перефразируя часть этого - я думаю, что не существует жизнеспособных «действительно быстрых» кросс-платформенных библиотек с графическим интерфейсом. «Действительно быстро», скорее всего, в любом случае потребуются собственные системы с графическим интерфейсом. Однако, чтобы заставить ваш 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
Copy link

stanier commented Apr 9, 2023

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
Copy link

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
Copy link

1zizi1 commented Apr 10, 2023

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
Copy link

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
Copy link

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
Copy link

yhojann-cl commented Apr 21, 2023

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
Copy link

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
Copy link

rechlin commented Apr 21, 2023 via email

@aristotaloss
Copy link

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

@yhojann-cl
Copy link

yhojann-cl commented Apr 22, 2023

The Zed team say that Windows are Linux support are planned, but that they are concentrating in #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
Copy link

tukanoidd commented Apr 22, 2023

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
Copy link

kanashimia commented Apr 22, 2023

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
Copy link

applejag commented Apr 25, 2023

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

@jansol
Copy link
Contributor

jansol commented Apr 25, 2023

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

That is a good point for porting: a vulkan render backend can be developed independently of the other porting tasks and before even really trying to run on other platforms thanks to MoltenVK.

I would imagine that getting that out of the way in the background while getting Zed to a good overall level of polish and features would make the porting process rather fast once it is time for that. Assuming there is manpower to dedicate to such "background" work that is.

OTOH it is presumably also isolated decently well from all the other work so it should be a relatively safe spot for new hires to start working without interfering with things that are already shipping.

@theArianit
Copy link

Please make a build for linux (flatpak or whatever), can't wait any longer

@hovsater
Copy link
Contributor

hovsater commented May 3, 2023

The Zed team have made it clear that they're not taking feedback on when they start on platform support outside of macOS. Whenever there's news to share, I'll be sure to report back.

@theArianit
Copy link

@hovsater , I might be selfish but how do they think to get a market for their product if they ignore the feedback of their potential customers? they said they will work on releasing it close to the beta. it's 2 months since the beta was released. they are ignoring the majority of their customers for the reason "I have a mac, and you don't"! I understand when they say that they need more time, but it doesn't make sense when they ignore us entirely.
And I wasn't demanding anything from anyone, I was just reminding that we are waiting and can't wait to finally get a glimpse of the zed editor.

@hovsater
Copy link
Contributor

hovsater commented May 3, 2023

Cross platform support is still very much on our radar and we’re dedicated to support both Windows and Linux in the future. As we've previously stated, we aren't taking feedback on the roadmap for platform support and as such we've decided to lock this issue. Any update regarding this will be noted on our website.

@zed-industries zed-industries locked and limited conversation to collaborators May 3, 2023
@JosephTLyons JosephTLyons added the platform support An umbrella label for all platforms label Oct 31, 2023
@zed-industries zed-industries unlocked this conversation Jan 24, 2024
@zed-industries zed-industries locked and limited conversation to collaborators Jan 24, 2024
@JosephTLyons JosephTLyons transferred this issue from zed-industries/community Jan 24, 2024
@JosephTLyons
Copy link
Collaborator Author

JosephTLyons commented Jan 29, 2024

A tracking issue for Linux has been written up here:

@JosephTLyons JosephTLyons added the gpui GPUI rendering framework support label Jan 29, 2024
@JosephTLyons JosephTLyons added the ignore top-ranking issues [ignored label] label Mar 29, 2024
@mikayla-maki
Copy link
Contributor

mikayla-maki commented Jul 10, 2024

Completed as of 143.5 :)

See: http://zed.dev/linux

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
gpui GPUI rendering framework support ignore top-ranking issues [ignored label] linux platform support An umbrella label for all platforms
Projects
None yet
Development

No branches or pull requests