はい、タイトルの通り『Steam Deck』のカスタムについてなのですが、200時間以上プレイした2022個人GOTYである『FFオリジン』(Epic版)のセーブデータが消えてしまい悲しみと虚無の中書いてます。

最終的にはWindowsデスクトップとSteamOS『Steam Deck』との間でしっかりクラウドセーブ同期して交互にプレイできるようにはなりましたが、後の人も私自身も同じような目に合わないよう記録と解説します。

前提として、私は64GB+SDカードで運用しておりWindowsを入れる予定がありません。
SteamOSの操作性・軽量動作・低消費電力・スリープ機能などのメリットがあるためですが、この場合ゲームはSDカードにインストールすることになり、非Steamゲームを動かすための設定がかなり必要になります。

この辺りを説明しますが、SteamOSデスクトップモードでのスクショ方法が分かってないので基本は文字のみです。ゲームモードではスクショ撮れるので載せてます。

1.EpicランチャーとHeroicランチャーの比較

というわけで多くの人が入れるであろうEpicのゲームについて。

SteamOSでEpicをプレイするには、「Epicランチャー」(公式)、SteamDeck用に作られた「Heroicランチャー」、Linuxマシン用に以前から存在する「Lutrisランチャー」の大きく3つの方法があります。
それぞれSteamOSとの相性が異なるので細かく比較してみます。
Lutrisはまだ使ってないので以下の英語記事の情報です。インストール方法も比較的分かりやすく解説されてます。
How to install Epic and GOG games on Steam Deck

項目EpicランチャーHeroicランチャーLutrisランチャー
対応ストアEpicEpic
GOG
Epic
GOG
Origin(EA)
Ubisoft
任意のexe
ランチャーのインストール少し面倒簡単少し面倒
ランチャーの動作重い軽い
サクサク動く
ランチャーの操作
(デスクトップモード)
極めて困難
コントローラー無反応
物理デバイスがほぼ必須
使いやすい
コントローラー対応
直感的に操作できる
ランチャーの操作
(ゲームモード)
多少は操作できる
Steamボタンのショートカット活用
同上
SDカードへの
インストール
少し面倒
起動オプションが必要
簡単
ゲーム毎のSteam登録面倒
2.4項参照
ゲームによる
将来的に対応予定?
できる
ゲーム毎のProton設定
(互換性設定)
同上簡単おそらくできる
ゲーム毎の起動オプション同上少し面倒おそらくできる
クラウドセーブ同期できる面倒
フォルダ手動設定
同期確認に神経を使う
おそらくできる

ざっくりこんな感じ。
私がやりたかった『FFオリジン』はカスタムProton+起動オプションが必要だったのでEpicランチャーは諦めて、HeroicランチャーでSDカードから起動することにしました。

カスタムProtonについては以下参照。
関連記事:『Steam Deck』非対応ゲームをカスタムProtonで簡単に動かす手順

2.Epicランチャー

Heroicランチャーの前にEpicランチャーのインストールについてまとめておきます。
このインストール方法を知っておけばOrigin(EA)やUbiisoftなど大抵のWindowsアプリも同じ方法でインストールできるためです。
しかし、Epicランチャーを使うのはおすすめしません

Epicのインストール方法はすでに日本語解説があるのでリンクしておきます。同じような日本語解説は今後も増えると思います。
Steam Deck にEpic Games(エピックゲームズ)をインストールする方法・やり方

とはいえ、実際にやってみて説明が不十分に感じたので補足しつつ簡単に手順をまとめます。
特に断りがない限りデスクトップモードでの作業です。

2.1 Epicランチャーインストール

①デスクトップモードでファイルマネージャを開き、View設定で「Show Hidden Files」にチェックする。
隠しファイルを表示する重要な手順なのにLinuxユーザーには当たり前なのか解説されてないことが多い。

②適当なブラウザでEpicGamesを開き、インストーラーをダウンロード。
私はDiscoverアプリでChromeを入れた。

③Steamを開き、ゲーム→「非Steamゲームをライブラリに登録」で、「/home/deck/Downloads/」にダウンロードしたEpicインストーラー(.msi)ファイルを登録。
Epic以外のインストーラーも同様に登録できます。大抵のWindowsアプリはこの方法でインストールできる様子。

④登録したインストーラーのプロパティ→互換性にて「~互換ツールの使用を強制する」にチェックして最新のProtonを選択。
「Proton Experimental」よりエラーの可能性が少なくなるとのこと。解説によっては「Proton GE 7-20」を指定しているものもあったので、インストーラー毎に相性があるかもしれない。

執筆時点の最新はProton7.0-5。ちなみにデフォルトは「Experimental」=実験版。

