Hacker News new | past | comments | ask | show | jobs | submit login
Wayland, where are we in 2024? Any good for being the default? (dedoimedo.com)
5 points by jandeboevrie 8 months ago | hide | past | favorite | 13 comments



"Again, in part, the results here reflect the behavior of the KDE ecosystem as much as Wayland."

For what it's worth (since we're giving subjective feedbacks), I daily-drive Wayland, with Sway. For me it's better than X11 with i3wm.


I have the opposite experience, as I'm still using i3wm to cope with the lack of composable tools in the wayland ecosystem. Sway doesn't provide all functionality I need by itself - and when it does it's really barebones. For example, I haven't found a way to configure lid actions, inactivity timeouts, brightness and different profiles depending on whether my laptop is plugged in or not, battery notifications and etc like xfce4-power-manager does. Whenever I try sway, I run into various issues of a similar caliber, where I'm left on my own to implement everything instead of using existing tools.


> where I'm left on my own to implement everything instead of using existing tools.

Fair enough, I had to configure the things I wanted "manually" (e.g. lid, inactivity timeout, brightness, ...) but then I was happy with the flexibility and control.

But I understand your point.


I started to code my own wayland compositor:

- linux kernel, getting ready for 2MiB system memory page.

- direct ioctl DRM (which means I may need AMD GPU specific code, my developement hardware).

- dma-buf (like valve steamdeck wayland compositor).

- linux evdev (input)

- RISC-V 64bits assembly (using binutils gas and no pseudo-instructions), but running on x86_64 with a RISC-V 64bits machine code interpreter and a linux syscall translater. Using a C preprocessor (currenty tinycc one), reducing to minimum the usage of gas pre-processor. Have already partial/bootstrapping implementation of the interpreter and syscall translater.

- would use RISC-V 64bits non-ratified ZACAS synchronization emulation on x86_64. Care will be taken for synchronization primitives to allow ez swap with other synchonization primitives (once going on real RV64 hardware).

- no libc

- new executable file format (orders of magnitude simpler than ELF), but with an ELF capsule to run it transparently on any linux kernels (the glibc/musl/etc elf loaders should be able to load in the ELF capsule directly too). Have minimal/partial/bootstraping linkers (ELF objects from compilers/assemblers x86_64/rv64) already (can handle some C code from cproc/qbe toolchain).

- probably basic window stacking in the first place, one seat.

- may copy some code from mesa for vulkan3D like hardware acceleration (for AMD GPUs) but may use rv64 "custom" machine instructions to run x86_64 accelerated CPU rendering. Will have to go for affero Lesser GPL for licence to fit with MIT licence without issues.

- still dunno if I go inotify on /dev/input or kernel events for dynamic management of input devices (any advice anyone?).

I dunno if I'll be able to get something working, and that in a reasonable amount of time. And if IRL gets annoying, may have to drop it, of course.

Yes, I am greedy.


Well well well, it seems the vulkan display WSI is not working/complete/stable(whatever), and it would mean calling into the full-blown vulkan driver.

Too greedy, indeed. BOOM, the wall.


The new new plan: C99-ish (able to compile with other compilers than gcc and clang) implementation using drm vulkan display support from mesa.

Once something is working "enough", start to port libdrm then mesa to the new executable file format (as usual c++ code is going to be the issue... still some people thinking c++ makes them smart and not toxic as f*ck for the humanity).


Seems fine to me. I don't exactly like how heavily it's based on extensions and optional features (They say X was too, but X was a single implementation), but the core everyday desktop stuff is fine.

Ubuntu freezes up less than any desktop I've ever used, I wonder if Wayland is part of it?


and ubuntu is a bit heavy..., and yes removing xorg can be faster(but it depend if your compositer is more otimized than xorg*


"But these are the basics of desktop usage, and there's no reason why anyone should ever compromise on them."

I wish the article talked about security. It is my understanding that X11 essentially has none, and Wayland does. That should count.


For who ? I mean as a layman in terms of development of a desktop environment, I want to know what security? Why do people keep discussing this word as if its everything there is.

I want to play a game or want to work on a spreadsheet file in my office cubicle. I don't care about security. I want to work. Or play. Depending.

Why are we stuck on abstraction layers that end users don't care about anyway and it often ends up confusing people.

Why should I not pay $50 to windows so that I can get on with the work that I want to do instead of fiddling with Linux and then to having to decide between x11 and wayland with your argument for Wayland being secuirty ?

Edit: not criticizing you.


Your reply is (respectfully) analog to : "Why do I care about this ssh security thing? I have always used telnet and it works fine."

In X11, there is the underlying expection is, that no program will misbehave evilly - and THAT has changed in Wayland and hence a lot of wayland is much more complicated and (some of it) unfinished.

A lot of "traffic copping" added, ensuring that the user is queried before privileged access is granted, the ability to capture raw video output of a window for example (through desktop portals) - or the ability to capture raw key strokes from another process windows (think password prompt).

I have been running Sway (on wayland obviously) for 18 months with almost zero issues.


Because you don't care about security does not mean it is not important. Pretty sure you don't want your bridge/microwave oven/smartphone/you name it to spontaneously catch fire and potentially burn down your house during the night, right? So you may not realize, but security matters to you.

> Why should I not pay $50 to windows so that I can get on with the work that I want to do instead of fiddling with Linux

If you don't want Linux for what Linux is, please buy whatever you want (Windows in that case)!

I would return the comment: I find that too many people want to use Linux because they don't want to pay for Windows. And then they complain that Linux is not Windows. If you want Windows, go for Windows. I actually dislike those distributions that try to make Linux feel like Windows: I went to Linux because it was not Windows, not because it was cheaper (it is not: it requires time).


To each their own. I've been running Sway on most machines. I only run X11 in one place, because there nvidia stability forces me to use i3 instead[1].

Sway and Wayland is just SO much better than X11 and i3. No screen tearing. Keyboard doesn't just randomly reset its mapping. More stable. Window resizing just works, instead of having X and i3 teams do blame fingerpointing.

I've had multiple annoying bugs in X eventually reach a core X developer, who then says "yeah that's a bug, but it's core to X, so it basically cannot be fixed".

> Fifteen years, and Wayland still isn't as good as X11.

To each their own. For me it's not even close. I'm so done with X11.

[1] that may be solvable. I'm not up to speed on the latest in nvidia driver bullshit. But I rarely use that machine, so it's probably less pain to just live with i3 instead of fixing it.




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

Search: