I am aware of the switches you can pass to each app to make it use native wayland, but is there any way to do it globally?
You mean Electron?
The Arch wiki has docs about that.
For Flatpaks I use the environment variable
ELECTRON_OZONE_PLATFORM_HINT=wayland
See my dotfiles on github.com/boredsquirrel/dotfiles
Same possible for Qt
QT_QPA_PLATFORM=wayland
Is there a noticeable benefit to those apps running natively on Wayland vs running through xWayland?
Depends on your distribution. Arch packages some electron apps in a way, where they can accept their own flags through a dedicated file. For others, it’s just a plain
electron-flags.conf
in your~/.config
I would recommend visiting either the arch wiki, or tour distributions equivalent for details
Keep in mind that this does not apply to CEF apps, as that’s an entirely different framework
Do you mean Electron apps? I didn’t even know you could force them to use Wayland.
Is it bad if they use xwayland?
Define bad.
If you can run native in wayland, run in native wayland. Your performance will be better, and if you need scaling, scaling is considerably better too
Like X11, xwayland is not as secure as a pure Wayland environment but I think it’s important to note that hundreds of thousands of desktop Linux users are likely still running X11.
So, in my opinion, it is not ideal to run xwayland but still completely acceptable for most users who don’t have special security requirements.
I still run x11 because some of my apps just don’t work on wayland, specifically terminal apps for some reason
They are kinda choppy, when compared to native Wayland apps and screensharing from an app, running in xwayland doesn’t really work…
Bad is relative. But I have some problems with scaling on a HiDPI display with some Electron apps. I think that might be solved if they were Wayland native.
For electron, if
ELECTRON_OZONE_PLATFORM_HINT
andelectron-flags.conf
don’t work, you can also add--ozone-platform-hint=wayland
to the end ofExec
in each .desktop file (also works on Chromium, but not CEF AFAIK).There’s also
--ozone-platform-hint=auto
if you find yourself switching between X11 and Wayland.Spotify is CEF, I think, and it works pretty well.