⑤SteamライブラリからEpicインストーラーを「プレイ」して標準設定でインストール。
インストール後、Epicインストーラーはアンインストーラーとしても使えるのでそのままでOK。

⑥インストール後、ファイルマネージャを開きインストールされたフォルダを確認する。
SteamOSのフォルダ構成を理解するために非常に重要。

まず、「home/deck/.local/share/Steam/steamapps/compatdata」に行くと数字だけのフォルダが並んでいます。
これはSteamからインストールしたゲームなどのフォルダで、7桁までの番号はSteamにリリースされているゲームや関連アプリとなっています。実際に入れたゲームがあるならブラウザでストアページに行くと同じ番号がURLになっていることが確認できます。
EpicなどSteam外のゲームやアプリは10桁ほどの長い番号になっていて各々の環境で変わります。
Epicしか入れてないなら長い番号フォルダは一つしかないと思うので以下のフォルダを探してください。色々入れてる場合は、開いては戻るを繰り返して探すしかないです。

「…/<番号フォルダ>/pfx/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32」

ここにインストールした「EpicGamesLauncher.exe」があります。
なお、「drive_c」以降はWindowのフォルダ構成と同じになっていて、Steam経由のゲームやアプリ毎にプレフィックスフォルダ(Windows互換フォルダ)が作られているということです。

⑦Steamを開き、先ほどの「EpicGamesLauncher.exe」を非Steamゲームとして登録。
Epicランチャーのインストールはここで完了。

Epicランチャーのプロパティ。赤枠が環境によって異なる長い番号。

[23/1/12追記]
海外の方から指摘があり厳密にはこの手順は誤りです。
「非Steamゲームをライブラリに登録」すると、その都度プレフィックスフォルダ(Windows互換フォルダ)が作られます。
そのため、③で登録したEpicインストーラーのプロパティ→ショートカットにて「リンク先」および「作業フォルダ」を上画像のように「EpicGamesLauncher.exe」に変更した方が余計な不具合を誘発せずに済みます。リンク先変更後は名称をEpicインストーラーからEpicランチャーに変えるのがおすすめです。
一応Epicランチャーについては現在の手順でゲーム起動できたので以降はそのままとしておきます。

⑧登録したEpicランチャーを「プレイ」して、初回ログインする。
デスクトップモードでのEpicランチャーはソフトキーボードが使えない

私はゲームモードで起動して、Steam+Xボタンでソフトキーボードを呼び出してログインしました。
ログイン後も外部キーボード+マウスがないとほぼ操作できないため私はEpic使用を辞めました。
[追記]ゲームモードではSteamボタン+右タッチパッドやL2/R2で結構操作できます。

⑨ログイン後、Epicランチャーのオプションから「エディター動作時のインストールを可能にする」と「クラウドセーブを有効にする」以外のチェックを外す。
Epicランチャーは重いので余計な動作をさせないようにしておく。

Epicランチャーの設定。

⑩Epicランチャーから目的のゲームをインストールしたらEpicランチャー経由でゲームをプレイする。
ゲームは⑥の「…/<番号フォルダ>/pfx/drive_c/Program Files (x86)/Epic Games/」にインストールされるはず。つまりデフォルトではSteamDeck本体へのインストール固定
とはいえ、公式ランチャーのため標準でクラウドセーブ同期できる。

2.2 SDカードへのインストール

SDカードにインストールする場合は、以下の英語動画7:25~にあります。これを続きの手順とします。

⑪ファイルマネージャを開き、「Primay」フォルダ(SDカード)に「Epic」フォルダなどを作成し、「Primay」のフォルダパスをコピーもしくはメモしておく。

⑫SteamからEpicランチャーのプロパティ→ショートカットの起動オプションに以下のコマンドを入力する。
「STEAM_COMPAT_MOUNTS=/run/media/mmcblk0p1/ %command%」
赤字がSDカードのフォルダパスでOSアプデにより変わる可能性があるのでペーストするのが無難。%の前に半角スペースがあることに注意。
この起動オプションは他のランチャーでも流用してSDカードへインストールできそう。

SDカードマウントの起動オプション。

⑬Epicランチャーでのインストールフォルダ選択で、My Computer配下のEドライブを選択して⑪で作成したフォルダが見えれば成功。そのフォルダにインストールすればSDカードへインストールされる。
DドライブがSDカードになってる動画もあったので環境によるかもしれない。

2.3 Steamライブラリへのゲーム登録

⑭Steamにゲーム単体で登録する場合は、⑩もしくは⑬のインストールフォルダからゲーム本体のexeファイルを探して登録する。
この登録で起動するかどうかはゲームによる。最新ゲームほどEpic認証に弾かれて起動しないと思われる。

