* wiki: describe running games with gamescope * Update wiki/Application-Issues.md --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2.9 KiB
VSCode
If you're having issues with some VSCode hotkeys, try starting Xwayland and setting the DISPLAY=:0 environment variable for VSCode.
That is, still running VSCode with the Wayland backend, but with DISPLAY set to a running Xwayland instance.
Apparently, VSCode currently unconditionally queries the X server for a keymap.
WezTerm
There's a bug in WezTerm that it waits for a zero-sized Wayland configure event, so its window never shows up in niri. To work around it, put this window rule in the niri config (included in the default config):
window-rule {
match app-id=r#"^org\.wezfurlong\.wezterm$"#
default-column-width {}
}
This empty default column width lets WezTerm pick its own initial width which makes it show up properly.
There's another bug in WezTerm that causes it to choose a wrong size when it's in a tiled state, and prevent resizing it.
Niri puts windows in the tiled state with prefer-no-csd.
So 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.
To fix this, run them with the _JAVA_AWT_WM_NONREPARENTING=1 environment variable.
rofi-wayland
There's a bug in rofi-wayland that prevents it from accepting keyboard input on niri with errors in the output. It's been fixed in rofi, but the fix had not been released yet: https://github.com/davatorium/rofi/discussions/2008
Fullscreen games
Some video games, both Linux-native and on Wine, have various issues when using non-stacking desktop environments. Most of these can be avoided with Valve's gamescope, for example:
gamescope -f -w 1920 -h 1080 -W 1920 -H 1080 --force-grab-cursor --backend sdl -- <game>
This command will run in 1080p fullscreen—make sure to replace the width and height values to match your desired resolution.
--force-grab-cursor forces gamescope to use relative mouse movement which prevents the cursor from escaping the game's window on multi-monitor setups.
Note that --backend sdl is currently also required as gamescope's default Wayland backend doesn't lock the cursor properly (possibly related to [https://github.com/ValveSoftware/gamescope/issues/1711]).
Steam users should use gamescope through a game's launch options by replacing the game executable with %command%.
Other game launchers such as Lutris have their own ways of setting gamescope options.
Running X11-based games with this method doesn't require Xwayland as gamescope creates its own Xwayland server.
You can run Wayland-native games as well by passing --expose-wayland to gamescope, therefore eliminating X11 from the equation.