Electron Applications
Electron-based applications can run directly on Wayland, but it’s not always the default.Electron ≥ 39
Use the command-line flag if the app doesn’t default to Wayland:Electron < 39
Set an environment variable in your niri config:Electron ≤ 28
Pass command-line flags to the target application:VSCode
If you’re having issues with some VSCode hotkeys, try starting Xwayland and setting theDISPLAY=:0 environment variable for VSCode.
VSCode should still run with the Wayland backend, but with
DISPLAY set to a running Xwayland instance. VSCode currently unconditionally queries the X server for a keymap.JetBrains IDEs
JetBrains IDEs can run directly on Wayland, but it’s not the default. For JetBrainsRuntime > 17, set the flag-Dawt.toolkit.name=WLToolkit in:
Help → Edit Custom VM Options → Add
WezTerm
Both of these issues appear to be fixed in the nightly build of WezTerm.
Window Not Showing Up
There’s a bug in WezTerm where it waits for a zero-sized Wayland configure event, so its window never shows up. Add this window rule to your niri config (included in the default config):Sizing and Resize Issues
There’s another bug in WezTerm that causes it to choose a wrong size when it’s in a tiled state, preventing resizing. Niri puts windows in the tiled state withprefer-no-csd. If you hit this problem, comment out prefer-no-csd in the niri config and restart WezTerm.
Ghidra
Some Java apps like Ghidra can show up blank under xwayland-satellite. Solution: Run them with the_JAVA_AWT_WM_NONREPARENTING=1 environment variable:
Zen Browser
DMABUF screencasts are disabled in Zen Browser by default, so screencasting doesn’t work out of the box on niri. Fix:- Open
about:config - Set
widget.dmabuf.force-enabledtotrue
GTK 4 Dead Keys / Compose
GTK 4.20 stopped handling dead keys and Compose on its own on Wayland.Solution Options
Option 1: Run an IME like IBus or Fcitx5 Option 2: Set theGTK_IM_MODULE=simple environment variable:
Fullscreen Games
Some video games (both Linux-native and on Wine) have various issues when using non-stacking desktop environments.Using Gamescope
Most game issues can be avoided with Valve’s gamescope:--force-grab-cursorforces gamescope to use relative mouse movement, preventing the cursor from escaping on multi-monitor setups--backend sdlis currently required as gamescope’s default Wayland backend doesn’t lock the cursor properly
For Steam Users
Use gamescope through a game’s launch options by replacing the game executable with%command%.
Steam
Black Window Issue
On some systems, Steam will show a fully black window. Fix:- Navigate to Settings → Interface (via Steam’s tray icon, or by finding the Steam menu at the top left)
- Disable GPU accelerated rendering in web views
- Restart Steam
-system-composer instead if you want to keep GPU acceleration enabled.