⑮ゲーム単体で登録して起動できる場合は、プロパティ→互換性にてカスタムProtonや起動オプションを設定できるはず。
例えば『FFオリジン』はカスタムProton指定と起動オプションどちらも必要だったため起動せず。⑭では起動できないタイプのゲームだったのだと思われる。

Epicランチャーの手順は以上です。

SteamDeck単体ではEpicランチャーの操作が困難で、起動オプションが必要なゲームも動かせませんが、意識せずともクラウドセーブ同期してくれるのは良いところだと思います。
なお、⑥⑩⑭のインストールフォルダを把握しておけばMODを入れることも可能です。
とはいえ、非常に手間がかかり操作性も悪くややこしいのでSteamDeckでEpicランチャーの使用はおすすめしません
-2022/12/24

2.4 教えてもらったEpicインストール完全版 [23/1/12追記]

海外の方からSDカードインストールかつゲーム単体でSteamライブラリ登録してもEpic認証が通る方法を教えて貰いました。
しかし、私はHeroicランチャーを使うことにして未検証のため2.3項まで理解してる前提での文字解説です。

1.Epicインストーラーを「非Steamゲームをライブラリに登録」し、以下の起動オプションを設定してインストール。(フォルダは事前に準備しておく)
「STEAM_COMPAT_DATA_PATH=/home/deck/.proton/epic %command%」

2.インストール後、Epicインストーラーのプロパティ→ショートカットにて「リンク先」を「EpicGamesLauncher.exe」に変更。ついでに名称をEpicランチャーに変更。

3.Epicランチャーの起動オプションを以下に変更。(2つの起動オプションの間は半角スペース)
「STEAM_COMPAT_DATA_PATH=/home/deck/.proton/epic STEAM_COMPAT_MOUNTS=/run/media/mmcblk0p1/ %command%」

4.Epicランチャーを起動し、ゲームをSDカードにインストール。

5.ゲームのexeファイルを「非Steamゲームをライブラリに登録」し、以下の起動オプションを設定。(3と同じ)
「STEAM_COMPAT_DATA_PATH=/home/deck/.proton/epic STEAM_COMPAT_MOUNTS=/run/media/mmcblk0p1/ %command%」

6.ゲーム毎に必要なProtonを設定する。

7.SteamライブラリからEpicのゲームを直接起動して動作確認。

STEAM_COMPAT_DATA_PATHがおそらくプレフィックスフォルダを指定していて、全て同じフォルダを指定することで一つのWindowsにインストールされているように判定され、ゲームがEpic認証を通るようになっているのだと推測します。
ややこしいですがEpicランチャーを使う場合は知っておいた方がよさそうです。

3.Heroicランチャー

続いてHeroicランチャーについて。
こちらはSteamDeck用に開発されただけあって、操作性もよくインストールや設定なども比較的簡単です。
以下の英語記事が分かりやすかったです。
How to get your Steam Deck to access the Epic Games Store and more

クラウドセーブ同期だけがややこしいのでそこは重点的に書きます。
特に断りがない限りデスクトップモードでの作業です。

3.1 HiroicランチャーとSDカードへのインストール

①デスクトップモードで「Discoverアプリ」(左下青いバッグのようなアイコン)を開き、「Heroic Games Launcher」を検索して「Install」。
Heroicランチャーはこれでインストール完了。

インストール後、おそらく何度も使うことになるのでデスクトップ左下の「Application Launcher」(スタートメニュー)→「All Application」→「Heroic Games Launcher」を右クリック(L2ボタン)→「Pin to Task Manager」でタスクバーにピン留めするのがおすすめ。
また、同じ要領で「Add to Steam」すると非Steamゲームとしてライブラリに登録されます。

②ファイルマネージャを開き、「Primay」フォルダ(SDカード)に「Heroic」フォルダなどを作成しておく。
SDカードにインストールしない場合でも、分かりやすいところに「Heroic」フォルダを作っておくのがおすすめ。

③インストール(ピン留め)した「Heroic Games Launcher」を開いて、EpicおよびGOGアカウントにログインする。
ログインは必要なものだけでOK。ログイン成功すると所有ゲーム一覧が表示される。

④インストールしたいゲームを開いて「インストール」。
このときに②で作成したフォルダをインストールパスに指定するとその配下に「ゲーム名」フォルダでインストールされる。
また、「Use Default Wine Settings」にチェックせずWinePrefixはそのままにしておく。

⑤クラウド同期しないのであればこのまま「プレイ」。
クラウド同期する場合は、次の同期設定完了してから動作確認すべき。

3.2 クラウドセーブ同期設定

⑥普段使いのPCにてEpicランチャーを開いて、ライブラリ→ゲームを右クリックまたは「…」→管理でクラウドセーブをオフにする。

Epicのセーブデータは複数端末の最新起動した方がクラウドに上書きされます。(他ストアも?)
一度でもSteamDeckで起動するとそれだけで最新セーブと認識されてしまう(ゲームによる?)ので同期設定が完了するまでは同期を切っておくことを強く推奨します。

