14 ms·
An introduction to Wayland
- Animats 9y agoWhy does this remind me of CORBA?
- moomin 9y agoIt's definitely using the same IDL->language dependent API as CORBA, but that doesn't mean it has to be an out of control garbage fire.
- gcb0 9y agodoesnt mean it won't either. minimize is already shoved in the debug api. sigh, in the end I really hope nobody but qt/gtk/sdl devs are even getting close to this.
- digi_owl 9y agoOn that note, Torvalds rants about some missing functionality in some G+ comments i came across. https://plus.google.com/+KeithPackard/posts/azxz8ZPKght https://plus.google.com/+KeithPackard/posts/azxz8ZPKght Sadly it seems impossible to link to individual comments.
- lol768 9y agoInteresting article, nice to see some more practical examples. For those unaware, SirCmpwn is responsible for sway - https://github.com/SirCmpwn/sway https://github.com/SirCmpwn/sway - which aims to be an i3 compatible compositor for Wayland. In my experience it's not production ready yet, but it's definitely a pretty cool project to keep an eye on if you do use i3.
- Sir_Cmpwn 9y agoOut of curiosity, when was your last exposure to Sway? Many people use it as their daily driver and would agree that it's production ready (even if it's not done). Can you report any bugs you find?
- mazamats 9y agoThe most annoying thing is the mouse lag and higher resource utilization compared to i3. Aside from that, it's great though. I used it for a month before going back to i3, you've really put a good amount of work into the project.
- Sir_Cmpwn 9y agoThat's fair, it definitely has inferior performance.
- riquito 9y agoWhat are the reasons? Is there any problem that cannot be solved?
- Sir_Cmpwn 9y agoA lot of it comes down to the choice to use wlc[1], a library that provides some of the low-level plumbing for Sway. It was great for getting Sway up and running quickly, but it's not very flexible for the directions we want to go. Most of Sway's performance issues are due to WLC or decisions Sway had to make to accomodate WLC. Currently most of the work on Sway is being done on wlroots[2], with the goal of replacing wlc. The design is much more flexible and should have better performance and should avoid imposing constraints on Sway that impact its performance. A lot of Sway features are also currently blocked by wlroots, since wlc isn't flexible enough to allow us to implement them. I'm actually lucky enough to be working on wlroots full time at the moment, thanks to a generous commercial sponsor[3], along with some support from Patreon[4]. The future is definitely bright for Sway :) [1] https://github.com/Cloudef/wlc https://github.com/Cloudef/wlc [2] https://github.com/SirCmpwn/wlroots https://github.com/SirCmpwn/wlroots [3] https://nyantec.com/ https://nyantec.com/ [4] https://www.patreon.com/sircmpwn https://www.patreon.com/sircmpwn
- cyruscm 9y agoThere's also the full fledged OS/Desktop Environment called Liri https://liri.io https://liri.io that was a pivot from papyrus using Wayland.
- deleted 9y ago[deleted]
- type0 9y agoAnother interesting Wayland project (window manager): https://github.com/way-cooler/way-cooler https://github.com/way-cooler/way-cooler https://news.ycombinator.com/item?id=14534295 https://news.ycombinator.com/item?id=14534295
- amelius 9y agoI was hoping for a somewhat broader and more abstract discussion of the concepts used in Wayland (and not C structures).
- moomin 9y agoA question that may only be of interest to me: is anyone looking at getting Wayland running on Windows? In particular, interacting with the new WSL stuff?
- Sir_Cmpwn 9y agoI imagine it's possible, but complicated. You'll likely need a custom backend for your compositor - I doubt WSL implements DRM (display resource management).
- int_19h 9y agoWSL doesn't support the graphics stack at all. But it is possible to VNC or RDP (with xrdp as a server) into an X11 session running inside WSL, so that's what people do. You wrote below that Wayland supports RDP. If so, it sounds like that should work?
- Sir_Cmpwn 9y agoI wrote below that Weston (a specific Wayland compositor) supports RDP and that Sway eventually will. But yes, Weston might work on Windows in that case.
- makomk 9y agoIf I recall correctly, one major catch is that wl_shell has been feature-frozen since 2012 and lacks newfangled features like the ability to minimize windows. For newer functionality you need to use xdg-shell instead, which regularly changes in backwards-incompatible ways and there's no guarantee the version your application implements (or any version of it) will actually be available.
- paulmlewis 9y agoI don't follow Wayland closely but there's a thread proposing stabilisation from a little while back https://lists.freedesktop.org/archives/wayland-devel/2017-May/034170.html https://lists.freedesktop.org/archives/wayland-devel/2017-Ma...
- deleted 9y ago[deleted]
- pmoriarty 9y agoIs something like VNC or some other way to remotely view a desktop or an app going to be possible in Wayland?
- sanbor 9y agoI'm surprised to see XML. Wouldn't JSON or some other format be a better choice?
- Sir_Cmpwn 9y agoWhy?
- br1n0 9y agoJson il less verbose and is the de facto standard for the web, json is easier to parse by javascript (by the browser or node.js), and a serialization/deseriazation is unique, in xml you could put some infos on the attributes oand other on tags or as parameters. instead of <event name="gamma_size"> <arg name="size" type="uint"/> </event> {"type":"event", "name":"gamma_size", "arg": {"name":"size","type":"uint" }
- Sir_Cmpwn 9y ago>Json il less verbose and is the de facto standard for the web, json is easier to parse by javascript (by the browser or node.js) Wayland is not the web. None of these technologies are involved in Wayland. >{"type":"event", "name":"gamma_size", "arg": {"name":"size","type":"uint" } Your example is more verbose and harder to read... XML is definitely misused in many applications where JSON is appropriate but this is not one of them.
- pcwalton 9y agoJSON has problems, but that's why we have TOML: [gamma_size] type = "event" args = [ { name = "size", type = "uint" } ] XML isn't what I would choose here because there's no need for text markup. TOML is both simpler and friendlier than XML in this case. I do agree that it doesn't matter much.
- Sir_Cmpwn 9y agoWayland predates TOML, and I think TOML would be worse than XML for this use case.
- the_common_man 9y ago> Wayland is the new hotness on the Linux graphics stack Use wayland (with gnome) everyday myself but wanted to point out that wayland started almost 10 years ago :) The adoption has taken forever though partly because of the infinite legacy of X11 and lack of support from big players like nvidia.
- shmerl 9y agoNot just that. It took major DEs a very long time to get to some level of readiness with Wayland (KDE is just getting to it). And some major applications aren't event close yet. Firefox seems to be in progress for years, and Wine didn't even start moving to Wayland, because of various difficulties.
- bitwize 9y agoOne of the reasons why Wine worked in the first place is because GDI primitives map nicely to X11 drawing primitives. Wayland developers made the Yao Ming "bitch please" face and told us "no one uses those dusty old primitives anymore! Here, have a bare framebuffer and render everything yourself!"
- juliangoldsmith 9y agoOr they could just use Cairo, which will do that for them.
- shmerl 9y agoYeah, that's what I've heard, that one of the hard parts was mapping positioning of windows.
- makomk 9y agoI think that's less "hard" and more "impossible by design" - that is, Wayland intentionally doesn't give applications any way to know or control the absolute positions of their windows, and of course Windows applications expect this.
- AdmiralAsshat 9y agoFun fact: Wayland is supported on ChromeOS versions 50 and above for the supported Android applications.[0][1] Consequently, you can run Fedora with Wayland on a supported Chromebook using crouton.[2] [0]https://bugs.chromium.org/p/chromium/issues/detail?id=549781 https://bugs.chromium.org/p/chromium/issues/detail?id=549781 [1]http://www.phoronix.com/scan.php?page=news_item&px=Google-Chrome-50 http://www.phoronix.com/scan.php?page=news_item&px=Google-Ch... [2]https://nmilosev.svbtle.com/crouton-fedora-wayland-yes-please https://nmilosev.svbtle.com/crouton-fedora-wayland-yes-pleas...
- y4mi 9y agonice, i've actually reset my chromebook (removing crouton) a few month ago because the constant context switching annoyed me... i think ill reenable it later today and try that out
- caustic 9y agoThanks Ricuk I k u to yugy hh udy
- deleted 9y ago[deleted]
- Tharkun 9y agoAre there any decent, minimalistic tiling WMs for Wayland yet? IIRC awesomewm wasn't planning on supporting Wayland.
- KitDuncan 9y agoSway (basically i3) I actually used for quite a while as my daily driver and it works great. Another one I want to check out soon is Way Cooler. https://github.com/SirCmpwn/sway https://github.com/SirCmpwn/sway https://github.com/way-cooler/way-cooler https://github.com/way-cooler/way-cooler
- bradstewart 9y agoHas anyone been able to run Chrome (or anything Electron based) on Wayland in a virtual machine? I just a black rectangle instead of Chrome/VSCode/etc. Disabling GPU acceleration for Chrome via command line flags or for the VM entirely seems to fix it, but that's obviously a non-solution. I'm running Fedora 25 in a VMWare Workstation 12 with a Windows 10 host.