From 5049f392a18ef484570482de1d066faebbb927fd Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Wed, 13 May 2026 13:43:11 +0100 Subject: feat(wayland): tune Qt/SDL/Electron backends - zprofile: set QT_QPA_PLATFORM="wayland;xcb" (xcb fallback for bundled Qt), SDL_VIDEODRIVER="wayland,x11" (SDL2 defaults to X11). Drop MOZ_ENABLE_WAYLAND (Firefox 121+ default). - meta/wayland: add qt5-wayland and qt6-wayland so QT_QPA_PLATFORM=wayland actually resolves. - electron-flags.conf: global --ozone-platform=wayland, Wayland window decorations, GTK4. Applies to all apps using the Arch electron wrapper. Bundled-electron apps (slack-desktop, etc.) unaffected. --- dot_config/electron-flags.conf | 8 ++++++++ dot_config/zsh/dot_zprofile | 5 ++++- meta/wayland.txt | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 dot_config/electron-flags.conf diff --git a/dot_config/electron-flags.conf b/dot_config/electron-flags.conf new file mode 100644 index 0000000..9f49ae0 --- /dev/null +++ b/dot_config/electron-flags.conf @@ -0,0 +1,8 @@ +# Electron global flags. Read by Arch's `electron` wrapper for all +# Electron apps that don't bundle their own build (slack-desktop bundles +# its own, for example; those need per-app flags files instead). +# See https://wiki.archlinux.org/title/Electron#Configuration_files + +--enable-features=WaylandWindowDecorations,AllowQt +--ozone-platform=wayland +--gtk-version=4 diff --git a/dot_config/zsh/dot_zprofile b/dot_config/zsh/dot_zprofile index 32b9245..3c824d3 100644 --- a/dot_config/zsh/dot_zprofile +++ b/dot_config/zsh/dot_zprofile @@ -80,7 +80,10 @@ export INPUTRC="$XDG_CONFIG_HOME/sh/inputrc" # ── Wayland ─────────────────────────────────────────────────────────────────── export XDG_CURRENT_DESKTOP=sway -export MOZ_ENABLE_WAYLAND=1 +# Prefer Wayland for Qt; fall back to xcb for apps without qt{5,6}-wayland. +export QT_QPA_PLATFORM="wayland;xcb" +# SDL2 defaults to X11; force Wayland with X11 fallback. SDL3 ignores this. +export SDL_VIDEODRIVER="wayland,x11" # ── XDG cleanup: keep $HOME tidy ───────────────────────────────────────────── # https://wiki.archlinux.org/title/XDG_Base_Directory#Partial diff --git a/meta/wayland.txt b/meta/wayland.txt index 1ca642c..341c98b 100644 --- a/meta/wayland.txt +++ b/meta/wayland.txt @@ -1,6 +1,8 @@ # Compositor sway xdg-desktop-portal-wlr +qt5-wayland +qt6-wayland # Bar & launcher waybar -- cgit v1.3.1