⑦Heroicランチャーでインストールしたゲームの「設定」→左側の「同期を保存」。
設定画面ではカスタムProton含めうてProtonバージョンを選べる。

⑧同期セーブフォルダが表示されているもののゲームによって異なるためデフォルトフォルダパスを削除して正しいセーブフォルダを指定する。
Heroic公式によるとEpicのAPI仕様で自動設定できないとのこと。一応デフォルトフォルダパスがヒントになっている。

例えば『FFオリジン』のデフォルトフォルダパスは以下のようになっていました。

{UserDir}/My Games/<FFオリジンの正式名>/EOS/{EpicID}

{}で囲まれているものは自身で探して設定する必要があります。{}がなければそのままクラウドセーブ同期できるゲームということです。

『FFオリジン』はデフォルトでは同期できない。例えば『DeadCells』はデフォルトで正しいセーブフォルダになっていた。

まずはファイルマネージャを開き、④のWinePrefixフォルダ「home/Games/Heroic/Prefixes/<ゲームフォルダ>」に移動しましょう。
さらに「…/pfx/drive_c/users/steamuser」に移動するとWindows互換フォルダが並んでいます。
drive_c=CドライブでHeroicもゲーム毎にWindows互換フォルダが作られるということです。

そしてヒントになっている「UserDir」とはWindowsにおけるユーザーディレクトリ=ユーザーフォルダを意味してます。
『FFオリジン』の場合は以下にセーブデータがありました。
「…/pfx/drive_c/users/steamuser/Documents/My Games/<FFオリジンの正式名>/EOS/<EpicID>」(EpicIDは30ほどの文字列)

『FFオリジン』の正しいセーブフォルダ。あくまで一例。

ユーザーディレクトリのどこにセーブフォルダがあるのかはゲーム毎に異なるので普段使いPC側で先に探した方がいいです。
例として以下のような場所に置いてあるようです。
「…/pfx/drive_c/users/steamuser/Saved Games
「…/pfx/drive_c/users/steamuser/AppData/Local

⑨手動同期保存「ダウンロード」の状態で「同期」する。
同期の成否についてのウィンドウが開くので、英語が読めて失敗したようなら同期設定に間違いがないか見直す。

一度ダウンロードに失敗したことがあったので何度か試すのもいいかもしれません。
英語が分からないなら次に行きます。

「保存を自動的に同期する」のチェックを外して「プレイ」する。(起動しない場合は先に3.3項)
同期できていれば普段使いPCの続きからプレイできる。

起動して同期出来ていなかった場合は、⑧の同期設定に間違いがないか見直します。
誤って「自動的に同期」にしていた場合、SteamDeckのセーブデータが最新となってしまうため、一度普段使いPC側でゲームを起動したあとに⑥のクラウドセーブをオンオフしましょう。

⑪同期できていることが確認できたら「保存を自動的に同期する」にチェックする。⑥のクラウドセーブもオンにする。
これでクラウドセーブ同期設定は完了。SteamDeckと普段使いPCとの間で交互にプレイすることが可能。

3.3 カスタムProtonと起動オプション

Steamの多くのゲームと同様にそのままで動かないゲームは海外情報などを調べて設定する必要があります。

⑫Heroicランチャーで対象ゲームの「設定」→Wineバージョンで適切なProtonを選択する。
例えば『FFオリジン』は「Proton GE7-10」というカスタムProtonで動く。

⑬起動オプションは設定の下の方にあるVariable Nameの「<名称>=<コマンド>」に入力する。
例えば『FFオリジン』は「WINEDLLOVERRIDES」=「”amd_ads_x64=b”」。

意味は分かってないのでこの辺りもゲーム毎に調べるしかないですが、Steamと違って起動オプションが複数細かく設定できそうなのは良いですね。

『FFオリジン』の起動オプション。

⑭ゲームモードのHeroicランチャー経由でゲームの起動確認と同期確認をする。

3.4 Steamライブラリへのゲーム登録

⑮インストールしたゲームの右上オプションから「Add to Steam」。
これで登録できるか否かはゲームによる様子。

私が試した2つのゲームでは登録できませんでした。
ちなみに「ショートカットを追加する」はデスクトップにショートカットが作られます。

「Add to Steam」を押すと登録できたような表示になるもののしばらくすると元に戻る。

Heroicランチャーについては以上です。
非SteamゲームはProtonDBにも情報がなかったりするのでRedditなどの海外掲示板を探してみましょう。
Epicランチャーと比較してどちらも良し悪しがありますが操作性の観点でHeroicランチャーの方がおすすめです。
-2022/12/29

↑いいね貰えると励みになります