Steamworks ドキュメンテーション
Steam DeckとProton
Protonは、WindowsゲームをLinux上で実行できるようにする互換レイヤーで、修正版のWineと高性能グラフィックスAPI実装のコレクションを使用しています。 チームは以前からProtonの開発と改善に取り組んできており、現在では、非常に幅広い製品に適用できるようになっています。 ほとんどのAPIはすでにProtonでサポートされており、ほとんどのゲームはそのまますぐに動作します。 弊社ではProtonの互換性を高める努力を続けており、可能な限り完全対応に近づけることを目標としています。

ゲームとProtonの互換性をテストするには、Linux環境が必要です。 LinuxとSteamをコンピューターにインストールしてテストするか、開発者キットが利用可能になった時点でキットをリクエストしてください(数に限りがあります)。 Linux環境または開発者キットの準備完了後、提供されているデバッグツールを使用して、リモートデバッガーでゲームビルドを実行したり、パフォーマンスをプロファイルしたりすることができます。 これらのツールは提供開始に向けて現在開発中です。近日中にこのページで詳細情報をお知らせします。

Protonのアンチチートサポート

Protonは、Easy Anti-CheatやBattlEyeなど、一般的なアンチチートミドルウェアをサポートしています。
  • Easy Anti-Cheat

    Protonでは再コンパイルなしでEasy Anti-Cheatをサポートしますが、ビルドのサポートを手動で有効にする必要があります。 Epic Online Services版のEACについては、こちらの手順をご覧ください。 Kamu版のEACについては、以下のステップに従ってください。
    1. EACパートナーサイトのSDK構成設定メニューを開き、クライアントプラットフォームとしてLinuxを有効にします。
    2. EACパートナーサイトの「Client Module Releases」メニューから、Unixプラットフォームを選択し、モジュールをアクティブ化します。 ステータスダッシュボードでLinuxモジュールが見つからない場合は、EACサポートにお問い合わせください。
    3. それが完了したら、EAC SDKをダウンロードし、ゲームに実装されているSDKバージョンのLinuxライブラリ(\Client\Assets\Plugins\x86_64\libeasyanticheat.so)を見つけ、名前をeasyanticheat_x64.soに変更し、Windowsライブラリ(EasyAntiCheat_x64.dll)の隣のデポに追加します。
    4. 最後に、Steamworksサイトで、新しいデポコンテンツを含むゲームの新しいビルドを公開します。 (ゲームの実行ファイルに変更を加える必要はなく、新しいファイルをデポのコンテンツに含めるだけです。)
  • BattlEye

    ProtonはBattlEyeおよびBattlEyeが有効化されたゲームをサポートしています。 各タイトルは手動で設定する必要がありますので、詳細はValveまたはBattlEyeの技術担当者にメールでお問い合わせください。

以前、アンチチートによって機能がブロックまたは制限されていたゲームは、上記の手順に従ってProton/Steam Deckサポートを有効にした場合、再レビューをリクエストできます。 詳細は、Steam Deck互換性レビューのドキュメントでご確認ください。

ご質問やご不明な点があれば、Valveの技術担当者にお問い合わせいただくか、Steam Deck Steamworks開発者掲示板に投稿してください:https://steamcommunity.com/groups/steamworks/discussions/27/

Protonに関する既知の問題

以下は、Protonとの互換性の問題が報告されているエリアに関する推奨事項です。既知の問題により、一部のタイトルではSteamでゲームをリリース後もProtonのフルサポートが遅れる可能性があります。
  • .NET / WPF:ランチャーには、.NET / WPFのようなOS依存のフレームワークではなく、Qtのようなスタンドアロン技術を使用することを推奨します。 最良の結果を得るためには、別のランチャーを使用するのではなく、その機能をゲームクライアントのUIに統合してください。より優れたコントローラサポートが得られます。
  • Media Foundation: To save additional bandwidth and disk use, we recommend using standalone codecs like VP9 or AV1.
  • アンチチート:ユーザー空間のアンチチートコンポーネントの使用を推奨します。これは通常、Wine環境で動作し、同程度の機能を提供します。 カーネル空間のソリューションは現在サポートされておらず、推奨されません。 注:弊社ではProtonとの互換性を提供するため、ほとんどのアンチチートテクノロジープロバイダーと協力してきました。 現在お使いのソリューションが機能していない場合は、ベンダーとValveの両方にサポートを依頼してください。
  • 耐タンパー / DRM:ディスクの使用や全体のパフォーマンスに影響を及ぼす可能性があるため、どのPCプラットフォームにおいてもこのようなソリューションの使用は推奨していません。 Wine環境で完全に機能させることにはいくらか時間がかかる上、タイトルのサポートにはかなりの遅延が生じる場合があります。

問題の報告

ゲームをProtonでプレイしていて、上述以外の問題が発生した場合、Steamworks掲示板GitHubトラッカー、Valveの連絡先などを通じて報告してください。 皆さんからの報告は、現在進行中のProtonサポートの改善への取り組みに非常に役立ちます。

Linuxテスト環境のセットアップ

Linuxテスト環境をセットアップすることで、ゲームをすぐにProtonでテストできます。 これはPCさえあれば無料でできます。 詳細な手順は開発キットなしでのSteam Deck向けゲーム開発を参照してください。