PLUS ULTRA は Tauri で作っていて、iOS/Android/Win/Mac を一括ビルドしています。でも Steam Deck (SteamOS) だと動かないと判明。その対応メモです。
Tauri は WebView を同梱しないので、Windows 版を Proton で動かすと WebView2 が見つからずクラッシュする。
Linux 版をビルドして、Linux の WebView(WebKitGTK)を同梱。Deck のランタイムは WebKit を含まないので同梱は必須。GitHub Actions でビルドし、Deck ではそっちが使われるようにした。
起動はできたが、ゲームパッドのボタンが反応せず、名前入力のキーボードも出ない。
Deck のコントローラは必ず Steam Input を経由するが、WebView(WebKitGTK)は Steam Input 経由だとゲームパッドを認識できない(WebView 系ゲーム共通の未解決問題)。
Steam Input を「ゲームパッド」ではなく「キーボードエミュレーション」として使うことにした。もともとキーボード操作対応なので、Deck のボタンをキーに割り当てた設定を公式デフォルトとして配信(A→Enter、十字キー→矢印 など)。これで OSK も出る。 (Shift+Tab は Steam のショートカットと衝突したので、専用キー Q に逃がした)
Linux 版だと、音声再生に必要な GStreamer プラグインが入っていない。
アプリに同梱。低容量が売りだったのに、Deck 版だけ 100MB 超えちゃった。
GitHub Actions でビルドすると、ランキング(Supabase)への接続情報が欠損していた。
接続情報を環境変数で流し込んでビルドするようにした。
フォローすると、開発ログや新作ゲームの公開が通知されます