The future of Wayland, and Sway's role in it
drewdevault.com
drewdevault.com
Looks like i3-gaps support is basically done so I have no excuse not to switch over now. Good work SirCmpwn and everyone else who helped!
https://github.com/kgrossjo/hammerspoon-config
What's different for mine is that I use a single prefix key, that pops up a notification giving you information what you can do next, and then I press one of those keys. I don't need to move windows that often, so having to hit two keys is not a problem. And it prevents Hammerspoon from hogging too many key combinations.
I doubt I'll get permission to install it on the mac. The mac is super locked down.
Windows 8 was a decient compromise for me but I am in the tiny minority that liked the Windows 8 interface it was the closest thing to a tiled window manager.
I wonder if because people had so many problems with it the developer chose to skip over it due to lack of demand. Surely there's a better way to implement it, but that way may break compatibility with i3. This is all speculation of course.
[1] https://i3wm.org/docs/layout-saving.html#_restoring_a_vertic...
I think in practice with as many workplaces as you like the most productive layouts on medium to small screens, which is to say most of them, is a number of workspaces each with a relatively simple layout and 1-3 windows only.
You can wrap the layout saving restoring functionality in a tiny bit of scripting to make it more useful on the fly. Basically the json isn't useful right from the rip because you have to manually uncomment whatever fields make a given window unique but a script can pretty much do that unless it requires a regex and window title to distinguish between 2 windows.
After that there's also the Nvidia proprietary drivers not supporting Wayland, but I'll be switching to a FOSS driver stack with AMD by the time 1.0 hits.
AMDGPU is really good now, and the parts that are proprietary (AMDGPU Pro) are eventually (hopefully) going to be folded into the FOSS side soon.
Recently I finally managed to get 4K at 60fps over HDMI 2.0a working on Linux. For some reason the Nvidia drivers (both) only advertised 4K at 30fps, where as on Windows it works out of the box. I had to manually add my monitors EDID (which is extracted from Xorg in the first place), and now I get 4K 60fps HDR.
I hope AMD continue their rejuvenation, as it’s good to see Intel and Nvidia have some competition again.
It's very close to be able to be working with the HTC Vive. With this, you could put on a headset and see 50 terminals in front of you, next to your 50 web browsers :)
Is it actually possible with current hardware to have a workable development environment... err... ... world?
Does working in VR sound appealing to you?
Heck yeah!
Not only because of feature-richness (a debugger that lets me climb up and down the execution stack sounds rad) but also for space-saving: I live in a school bus, so a 3-monitor standing desk isn't really a very viable option.
But if a VR or AR headset can turn a hallway into that, I'm in!
I've been using wayland for ~6 months now and except for the aforementioned limitations it has been working flawlessly for me.
Firefox IMHO really needs to get native Wayland support out of the box. Not sure if Fedora is using the wayland version of LibreOffice, but it should be by now.
step 2: make 'x compatibility' terrible
step 3: profit!
More recently gnome crashes right after login, but then doesn't when I login a second time. I don't think the automatic reporting is working for this one.
I figure at this point I'll let it slide until I upgrade and then get more vigilant about reporting problems. Unfortunately the auto-upgrade didn't work for me this time, so I'll reinstall 26 or 27 from scratch.
Hacker News isn't the right place for your bug report, though, please file a GitHub issue here: https://github.com/swaywm/sway/issues/new
Works pretty good in my experience.
For instance Wine was quite glitchy for me (mouse movements were messed up) last time I tried it under XWayland in KDE.
I compare Plasma Wayland now to Plasma X 5.2-5.4. Almost there, and in two or so releases it should be prime.
Before that and a small step to Ubuntu 17.04, I used Wayland with Arch and Gnome. Not that stable experience back then, but now I'd say it's ready for production use, at least if you're using an Intel GPU.
A couple of findings from my time with sway:
- It was non-obvious how to tweak keyboard options (I like remapping capslock to ctrl). Various XKB_DEFAULT_* environment variables have to be set before starting sway.
- Firefox used to render poorly due to HiDPI scaling issues. Those seem to have been resolved and FF now works like a champ.
- I was excited about using alacritty as a wayland-native terminal, but it does not yet work with sway. It can be run as an X11 client with sway without issue. Hopefully the wlroots situation helps resolve the remaining issues with alacritty.
- Integer-only display scaling made it somewhat challenging to achieve my sweet-spot for my HiDPI display. I ended up not scaling the display (scale=1) and adjusting various font sizes. I'm happy to see that wlroots will enable fractional display scaling.
Sway has made an X11-free system viable for me.
Forgive me if I'm being dense, but: do you mean it's possible for a Wayland app to be incompatible with a particular Wayland window manager (or compositor)? That seems like a huge regression from the X11 status quo.
https://github.com/jwilm/alacritty/issues/97 https://github.com/swaywm/sway/issues/1390 https://github.com/swaywm/sway/issues/1054
From what I gather, alacritty and its window system abstraction layers (glutin & winit) are still somewhat immature w.r.t. their wayland support and that sway, due to the limited nature of its wlc layer, do not quite meet in the middle. As stated in TFA, sway is moving toward a more capable wlroots foundation. And the rust-based alacritty ecosystem is also moving forward with tremendous pace. I have little doubt that class of incompatibility will not exist much longer.
Given the newness of not just wayland, but also alacritty, glutin/winit, rust, and sway, I remain astonished that they work as well as they do. But make no mistake, wayland is new tech and thus has some sharp corners where X11 is a well-established quantity after 30 years of existence.
But sway is much more than that – it manages windows, handles input, etc. Why does it refer to itself as a compositor everywhere?
edit: that was sort of correct. More info here: https://en.wikipedia.org/wiki/Wayland_(display_server_protoc...
Wayland is a protocol, which isn't really instructive. But the reference implementation, libwayland, is easier to comprehend. You can think of libwayland as a library for writing window managers directly on the framebuffer. Sure - that's a lie, but it's a helpful lie.
Previously: displays & input devices -> xorg-server -> compton -> window manager -> X11 protocol -> X11 clients
Now: displays & input devices -> wayland compositor -> wayland protocol -> wayland clients
https://drewdevault.com/2017/06/10/Introduction-to-Wayland.h...
For rendering clients will generally either use shared memory and dump pixels buffers into it, or will use shared EGL handles.
This is, IMHO, the biggest advantage (other than hardware cost) that AMD has over NVIDIA right now.
Specifically, the necessary hops for just setting the keymap.
Sure. Which needs to be in the env sway gets passed. Which makes for some seriously ugly wrapper script needed, just to pass the stupid variable.
>If you can't set an environment variable then power user tools probably are not for you.
I think you're missing the point. It'll be a shame if sway 1.0 is released like this.
Can you do the same with sway without restarting it?
Changing your keymap at runtime is something we hope to have in sway 1.0. We'd also like to support multiple keyboards with different keymaps and even configuring which keymap you use on specific windows.
I'm looking forward to giving Sway and Wayland a try.
rootston -> pun on weston, the official wayland reference compositor
Edit: Found it on Wikipedia. Ignore me but the Sway acronym still stands.
They were driving through Wayland when they came up with the idea for the project. (Wayland and Weston are neighboring towns and sports rivals, so it sort of fits to use Weston as the name of the reference implementation.)
> Xwayland (X11) support
Is this still the only way to use Wayland that doesn't require running everything on a single machine? I still don't understand why Wayland is getting so much attention when it doesn't seem to have any native clients.
A detailed overview of it is here, https://en.wikipedia.org/wiki/Wayland_(display_server_protoc... .
Essentially the client connects to the socket created by the compositor and asks it to pass a surface (basically the same as a frame buffer) back that matches what the client wants to draw. The client then draws on the surface (via GL, raw pixels, cairo, etc.) and then tells the wayland compositor that the surface is ready to display. The surfaces can have a number of things set about them, such as the color depth, if they're hardware (gl, vulkan etc) capable and other things like that.
This is why it's hard to make wayland network transparent because the compistor and the client are much more intertwined than X11 and it's clients were. This enables better performance and eliminating tearing and a few other problems that X11 just isn't equipped to do normally. It does mean however that you should be able to make a wayland compositor that forwards the surfaces from itself to another wayland compositor similar to how X11 forwarding works, but this isn't specified as part of the wayland protocol itself.
My expectation for what will work best for that is something that allows using modern video and image compression to allow the transfer to occur without using as much bandwith as modern X11 apps require when forwarding them. This would also mean then that clients have to use the hardware available to them rather than the hardware available to the display server. With X11 it's possible to do GL remotely (i've never had that work well) but it'd be much more difficult to set this up over wayland.
Let me just say thank you very much for adding this sentence :)
I feel like 50% of headlines on HN are written like "New version of qx58g" and somehow none of the headline, the comments, or the linked article will give any indication what qx58g is.
"New version of Pandora Nexus released."
Great - is this any relation to the 2 Pandoras or the several Nexuses? Does this play music on my phone or move assets into a VM? Neither, it syncs bookmarks between browsers.
Eventually we're going to run out of fancy nouns.
The other posts I see are the ones exclaiming "X is harmful" while often only presenting a very narrowly construed use case, that doesnt fit the norm - or making a big to do about a nothing - another trope is posts promoting YAPL (yet another programming language) and YAF (yet another framework) - without making it clear why this programming language or framework is any better than the eleventeen other ones.
I think you have to know that Wayland uses the word "compositor" in a slightly odd way to get the right guess first.
"Buzzy is a new rewrite of Salad using an extensible monad-free Vomit dialect based on modern neopatterns. (note you'll need FooQwang3.7.2.1-R2 extensions installed in your pillar-tab in order to use it interactively)"
At least techno-babble [1] could make you feel intimidated. This word salad nonsense just makes me feel utterly lost and apathetic.