Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Greenfield – The In-Browser Wayland Compositor (github.com/udevbe)
71 points by cunidev on Nov 16, 2021 | hide | past | favorite | 26 comments


Author here. If you want to know a bit more about the history of greenfield, I’ve written a bit about it on twitter: https://mobile.twitter.com/FriedChicken/status/1420671685485...


Does it run games? :)


Not tested but it could although rather slowly as currently the proxy compositor does not expose OpenGL capabilities for doing zero copy application buffer passing. With enough time you could completely integrate it with steam though…


> It can run native Wayland applications remotely

Have we come full circle?

Also, similar interesting, but old, project is: https://gitlab.gnome.org/GNOME/gtk/tree/master/gdk/broadway


One difference is that while broadway only works with GTK programs, Greenfield theoretically should work with any Wayland-supporting program (including apps using GTK 3 or 4). I wonder what options there are for running an X11 server in a browser..


> I wonder what options there are for running an X11 server in a browser..

Xpra can do something like that, or you can run a headless X server with x11vnc, or just Xvnc, and then front it with Apache Guacamole or such.


There was an X initiative, also called Broadway, to remote X applications over relatively slow internet links. I seem to recall a browser plugin X server as part of this.


Wasn't getting rid of the network transparency the proclaimed reason to switch from X to Wayland?


No, not at all. It was just a FUD argument.


Hi. I find the project very cool and interesting. Good job!

I wanted to comment on what you state in the FAQ [1] about the license: "_We realize this is quite a restrictive license_".

I think this is not correct, nor a good thing. It's more than fine that you use this license and plan to add commercial licensing. But AGPLv3 is an open source license, which provides all the freedoms of the free software. This, categorizing it as "restrictive" sounds almost the opposite of what the license is.

What the license actually does is to ensure that the software will keep the freedoms guaranteed by its license on many circumstances, whereas those freedoms could be removed on proprietary forks if the license where BSD, Apache2 or similar licenses.

Not advocating for or against any license, but I believe the language used to speak about the license is not correct.

[1]: https://www.greenfield.app/faq


Every web project ought to have a hosted demo, but I couldn't find one here.


There used to be one for about half a year I believe, but I found 280 dollars a month (gpu cloud is crazy expensive) too costly for just a demo.


because it is costly to scale a video streaming app.


Seems like it ought to be possible to run the client in the browser too and do everything locally for a demo.


After 15y of Linux I have pretty good understanding of the kernel subsystems. If I hit an issue I have pretty good first hunch on where to look.

But the graphical stack, it's just so opaque. DRM, mesa, X and all its extensions and userspace drivers, Wayland and its compositors, DRI, RADV. Is there any good read or a video which ties all these concepts together?


Missing the most recent developments but still mostly accurate: http://neugierig.org/software/blog/2011/11/graphics-stack.ht...


To the authors, is it possible to have a “local mode” that doesn’t use gstreamer to encode the application frame from the server to the client and instead passes a gpu memory reference from the application to the browser? Like the way wayland compositors generally work. There must be some GL extension that can enable that functionality.


Not possible, webgl is sandboxed and doesn’t expose the required egl extension. It might be possible if you’d port it to deno and use some native code perhaps(?)


Termux for android is desperate to see some good and fast wayland compositor implementation


This is very nice to see, as someone that hasn’t made the Wayland jump for both pragmatic and philosophical reasons. It looks like it needs more security and locking down, but that’s doable with existing web tech.


Absolutely, that’s why I am integrating it with kubernetes so each app is locked down and containerised while you as a user don’t even notice it.


Yeah, I'm in the same boat in that I haven't made the jump. Wayland feels very wild west at the moment, but full of cool tech. It's great that we have so much choice in Linux land, you can be just as productive with a "stable" system, or have some fun and switch to experimental or seldom used solutions


Greenfield is an existing tech buzzword. Does this leverage the same mentality or just a name?


Greenfield is a city in Massachusetts, United States. Just like Wayland.


> Just like Wayland

Oh my god I didn't know that's where that came from! As a mass-hole, that's cool to learn about the origin.

> Greenfield is a city in Massachusetts

Not the first city I'd pick for a project. Maynard, Weston, Wellesley all are near Wayland and seem less connected to existing buzzwords.

Edit: No criticism of the project though, seems pretty cool! Don't want to come off too negative about the name. This is a really cool project, and I can image some fun uses for it in the future.


> Maynard, Weston, Wellesley all are near Wayland and seem less connected to existing buzzwords.

Weston already exists and is a Wayland compositor. :)




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: