Zed editor switching graphics lib from blade to wgpu (github.com)

271 points by jpeeler 9 hours ago

the__alchemist 6 hours ago

I am confused by this without context. I have not heard of blade, but am aware that Zed built its own GUI library called GPUI. Having used Zed, this is a vote of confidence: The crate ecosystem is historically filled with libaries which try to be The future of X in rust but are disconnected from practical applications. GPUI by nature is not that; it's a UI lib built to a practical and non-trivial purpose. It sounds like Blade is a cross-API graphics engine, by one of the original gfx-HAL (former QGPU name) creators?

I have not used GPUI beyond a simple test case, but had (prior to this news?) considered it for future projects. I am proficient with, and love EGUI and WGPU. (The latter for 3D). I have written a library (`graphics` crate) which integrates the two, and I use for my own scientific applications which have both 2D and 3D applications. Overall, I'm confused by this, as I was looking forward to using GPUI in future applications and comparing it to EGUI. I have asked online in several places for someone to compare who's used both, but I believe this to be a small pool.

I was not sure of the integration between GPUI and WGPU, which can confirm EGUI and WGPU have great integration. But I only care about this because I do 3D stuff; if I were not, I would be using eframe instead of WGPU as the backend.

Unrelated, off-topic, but I'm also not sure where to ask this: Am I missing something about Zed? I have tried and failed to get into it. I really want to like it because it's so fast [responsive], but it seems to lack basic IDE functionality in Python and Rust, like moving structs/functions, catching errors dynamically, introspection and refactoring in general etc. I thought I might be missing some config, but now lean that it's more of a project-oriented text editor than true IDE in the fashion of JetBrains. But I have been unable to get a confirmation, and people discuss it as if it's an IDE or JB alternative.

qznc 5 hours ago

Zed competes mostly against Visual Studio Code. Not against Jetbrains.

stefanka 6 hours ago

Cool, I haven't seen `graphics` before when I was looking for a simple UI/3D visualization option after rend3 has been abandoded. Have been considering bevy/egui too but seems more effort to learn

gigatexal 6 hours ago

I am one plugin away from moving to it directly instead of vscode. I really like it. It’s fast. It gets updates seemingly daily. I’ve never had it crash. It integrates LLMs well. It’s everything I wish vscode was if it were native.

trcf23 6 hours ago

Lucky you. It still crashes quite often for me and it drives me nuts that my Claude code history is lost every time…

But love the project and been using it for almost 2 years now though

dev_l1x_be 6 hours ago

the__alchemist 6 hours ago

I appreciate the info! Are you able to talk me through how to move a struct[class]?

kylecazar 6 hours ago

gigatexal 6 hours ago

piker 8 hours ago

Rust GUI is in a tough spot right now with critical dependencies under-staffed and lots of projects half implemented. I think the advent of LLMs has been timed perfectly to set the ecosystem back for a few more years. I wrote about it, and how it affected our development yesterday: https://tritium.legal/blog/desktop

pjmlp 8 hours ago

Interesting read, however as someone from the same age group as Casey Muratori, this does not make much sense.

> The "immediate mode" GUI was conceived by Casey Muratori in a talk over 20 years ago.

Maybe he might have made it known to people not old enough to have lived through the old days, however this is how we used to program GUIs in 8 and 16 bit home computers, and has always been a thing in game consoles.

JimDabell 6 hours ago

I think this is the source of the confusion:

> To describe it, I coined the term “Single-path Immediate Mode Graphical User Interface,” borrowing the “immediate mode” term from graphics programming to illustrate the difference in API design from traditional GUI toolkits.

https://caseymuratori.com/blog_0001

Obviously it’s ludicrous to attribute “immediate mode” to him. As you say, it’s literally decades older than that. But it seems like he used immediate mode to build a GUI library and now everybody seems to think he invented immediate mode?

SigmundA 5 hours ago

Jtsummers 7 hours ago

It's like the common claim that data-oriented programming came out of game development. It's ahistorical, but a common belief. People can't see past their heroes (Casey Muratori, Jonathon Blow) or the past decade or two of work.

dijit 7 hours ago

moregrist 6 hours ago

kllrnohj 6 hours ago

There's also good reasons that immediate mode GUIs are largely only ever used by games, they are absolutely terrible for regular UI needs. Since Rust gaming is still largely non-existent, it's hardly surprising that things like 'egui' are similarly struggling. That doesn't (or shouldn't) be any reflection on whether or not Rust GUIs as a whole are struggling.

Unless the Rust ecosystem made the easily predicted terrible choice of rallying behind immediate mode GUIs for generic UIs...

meindnoch 4 hours ago

piker 8 hours ago

I mean, fair enough, but [at least] wikipedia agrees with that take.

> Graphical user interfaces traditionally use retained mode-style API design,[2][5] but immediate mode GUIs instead use an immediate mode-style API design, in which user code directly specifies the GUI elements to draw in the user input loop. For example, rather than having a CreateButton() function that a user would call once to instantiate a button, an immediate-mode GUI API may have a DoButton() function which should be called whenever the button should be on screen.[6][5] The technique was developed by Casey Muratori in 2002.[6][5] Prominent implementations include Omar Cornut's Dear ImGui[7] in C++, Nic Barker's Clay[8][9] in C and Micha Mettke's Nuklear[10] in C.

https://en.wikipedia.org/wiki/Immediate_mode_(computer_graph...

