Lets start with some context, the project consists of implementing, shipping and maintaining native Wayland support in the Chromium project. Our team at Igalia has been leading the effort since it was first merged upstream back in 2016. For more historical context, there are a few blog posts and this amazing talk, by my colleagues Antonio Gomes and Max Ihlenfeldt, presented at last year’s Web Engines Hackfest.
Especially due to the Lacros project, progresses on Linux Desktop has been slower over the last few years. Fortunately, the scenario changed since last year, when a new sponsor came up and made it possible to address most of the outstanding missing features and issues required to move Ozone Wayland to the finish line.
↫ Nick Yamane
There still quite a bit of work left to do, but a lot of progress has been made. As usual, Nvidia setups are problematic, which is a recurring theme for pretty much anything Wayland-related. Aside from the usual Nvidia problems, a lot of work has been done on improving and fixing fractional scaling, adding support for the text-input-v3 protocol, reimplementing tab dragging using the proper Wayland protocol, and a lot more.
They’re also working on session management, which is very welcome for Chrome/Chromium users as it will allow the browser to remember window positions properly between restarts. Work is also being done to get Chromium’s interactive UI tests infrastructure and code working with Wayland compositors, with a focus on GNOME/Mutter – no word on KDE’s Kwin, though.
I hope they get the last wrinkles worked out quick. The most popular browser needs to support Wayland out of the box.
Firefox has defaulted to native Wayland for over a year now. This is just sloppy engineering by Chrome’s team.
Wayland will never be “ready” if they keep chaing the goals. If at least it reached feature pairity with Xorg, almost noone would complain. But there is no wayland alternatives to AmiWM, awn or even VLC yet. Maximizing and restoring fullscreen video even on the most supported hardware is still painfully slow, the GL and Vulkan performance is still worse than Xorg (the difference in native games can be immense in terms of FPS) and the config files is needlessly complicated. .xinitrc was as simple as “exec *” to get any WM you wanted for any user without any display manager on Xorg. Autologin was as simple as installing nodm, and put %username% and set the .xinitrc