Hacker News new | ask | show | jobs
by gkbrk 935 days ago
What new features are needed to display my windows on my screen?
2 comments

On the output side: Mixed-DPI displays. HDR/wide color gamuts/LUTs/color management. Non-rectangle workspaces, or workspaces with no absolute coordinate systems (think headsets).

On the input side: touch gestures recognized as touch gestures, not as mouse emulation.

On both: hotplug of all input/output devices. Headless sessions and handover of sessions between console and headless, both directions. Reliable lock screen, even if popup menu is showing ;).

> Mixed-DPI displays. HDR/wide color gamuts/LUTs/color management. Non-rectangle workspaces, or workspaces with no absolute coordinate systems

Pop quiz, how many of those work on wayland?

Except the HDR/wide color/LUTs/color management, everything.

And the last missing thing is WIP.

I have multi DPI displays (laptop + 2 monitors) work fine on Wayland (fractional scaling).
> Reliable lock screen, even if popup menu is showing ;)

Impossible. I'm told if you're not running xscreensaver it is safe to assume that your screen does not lock!

At some point you will have to either start building it for yourself or get someone to build it for you (when distros drop it from their repos). And that will become harder and harder as time goes by. Just recently apps I was building using Tauri stopped working on Xband forced me to switch to the Wayland Gnome session (on Debian testing) permanently. This will become more and more common, until it becomes untenable.
I doubt it will be so hard to build. Folks build X servers for Linux, Mac and Windows right now. If anything, X will probably outlive Wayland.
Building X is probably going to be trivial going into the future, yeah. Building and running future apps written for the Wayland will be a different beast though.
Just like there is XWayland today to make it possible to use a Wayland system with X apps, there are already similar solutions to run Wayland apps on an X system.

If you run `cage`, it will run a Wayland application in its own sandboxed window while the rest of the system runs X.

Similarly; if you run `sway` under X for example, it will start the window manager in its own window, and you can run Wayland applications inside it.