Wayland 環境におけるSteam link の問題
発生症状
Steam Linkクライアントで画面が表示されない(黒い画面のまま、ただし操作はできておりPC側の画面は動く)。この問題は、PC側のSteamが、Linux+Waylandで動作しているときに発生する
解決
Gamescopeを利用することで解決もできる
解像度が甘い(Gamescopeで指定した解像度で表示されているのかボケる(これは私の環境が完全にはGamescopeがうまく動作してないことが影響をしてそう)
PopOSの場合には対応した標準のパッケージが用意されてない
原因
はっきりとは原因は不明だが、Waylandの画面共有の問題が関係している模様。失念したが設定次第では画面共有のダイアログが表示されて映ることもあったが安定しない(というかほぼ無理)。この話題はネットでも解決してない問題で放置されている感じがする。問題の迂回案としてGamescope経由で起動したアプリは共有が無事にできる。
実施内容
- 自力でgamescopeを導入する
- meson.build:33:0: ERROR: Dependency “hwdata” not found, tried pkgconfig and cmake 悉く(私も)この状態になる、そして自力では最終的に入れるのをためらってしまった。wayland-serverをアップデートする勇気があれば多分できる(別の場所に入れて対応できるのかもしれないが)
- How to install gamescope on popOS?
- 導入スクリプト https://gist.github.com/wyrlwind/65b0539fc8149f604e3b1d6fed1439fe
- パッケージ済みのdebからGamescopeを導入する
- https://github.com/akdor1154/gamescope-pkg/releases/tag/v3.12.5-2
- 上記からdebファイルをダウンロードして実行(私はこの方法で解決)
Gamescopeとは
Valveの開発したマイクロコンポジッターです。gamescope環境で起動したアプリはGamescopeのサンドボックス内の画面で動きます。そのためデスクトップと影響なく指定したWindowで起動することができます。スケーリングなどもNvidiaやAMDの機能で実施することができるため実際の解像度と表示の解像度を変えることができます(私の環境だとSteam Linkで接続するとフルスクリーンで動いていた場合に落ちてしまうのですが・・・)
gamescope -e -W 2560 -H 1440 -w 2560 -h 1440 -F nis --expose-wayland -- steam -bigpicture -pipewire-dmabuf -hdr-enabled
というオプションで起動した状態。仮想Windowみたいなものですね、この枠の中で動く感じです。拡大も縮小も軽快に動きます。この状態でSteamlinkをした場合、Wayland環境下でも接続することができます。ただし何故か微妙にボケている。
スケーリングを当てにするオプションがあるはずなのですが安定しないので画面サイズと同じサイズにスケーリングをするように指定して今の所動いています。