私はゲームモードでSteam DeckのFirefoxを実行するスクリプトを書こうとしました。 Steam Deckがウィンドウを管理する方法で直接実行できないため、ネストされたインスタンスを実行してkwin_wayland
Firefoxを実行するスクリプトを作成しました。ほとんどの場合動作しますが、Firefoxはテキストのサブピクセルレンダリングを実行しないため、非常にピクセル化されているようです。奇妙なことに、KDEのデフォルトのレンダリングフォントはうまく表示されるので、Firefoxを起動したときに何かが欠けているようです。
kwin_wayland
以下は、スクリプトからFirefoxを起動する方法です。
_DISPLAY_RESOLUTION="$(xdpyinfo | awk '/dimensions/ {print $2}')"
exec kwin_wayland --no-lockscreen --drm \
--width "${_DISPLAY_RESOLUTION%x*}" \
--height "${_DISPLAY_RESOLUTION#*x}" \
--xwayland --x11-display "${DISPLAY}" \
--exit-with-session=" \
/usr/bin/flatpak run \
--arch=x86_64 --branch=stable \
--file-forwarding --die-with-parent \
--command=firefox org.mozilla.firefox"
以前に環境を設定するために行った操作は次のとおりです。
export XDG_CONFIG_HOME=$HOME/.local/config/gamescope/firefox
export XDG_CONFIG_DIRS=$HOME/.config:$XDG_CONFIG_DIRS
mkdir -p $XDG_CONFIG_HOME
cat >$XDG_CONFIG_HOME/kwinrc <<KWINRC
[Windows]
BorderlessMaximizedWindows=true
KWINRC
cat >$XDG_CONFIG_HOME/kwinrulesrc <<KWINRULES
[gamescope-fullscreen-windows]
Description=Fullscreen Windows
closeablerule=2
maximizehoriz=true
maximizehorizrule=2
maximizevert=true
maximizevertrule=2
minimizerule=2
noborder=true
noborderrule=2
position=0,0
positionrule=2
shaderule=2
wmclasscomplete=true
wmclassmatch=2
types=66051
[General]
count=2
rules=1,gamescope-fullscreen-windows
KWINRULES
完全なスクリプトがありますGitHub Gistから全体を見たいなら。