[Edit: I'll add an update to the post to note that Casey Muratori simply “coined the term” but that it predates his video.]

pjmlp 8 hours ago

vodou 7 hours ago

arandomhuman 8 hours ago

PKop 7 hours ago

> Maybe he might have made it known to people

Yes, he coined the term rather than invent the technique

adastra22 7 hours ago

pjmlp 7 hours ago

lazypenguin 6 hours ago

Your recent post resonated with me deeply, as someone heavily invested in the Rust GUI I've fallen into this same conundrum. I think ultimately the Rust GUI ecosystem is still not mature and as a consequence we have to make big concessions when picking a framework.

I also came to a similar endpoint when building out a fairy large GUI application using egui. While egui solves the "draw widgets" part of building out the application, inevitably I had to restructure my app entirely with a new architecture to make it maintainable. In many places the "immediate" nature of the GUI mutable editing the state was no longer an advantage. Not to mention that UI code I wrote 6 months ago became difficult to read, especially if there was advanced layout happening.

Ultimately I've boiled my choices down to:

- egui for practicality but you pay the price in architecture + styling

- iced for a nice architecture but you have to roll all your own widgets

- slint maybe one day once they make text rendering a higher priority but even then the architecture side is not solved for you either

- tauri/dioxus/electron if you're not a purist like me

- Rewind 20 years and use Qt/WPF/etc.

sorenjan 5 hours ago

If your main gripe about the Rust GUI ecosystem is that it's not mature then rewinding 20 years and using Qt/WPF/etc sounds like an excellent alternative. Old and mature versus modern and immature.

socalgal2 an hour ago

In my experience immediate mode guis almost always ignore internationalization and accessibility.

The thing you get by using an OS widget and putting a string in it is that the OS can interact with the string. It can read it out load, translate it, fill it in with a password, look it up in a dictionary, edit it right to left, handle input method editors whose hot keys are in conflict with app doing its own editing, etc…

There’s a reason why the most popular ImGUIs are targeted at game dev tools and in game dev uis and not end user uis

You could potentially make an Immediate mode gui that wrapped a retained gui. arguably that is what react is. From the programmers pov it’s supposed to look like imgui code all the way down. It runs into the issues of having to keep to two representations in sync. The ui represented by react and the actual widgets (html or native) and that’s where all its complications come from

piker an hour ago

Yes, one argument that I didn't make in the post but that does favor immediate mode is that you can somewhat straightforwardly convert from an immediate mode GUI to retained mode by just introducing your own abstractions. In some sense this makes you more disciplined about the FPS which could be a net win over all.

[Note that Tritium at least is translated into a number of a different languages. That part isn't that hard.]

jsheard 8 hours ago

> Rust GUI is in a tough spot right now with critical dependencies under-staffed and lots of projects half implemented.

Down the stack, low-level 3D acceleration is in a rough spot too unfortunately. The canonical Rust Vulkan wrapper (Ash) hasn't cut a release for nearly two years, and even git main is far behind the latest spec updates.

the__alchemist 6 hours ago

I am not convinced a thin FFI wrapper needs frequent updates, pending updates to the underlying API. What updates do you think it should have?

jsheard 6 hours ago

delta_p_delta_x 5 hours ago

adastra22 7 hours ago

The canonical Vulkan wrapper is wgpu.

jsheard 7 hours ago

queuebert 8 hours ago

This is why I'm using LLMs to help me hand code the GUI for my Rust app in SDL2. I'm hoping that minimizing the low-level, drawing-specific code and maximizing the abstractions in Rust will allow me to easily switch to a better GUI library if one arises. Meanwhile, SDL is not half bad.

ndiddy 7 hours ago

Honestly I think all native GUI is in a tough spot right now. The desktop market has matured so there aren't any large companies willing to put a ton of money into new fully featured GUI libraries. What corporate investment we do see into new technologies (Electron, SwiftUI, React Native) is mainly to allow developers to reuse work from other platforms like web and mobile in order to cut costs on desktop development. Without that corporate investment I don't think we'll ever see any new native GUI libraries become as fully featured as Win32 or Qt Widgets.

DarkUranium 2 hours ago

I 100% agree on pretty much everything. The "webapp masquerading as a native app" is a huge problem, and IMO, at least partially because of a failure of native-language tooling (everything from UI frameworks to build tools --- as the latter greatly affect ease of use of libraries, which, in turn, affects popularity with new developers).

To be honest, I've been (slowly) working towards my own native GUI library, in C. It's a big undertaking, but one saving grace is that --- at least on my part --- I don't need the full featureset of Qt or similar.

My plan for the portability issue is to flip the script --- make it a native library that can compile to the web (using actual DOM/HTML elements there, not canvas/WebGL/WGPU). And on Android/iOS/etc, I can already do native anyway.

Though I should add that a native look is not a goal in my case (quite a few libraries already go for that, go use those! --- and some, like Windows, don't really have a native look), which also means that I don't have to use native widgets on e.g. Android. The main reason for using DOM on the web is to be able to provide for a more "web-like" experience, to get e.g. text selection working properly, as well as IME, easier debuggability, and accessibility (an explicit goal, though not a short-term one --- in part due to a lack of testers). Though it wouldn't be too much of a stretch to allow either canvas or DOM on the web at that point --- by treating the web the same as a native platform in terms of displaying the widgets.

It's more about native performance, low memory use, and easy integration without a scripting engine inbetween --- with a decent API.

I am a bit on the fence between an immediate-mode vs retained-mode API. I'll probably do a semi-hybrid, where it's immediate-y but with a way to explicitly provide "keys" (kind of like Flutter, I think?).

osener 5 hours ago

> We ignore for these purposes Zed's GPUI which the Zed team has transparently, and understandably abandoned as an open source endeavour

Do you have a source for this?

eviks 4 hours ago

osener an hour ago

piker 5 hours ago

The Zed team said it themselves. There is a direct quote in the parent thread.

api 7 hours ago

Open source GUI development is perpetually cursed by underestimating the difficulty of the problem.

A mature high-quality GUI with support for all the features of a modern desktop UI, accessibility, support for all the display variations you encounter in the wild, high quality rendering, high performance, low overhead, etc. is a development task on par with creating a mature game engine like Unity.

Nearly all open source GUI projects get 80% of the way there and stall, not realizing that they are only 20% of the way there.

kbelder 5 hours ago

You're right, and I think that's because the core functionality of a UI lib is not too difficult. I've tinkered in that space myself, and it's a fun side project.

Then you start to think about full unicode support, right-to-left rendering, and so on. Then you start to think about properly implementing accessibility features. The necessary work increases by a magnitude. And it's not fun work. So you stall out with a bare-bones implementation.

paddy_m 8 hours ago

I'd love to read a writeup of the state of Rust GUI and the ecosystem if you could point me at one.

IshKebab 8 hours ago

https://www.boringcactus.com/2025/04/13/2025-survey-of-rust-...

I started writing a program that needed to have a table with 1 million rows. This means it needs to be virtualised. Pretty common in GUI libraries. The only Rust GUI library I found that could do this easily was gpui-component (https://github.com/longbridge/gpui-component). It also renders text crisply (rules out egui), looks nice with the default style (rules out GTK, FLTK, etc.), isn't web-based (rules out Dioxus), was pretty easy to use and the developers were very responsive.

Definitely the best option today (I would say it's probably the first option that I haven't hated in some way). The only other reasonable choices I would say are:

* egui - doesn't render very nicely and some of the APIs are amateurish, but it's quick and it works. Good option for simple tools.

* Iced - looks nice and seemed to work fairly well. No virtualised lists though.

* Slint (though in some ways it is weird and it requires quite a lot of boilerplate setup).

All the others will cause you pain in some way. I think the "ones to watch" are:

* Makepad - from the demos I've seen this looks really cool, especially for arty GUI projects like synthesizers and car UIs. However it has basically no documentation so don't bother yet.

* Xilem - this is an attempt to make an 100% perfect Rust GUI library, which is cool and all but I imagine it also will never be finished.

nicoburns 7 hours ago

WD-42 7 hours ago

chiffaa 7 hours ago

cess11 7 hours ago

kelvinjps10 7 hours ago

I don't feel like having one main library for creating windows it's bad, I feel like that way the work gets shared and more collaboration happens

nu11ptr 8 hours ago

Really? It seems better than ever to me now that we have gpui-component. That seems to finally open doors to have fully native guis that are polished enough for even commercial release. I haven't seen anything else that I would put in that category, but one choice is a start.

piker 8 hours ago

The problem is that Zed has understandably and transparently abandoned supporting GPUI as an open source endeavour except to the extent contributions align with its business mission.

nu11ptr 8 hours ago

atombender 8 hours ago

I tried gpui recently and I found it to be very, very immature. Turns out even things like input components aren't in gpui, so if you want to display a dialog box with some text fields, you have to write it from scratch, including cursor, selection, clipboard etc. — Zed has all of that, but it's in their own internal crates.

Do you know how well gpui-component supports typical use cases like that? Edit boxes, buttons, scroll views, tables, checkbox/radio buttons, context menus, consistent native selection and clipboard support, etc. are table stakes for desktop apps.

nu11ptr 7 hours ago

karel-3d 8 hours ago

Can I humbly ask how are LLMs and Rust GUIs related?

piker 8 hours ago

They're just straining already-strained resources on the "contributions" side and pushing interest in other directions (e.g. Electron).

tonyedgecombe 7 hours ago

What’s the point of writing open source if it’s just going to be vacuumed up by the AI companies and regurgitated for $20 a month.

airstrike 7 hours ago

iced is doing great

satvikpendem 8 hours ago

Zed also stopped GPUI (their GPU accelerated Rust UI framework) development for now, sadly.

> Hey y'all, GPUI develoment is getting some major brakes put on it. We gotta focus on some business relevant work in 2026, and so I'm going to be pushing off anything that isn't directly related to Zed's use case from now on. However, Nate, former employee #1 at Zed, has started a little side repo that people can keep iterating on if they're interested: https://github.com/gpui-ce/gpui-ce. I'm also a maintainer on that one, and would like to try to help maintain it off of work hours. But I'm not sure how much I'll be able to commit to this

https://discord.com/channels/869392257814519848/144044062864...

laweijfmvo 6 hours ago

> We gotta focus on some business relevant work in 2026

Remember that post announcing the millions of VC capital they raised? This is the result

Aurornis 4 hours ago

Using mainstream libraries instead of reinventing the wheel would have been a good decision with or without VC money.

I like Zed but it's still my secondary editor because it's missing usability features that I value in other editors. I think we all benefit if they focus their attention on the parts of Zed that differentiate it rather than writing new frameworks and libraries.

pastel8739 4 hours ago

staticassertion 5 hours ago

You vastly overestimate the amount of pressure a board can place on an early stage startup. The far more likely scenario to me (someone who raised VC money) is that the CEO likely looked at their run rate and decided to prioritize things more aggressively. This is hardly surprising and it has nothing to do with VCs.

tptacek 5 hours ago

What's that, doing actual work rather than labor-of-love open source stuff? Seems reasonable.

Did you not raise a bunch of money from Sequoia? Sounds like you're in a perfect place to quit your job and hack on GPUI for us.

Barrin92 3 hours ago

satvikpendem 6 hours ago

Without such venture capital, I doubt GPUI, at least to the level of complexity it has today rather than being a toy project, would have even existed. It costs money to develop open source sustainably.

koito17 6 hours ago

torginus 4 hours ago

ellieh 21 minutes ago

gpui existing in the first place is a result of them raising VC

dkersten 2 hours ago

They really should focus on fixing bugs and improving basic functionality.

Eg if you edit or create a file outside of Zed, there’s a good chance it won’t show up in the file browser.

Also… multi window doesn’t exist so the multi monitor story is trash.

nu11ptr 7 hours ago

While unfortunate, to me this just says any user requested features aren't going to get merged anytime soon. As is, it already runs on windows/linux/mac, and will need to do so maturely for Zed to function. Therefore, to me, this isn't that big of a deal, and when they need things like web support (on their roadmap), they will then add that.

I'm curious... does anyone have any PRs or features that they feel need merging in order to use GPUI in their own projects? (other than web support)

satvikpendem 6 hours ago

I recently saw a PR where the author implemented shaders but it was closed by the maintainers as the feature wasn't needed by Zed the editor.

nu11ptr 5 hours ago

iamnbutler 5 hours ago

I started the gpui-ce fork but I'm becoming somewhat more interested in a fresh framework that is more aligned with the rust ecosystem in general - using crates like glam/glamour, parley, palette, etc

Lots of gpui was built with build Zed/a text editor in mind directly, and as folks have mentioned here, it is hard for Zed Industries to justify work on gpui that is purely for the community. Nathan is usually pretty pragmatic around not optimizing early, and gpui is generally serving Zed's needs at the moment (from what I know, I haven't worked on Zed since July)

I do think ZI would generally benefit if gpui did get pulled out of Zed if there was a community that was passionate about taking it over... but that is time and effort in itself.

satvikpendem 36 minutes ago

You might also want to look into Dioxus Native as it's doing a lot of what you're interested in too, with taffy and vello for example. The gaps I see in the Rust UI ecosystem as you asked are that I want a true cross platform solution for mobile, web, and desktop while most focus only on desktop, as I use Flutter currently for this purpose but need to pull in Rust crates through an FFI layer like flutter_rust_bridge, as well as a backend server in Rust and having to share types with the frontend through some agnostic format like GraphQL, so it'd be nice to have everything in one language. Dioxus Native does in fact bill itself as "Flutter but in Rust" which I'm looking forward to a lot.

How was it like working at Zed? Any reason for leaving?

iamnbutler 4 hours ago

I would be curious to hear about where folks are finding gaps in the rust ui ecosystem though...

I've written quite a lot of rust UI code for Zed over the past few years so I'm mostly familiar with the pros and cons of gpui, but I haven't spent much time with Iced, Dioxus, Xilem, etc.

EnergyAmy 4 hours ago

atonse 6 hours ago

Does this mean they’re struggling financially?

Yet more disruption caused by coding agents, I’m sure. We saw it quite visibly with Tailwind, now I can see if code editors are maybe struggling too, especially something like Zed which was probably still used mostly by early adopter type People, who have early adopted TUI coding agents instead.

I only use cursor and zed to browse code now.

stonogo 6 hours ago

I don't think it means they're struggling financially. I think it means they're not steering the ship alone any more, and are responsible to others. That's how accepting investment money generally works.

throwaway613746 6 hours ago

Ironic, because AI Agent integration is their business model.

satvikpendem 36 minutes ago

norman784 5 hours ago

The thing with GPUI is that the library itself is very low level and their scope is limited (by design I suppose), the ui with components is a separate crate with GPL license, while GPUI license is Apache.

As far GPUI has a great foundation, the community can built the components themselves.

slopusila 5 hours ago

what is the business case for a text editor in a code writing agent world?

maybe they could pivot into the luxury boutique hand-crafted artisanal code market

dxdm 4 hours ago

Text editors are for cleaning up after the agents, of course. And for crafting beautiful metaprompt files to be used by the agentic prompt-crafter intelligences that mind the grunt agents. And also for coding.

righthand 6 hours ago

Iced.rs is probably the better UI library anyways in the long run as it’s backed by a major hardware vendor.

https://iced.rs

tensor 4 hours ago

Iced seems really promising, however, it's a passion project by a single developer. They very clearly stated that their goal is to follow their passions and desires first, everyone else second, and that it will always be a single person project. Their readme even discourages contributions.

Companies using it in production are often forking it as a result, and trying to keep their fork in sync. Ultimately, if the community wants iced to become a major and stable framework, it will have to be forked and a community development model built around it.

And I'm not saying this to disparage the author in any way, their readme even seems to suggest that that's exactly what they'd prefer.

jenadine 3 hours ago

satvikpendem 6 hours ago

I'm partial to Dioxus with their native renderer coming up, it should work cross-platform on mobile, web, desktop like Flutter (except web is actually HTML and CSS, not canvas) rather than only desktop which is what most Rust GUI frameworks are targeting.

https://github.com/DioxusLabs/blitz

vatsachak 4 hours ago

tribaal 6 hours ago

Not contesting your claim, but would you mind sharing what major hardware vendor you mean?

I love iced and wrote a decent amount of code using it, but in my mind the biggest sponsor is system76 - and as awesome as they are they aren’t a major vendor yet :)

okanat 5 hours ago

nu11ptr 5 hours ago

Not sure how the UI engine itself compares, but to me it is all about the available components (as a total non-designer, although AI helps with that now). The only choice I have at the moment that would meet my needs is gpui, as gpui-component now exists.

jenadine 4 hours ago

There is also Slint : https://slint.dev They are also backed by a company, and have kept a stable 1.x release for some time.

KingOfCoders 6 hours ago

Switched from Intellij (various) to Cursor because of AI integration, only using Claude Code CLI, switched to VS because Cursor became so annoying every release, pushing their agents down my throat, activating what I did deactivate every release, recently thought "Why do I even use that slow bloated thing of VS?" and switched to Zed. Very happy camper. So much faster. So much snappier. Would love Claude Code CLI integration but can live without it. Would pay for Zed as I did pay ~25y for Intellij.

ffreire 6 hours ago

Are you familiar with ACP[0]? Through that protocol you can run claude code within zed[1]. Or perhaps I'm not understanding what you mean by using CC integration.

[0]: https://agentcommunicationprotocol.dev/introduction/welcome [1]: https://zed.dev/docs/ai/external-agents#claude-code

clickety_clack 6 hours ago

Yep. Zed is the best. It’s in an optimum spot for me. It’s super snappy and has good implementation of vim keybindings for manual coding, and it has appropriate AI integration that does all the AI stuff I want without being in my face about how AI it all is.

marrone12 4 hours ago

Same, except for me Zed is one of the only editors that has emacs keybindings!

staticassertion 5 hours ago

Yeah, I find Zed to be strictly the best experience for "I actually want a pleasant editor" experience. Using it reminds me of when I finally switched from nano to sublime as a freshman.

ZeroCool2u 8 hours ago

An interesting side effect of moving to wgpu is that in theory with some additional work, this could allow you to run Zed in a web browser similarly to how some folks run VSCode as a remote interface to the backend running on a server.

nu11ptr 8 hours ago

From the PR, it sounds like the switch to WGPU is only for linux. The team was reluctant to do the same for macOS/Windows since they felt their native renderer on those platforms was better and less memory intensive.

swiftcoder 8 hours ago

> they felt their native renderer on those platforms was better and less memory intensive

This definitely would be worth some profiling. I don't think it's a given that their custom stacks are going to beat wgpu in a meaningful way.

nicoburns 6 hours ago

flohofwoe 8 hours ago

MindSpunk 7 hours ago

vitorsr 8 hours ago

ZeroCool2u 8 hours ago

Yes, but they can add a flag to switch renderers on startup like they had for blade.

rafaelmn 8 hours ago

Rendering in the browser has nothing to do with being able to do remote editing like you can in VSCode - you would just be able to edit files accessible to the browser.

Just like you can hook up local VS code native up to a random server via SSH, browser rendering is just a convenience for client distribution.

You would need a full client/server editor architecture that VS code has.

nahuel0x 7 hours ago

Zed already has a client/server editor architecture: https://zed.dev/docs/remote-development

nindalf 8 hours ago

Quoting maddythewisp from that PR:

> There is significant work beyond the renderer that would need to happen to run Zed in a browser - notably background tasks and filesystem/input APIs would need web/wasm-compatible implementations.

arghwhat 8 hours ago

Well, not really. It means you have a renderer that is closer to being portable to web, not an editor that will run in web "with some additional work". The renderer was already modular before this PR.

ethmarks 4 hours ago

A web port is apparently already on their roadmap: https://zed.dev/roadmap#:~:text=Zed%20on%20the%20Web

ZeroCool2u 4 hours ago

I didn't realize that, super exciting!

usefulcat 8 hours ago

If you're talking about remote editing (editing files which reside on a remote server), Zed already supports that?

Octoth0rpe 7 hours ago

I believe they're referring to running Zed entirely in a browser. This opens up possibilities like using zed for something like codepen, or embedding it into a git web frontend like gitea. Many projects like this basically embed vscode, a rare benefit of being an electron app which Zed is not.

ZeroCool2u 7 hours ago

readitalready 8 hours ago

Can this be done on a cheap AWS EC2 instance?

ZeroCool2u 8 hours ago

Sure it takes very little hardware power to do this, but Zed isn't actually setup for this yet. This is in theory and after a few more API's are adapted.

bhasinanant an hour ago

Zed is my goto editor when I'm not vibe coding, but that is rare these days. Their integration with Claude Code, etc really helped, but Antigravity completely pulled me away. And really, since they're catering to the same basic audience, the defaults should be the same as VSCode for most stuff. VSCode but performant would be an excellent pitch for the upcoming consumer RAM deficient world.

Dunno how they plan to get wider extensibility and community support without an embedded JS backend to support the existing Code plugins. That's where the real blocker is.

another_twist an hour ago

Curious: whats your primary programming language and what sort of development do you do ? In my experience with LLMs agentic coding paired with a good IDE works wonders. Its also allows me to surgically write critical bits of code myself while outsourcing boilerplate stuff.

nmilo 6 hours ago

I find it odd the rust community feels the need to reimplement tried and tested APIs in "pure safe Rust". Like no other language has better C integration, and we have had cross-platform windowing libraries since like the 90's, why does everyone reach for a brand new unstable libraries with less maintainer support?

Edit: replying to https://tritium.legal/blog/desktop, not the OP

staticassertion 5 hours ago

My very weak understanding is that a lot of the C/C++ libraries heavily leverage concepts like inheritance that don't map well to Rust, and so a lot of the GPU work has been "how do we actually make this an idiomatic API?" and that has required more experimentation.

AFAIK people 100% are using other libraries for UI, but often use a macro or something to force Rust to behave in a way that those libraries expect.

I haven't read about this in literally years, but that's my recollection.

zem 5 hours ago

yeah, it's fine that people are experimenting with new gui toolkits from scratch but I wish gtk integration got a lot more love.

jauntywundrkind 6 hours ago

Aside from Rust being better (impl is such a great decoupling, fearless type safety), there is afaik nothing one tenth as useful and good as cargo & is crate ecosystem (docs rs, crates.io, and all the packages).

I find it odd the broader hacker community feels the need to requestion and cross-examine every choice for using rust. Like, no other language has such great just works ergonomics, with a solid language, fantastic tooling, excellent packages that gives it a just works the first time cross-platform joy. Why does every thread have to spawn a brand new unsupported whinge throwing dirt at what seems like such an obvious enjoyable choice?

saghm 6 hours ago

I think you might be misunderstanding the parent comment. It sounds to me like they're arguing in favor of wrapping C GUI library when writing a GUI app in Rust, not avoiding Rust entirely. As far as I can tell, they're arguing for writing new stuff in Rust that happens to be re-using some components that aren't in Rust. I'd argue that's entirely in the spirit of Rust; kind of the whole point is that you can put a hard boundary on where the unsafety lies and make everything safe outside of that boundary. When I use a Vec or a HashMap, there's unsafe code under the hood, but it doesn't stop me from writing my own code without needing to dip into unsafe at all, and there's no fundamental reason why the same couldn't be done by wrapping Qt or Gtk on Linux or Cocoa or MacOS.

piker 4 hours ago

nmilo 6 hours ago

Ah, I meant to reply to https://news.ycombinator.com/item?id=47003058. Never questioned the use of Rust, only the need for the entire windowing stack to be in Rust (that blog post shows a case where it bit them)

drnick1 5 hours ago

One could argue that Rust isn't well suited for GUI development at all, where class-based OOP really shines.

Then there is the issue that the Rust community likes to rewrite classic C programs because of "memory safety" and "modern tooling," but really just focuses on the easy 80% of the work. It feels like these rewrites are more done to gain popularity on GitHub than anything, as they most often remain incomplete and never replace the original implementation.

Finally there is the GPL to MIT licensing issue, on which much has been said already.

shdh 6 hours ago

Rust build times are not an enjoyable part of its DX

duped 3 hours ago

GUI is much more than just cross platform windowing. Which fwiw, is a mostly solved problem in Rust - there's not a bunch of reimplementation or instability. The ecosystem is solidified behind winit (*).

Also, we don't have good cross platform desktop GUI libraries in C. That's why everyone started using Electron.

(*) with some small exceptions

fishgoesblub 8 hours ago

I hope this can somehow improve the font situation. Even on a 1440p monitor, the fonts in Zed are much blurrier than any other editor I've used. I Can't even use bitmap fonts like VSCode.

TingPing 7 hours ago

From what I see wgpu isn’t using the same font stack as chromium. I think the Rust community would be against those dependencies.

You can just convert bitmap fonts, supporting them doesn’t make sense in 2026.

fishgoesblub 6 hours ago

bitmap fonts are the only fonts where I can get crisp, sharp, and not blurry text. I don't have an expensive "Retina" style display.

TiredOfLife 6 hours ago

fishgoesblub 5 hours ago

Tried it when it when that update released and just now, still blurry as ever.

ziml77 4 hours ago

A text editor that can't render clear text is wild...

stephc_int13 4 hours ago

Zed seems to be already suffering from heavy technical debt. From my perspective, as a game dev, their stack is a lot heavier than it should be.

steve_adams_86 2 hours ago

What is the debt? As a user, Zed feels more like the only IDE that isn't weighed down with debt. It's incredibly fast, responsive, stable, and it's iterated on very quickly.

verdverm 4 hours ago

That happens when you don't talk to enough users, build the wrong things, and then iterate like a good startup. It compounds

Building a chat platform in an IDE with CRDTs...? That screams we are more interested in the solutions than the problems, and that they didn't appreciate network effect before attempting this

shimman 4 hours ago

They are talking to their users, it's not those that use Zed it's the VC firm that funds them. They seem to be implementing everything those users want.

verdverm 43 minutes ago

net_ 6 hours ago

In 2020, I started working on a (C++) game engine. Since the only decent open-source UI option was Dear ImGui (which was obviously a bad choice for consumer-facing UIs), I ended up rolling my own retained-mode UI library on top of SDL. Now, it's fully-featured enough that I rarely have to touch it. There's even a major company using it for embedded products.

I don't get why every language's community doesn't just do the same thing: roll an idiomatic UI lib on top of SDL. It was tough, but I was able to do it as a single person (who was also building an entire game engine at the same time) over the course of a couple years.

miguel_martin 5 hours ago

SDL is not perfect, e.g. you can't get pinch/zoom events on MacOS. IMO, using the OS APIs yourself is better.

mort96 6 hours ago

How's the accessibility?

dblohm7 16 minutes ago

I'm not trying to troll here, asking seriously: are there any immediate-mode GUI APIs with good a11y?

net_ 6 hours ago

I haven't worked on screen reader support, yet. Support for alternative text input is built into SDL. UI size scaling is a feature I plan on adding eventually.

doodlesdev 5 hours ago

createaccount99 5 hours ago

Clean change, all things considered. But, like, what? What's to say you won't run into a billion problems here, too?

g947o 8 hours ago

Will this help running Zed in environments with no GPU/old GPUs? There have been some complaints about not being able to run Zed on Ivy Bridge or in VMs, even though browsers and other applications work perfectly fine

andsoitis 9 hours ago

(for the linux renderer only)

athrowaway3z 8 hours ago

A bit of a tangent, but I wish the makepad project would get more traction in rust. Their cross-platform approach is extremely ambitious.

throwup238 8 hours ago

Oh sweet! I threw out GPUI completely from one of my projects because of Blade. I needed headless with rendering to image for e2e testing and gave up on GPUI after trying to mess with Blade. It’s definitely a mess and moving to egui has only shuffled the deck chairs around.

amelius 8 hours ago

Will this make Zed slower, since Wgpu is just a compatibility layer, adding more code?

tracker1 5 hours ago

Depends on all implementation, environment and hardware details.

Muromec 8 hours ago

Oh, this is nice. Latest builds stopped working on panfrost because it does not announce the sufrace capabilities or something like that. Maybe I can have it back to working on the orange pi

skerit 8 hours ago

Why was Blade ever decided upon? Is it older than wgpu?

suby 8 hours ago

I don't know why Blade was decided on, but it was started by Kvark who worked on WGPU for Mozilla for some time. I assumed it would be a good library on that basis.

gpm 6 hours ago

kvark was also involved in the initial implementation of zed's blade backend... which probably contributed.

conorbergin 8 hours ago

Is webgpu a good standard at this point? I am learning vulkan atm and 1.3 is significantly different to the previous APIs, and apparently webgpu is closer in behavior to 1.0. I am by no means an authority on the topic, I just see a lack of interest in targeting webgpu from people in game engines and scientific computing.

flohofwoe 8 hours ago

For a text editor it's definitely good enough if not extreme overkill.

Other then that the one big downside of WebGPU is the rigid binding model via baked BindGroup objects. This is both inflexible and slow when any sort of 'dynamism' is needed because you end up creating and destroying BindGroup objects in the hot path.

Vulkan's binding model will really only be fixed properly with the very new VK_EXT_descriptor_heap extension (https://docs.vulkan.org/features/latest/features/proposals/V...).

conorbergin 3 hours ago

Do you think Vulkan will become "nice" to use, could it ever be as ergonomic as Metal is supposed to be?

xyzsparetimexyz 4 hours ago

The modern Vulkan binding model is relatively fine. Your entire program has a single descriptor set containing an array of images that you reference by index. Buffers are never bound and instead referenced by device address.

pornel 7 hours ago

Bevy engine uses wgpu and supports both native and WebGPU browser targets through it.

The WebGPU API gets you to rendering your first triangle quicker and without thinking about vendor-specific APIs and histories of their extensions. It's designed to be fully checkable in browsers, so if you mess up you generally get errors caught before they crash your GPU drivers :)

The downside is that it's the lowest common denominator, so it always lags behind what you can do directly in DX or VK. It was late to get subgroups, and now it's late to get bindless resources. When you target desktops, wgpu can cheat and expose more features that haven't landed in browsers yet, but of course that takes you back to the vendor API fragmentation.

swiftcoder 8 hours ago

It's a good standard if you want a sort of lowest-common-denominator that is still about a decade newer than GLES 3 / WebGL 2.

The scientific folks don't have all that much reason to upgrade from OpenGL (it still works, after all), and the games folks are often targeting even newer DX/Vulkan/Metal features that aren't supported by WebGPU yet (for example, hardware-accelerated raytracing)

pjmlp 7 hours ago

Khronos is trying to entice scientific folks with ANARI, because there was zero interest to move from OpenGL as you mention.

https://www.khronos.org/anari/

flohofwoe 8 hours ago

Seeing that the author of Blade (kvark) isn't exactly a 3D API newbie and also worked on WebGPU I really wonder if a switch to wgpu will actually have the desired long term effect. A WebGPU implementation isn't exactly slim either, especially when all is needed is just a very small 3D API wrapper specialized for text rendering.

xyzsparetimexyz 4 hours ago

Cross API graphics abstractions are almost always a bad idea even if its just wrapping modern DX12 and Vulkan, and always always are when Metal comes into the mix.

littlestymaar 5 hours ago

Kvark was leading the engineering effort for wgpu while he was at Mozilla.

But he was doing that on his work time and did so collaborating with other Mozilla engineers, whereas AFAIK blade has been more of a personal side project.

alphazard 8 hours ago

Can someone, who knows computer graphics, explain why the old library had so many issues with flickering and black triangles or rectangles flashing on the app, and why the new library is expected to not have those same problems?

StilesCrisis 8 hours ago

The old graphics library was basically unmaintained; bug fix PRs were being ignored. WGPU is very actively maintained.

tlhunter 6 hours ago

Hopefully this will get momentum scrolling working.

n0r0n1n 5 hours ago

Zed ignoring local LLM makes me to sad to worry about the rendering. Not sure why it needs acceleration but willing to learn!

29athrowaway 6 hours ago

wgpu's OpenGL support is kind of broken. wgpu + Vulkan is the stable combination, unless I am mistaken

badhorseman 8 hours ago

The Zed editor seems kind of silly to me. I would rather my editor works in many possible environments maybe even one that only has a tty interface.

What advantages are people finding with this editor other then high fidelity scrolling.

linolevan 7 hours ago

Early Zed user here.

There’s a lot of small things you’ll hit if you use Zed where it’s a subtlety nicer design point, but one of the big ones for me is project-wide search. Zed’s multibuffers are SO much better than VS Code’s equivalent.

If I’m debugging something on a coworkers laptop, VSCode is mostly usable until I hit that.

If you’re a craftsman, it’s worth trying different tools!

steve_adams_86 2 hours ago

Agreed, multibuffers are such a huge QOL feature. I love being able to work across a dozen or more buffers at once with no impact on performance. You can work in so many places at once, navigate from the buffer to its file and back, widen the buffer up or down, etc. It feels like a super power.

chiffaa 7 hours ago

A lot of people use VSCode. Zed's value proposition is being basically that but with fully native code, so without the madness that is Electron. If you're not a fan of this kind of tooling, it's totally fine, but many people see the value in having an extensible graphical code editor

throwa356262 4 hours ago

Is Zed really fully native?

Last time I tried it (few months back) it felt really slow. Truns out it was spawning nodejs servers and using tons of memory.

Honestly, vscode was much faster for me (and looked much better).

logicprog 4 hours ago

badhorseman 7 hours ago

My tone probably came off as antagonistic and that was not my intention. I was interested in if anyone was using the high fidelity graphical features for something other then making the environment prettier.

I am always interested in what features new editors and how people use them and such and if I am missing out.

pkilgore 7 hours ago

logicprog 3 hours ago

It's not clear to me why you would want your editor to run in as many environments as possible unless you're a system administrator? Generally, most of us do our serious coding work on the major OS platforms and we would want a native editor that takes advantage of those platforms and the hardware they tend to run on maximally; if we need to edit something on some other box elsewhere, we could either use Zed's remote development system or just use MicroEmaca Nano or VI depending on which key bindings were used to.

The advantage I find personally, at least compared to something like emacs, is not just that you get high fidelity scrolling, but that the editor can open 60,000 line code files instantaneously syntax highlight all of it using trees that are and be butter smooth and responsive the entire time I'm searching through making multi-cursor edits or moving through the file. As well as being able to open for instance log files that are multi-megabytes large without having to worry about anything.

Plus, Zed has a lot of refinements and features over other editors, even if you discount the benefits of GPUI. I've spoken at length before about why I think its approach to coding agents is the best at sort of enhancing the human in the loop and keeping you in a flow state and preventing skill degradation[0], but I also think the range and design of the editing actions are better than almost all modern text editors, closer to what something like Emacs provides, and the UI is overall more streamlined and pleasant to use than something like VS Code, even though it's generally the same philosophy. There's also the collaboration features and the edit predictions.

[0]: https://news.ycombinator.com/item?id=46995110

badhorseman 3 hours ago

> It's not clear to me why you would want your editor to run in as many environments as possible unless you're a system administrator?

All I really was trying to say is that one may find themselves in a more limited environment at some points, I was not so much thinking of remote editing for the reason you mentioned that most developers or even system admins(unless restricted for security reason or some other) can just remote in and most editors these days do this well. but in a situation where one may be installing their system or their graphics acceleration has broken for what ever reason and now one is without their trusty editor so although I hardly every use emacs in a tty or pty it's a fallback in case something goes wrong so I can fix it while still using my editor.

>that the editor can open 60,000 line code files instantaneously syntax highlight all of it using trees that are and be butter smooth and responsive the entire time I'm searching through making multi-cursor edits or moving through the file.

this definitely sounds interesting, emacs when dealing with very large log files and such is not always fantastic and some features become painfully slow or completely unusable .

Your other points on the AI features are interesting I have been using Aider and tried aidermacs but ended up going back to a shell buffer with some basic commands to switch back to the buffer and other features to control it, while in one of the code buffers. So will definitely look at some of the AI features when I give it a spin.

eklavya 7 hours ago

I wanted to check the hype, so I installed Zed and opened a go project.

Ram usage:

VS Code 580 MB

Zed 410 MB

I don't see a reason yet to switch away from VS Code, more feature complete and I don't care about scroll speed, it's good enough in vs code.

nicoburns 2 hours ago

Try Sublime Text if you want lower RAM usage. My instance is currently sitting at ~120mb with 3 separate projects open (that does not include usage by Rust Analyzer which runs in a separate process (and tends to use GBs of RAM), but I suspect your numbers don't either)

tracker1 5 hours ago

Kind of there with you... was pretty surprised how big the surface was with Zed, and it definitely doesn't do all the things I do in Code currently.

roflcopter69 5 hours ago

How much of the RAM usage is by gopls (The Go LSP)?

throwa356262 4 hours ago

Last time I used zed for go development it spawned nodejs servers (downloaded without asking for permission!) for god knows what.

I dont understand the zed hype, not only the UI has tons of issues, memory usage is not that different

drannex 2 hours ago

r4nd0m4ch 6 hours ago

what about CPU usage? Overall I agree, it doesn't have enough plugins and is not well supported yet.

grougnax 2 hours ago

nu11ptr 7 hours ago

Does Zed have cursor-like tab completion yet?

tuzemec 6 hours ago

nu11ptr 6 hours ago

x0x0 5 hours ago

I came from nvim after using vim for decades. For me, you could approximate Zed with endless hours of tinkering in nvim, or I could just use Zed.

Things that keep me: fast. Easy project wide search that is fast. Easy file completion that is fast. Easy ability to add/remove line numbers from a gutter. Vi keys that... kinda mostly work. Sorta. Code collapsing that I didn't have to spend hours fidgeting with that also mostly works with Ruby (except for rescue clauses / end-of-function exception handling which collapses weirdly.)