Steam Deckの内蔵ストレージが「その他」で急速に圧迫される理由
Arch LinuxベースのSteamOSでは、Windows向けゲームを起動するたびに、内蔵SSD(eMMC / NVMe)内に compatdata/[AppID](仮想Windows環境であるProton WINEプレフィックス)と shadercache/[AppID](事前コンパイルされたVulkan/DXVKシェーダーバイナリ)の2つの隠しフォルダが強制生成されます。MicroSDカード側にゲーム本体をインストールしていても、これらキャッシュはデフォルトで内蔵ストレージに蓄積され、数十GBの容量を消費します。
| フォルダ名 | 格納ファイルと性質 | 1タイトルあたりの平均サイズ | 直接削除の可否 |
|---|---|---|---|
compatdata/[AppID] | 仮想Cドライブ、レジストリ、ローカルセーブデータ | 500 MB - 3.5 GB | 原則不可。クラウド同期前のローカルセーブが消失します |
shadercache/[AppID] | 事前コンパイル済みのDXVK/VKD3Dシェーダー | 1 GB - 8 GB | 削除可能。Steamから再取得されますが次回起動時にスタッター発生 |
| 孤立AppIDデータ | アンインストール済みタイトルの残留キャッシュ | 累積で20GB以上になることも | 完全安全。不要なゴミデータのため即時削除推奨 |
ステップ1: デスクトップモードのKonsole端末で容量を調査
電源メニューから「デスクトップモードに切り替え」を選択し、Konsole端末を起動して各ディレクトリの容量を確認します:
du -sh ~/.local/share/Steam/steamapps/shadercache/* | sort -h
du -sh ~/.local/share/Steam/steamapps/compatdata/* | sort -h
表示されたAppID番号(例: Cyberpunk 2077なら 1091500)をSteamDBで照合し、内蔵SSDを圧迫している原因ゲームを特定します。
ステップ2: MicroSDカード側に移行先フォルダを作成
MicroSDカード(マウント先: /run/media/mmcblk0p1/)にキャッシュ用フォルダを作成して実データを移動します。
- MicroSD内に保存用ディレクトリを作成:
mkdir -p /run/media/mmcblk0p1/SteamDeck_ExternalCaches/shadercache
mkdir -p /run/media/mmcblk0p1/SteamDeck_ExternalCaches/compatdata
- 対象ゲームのキャッシュをMicroSDへ物理移動(例: AppID 1091500):
mv ~/.local/share/Steam/steamapps/shadercache/1091500 /run/media/mmcblk0p1/SteamDeck_ExternalCaches/shadercache/
mv ~/.local/share/Steam/steamapps/compatdata/1091500 /run/media/mmcblk0p1/SteamDeck_ExternalCaches/compatdata/
ステップ3: Linuxシンボリックリンクの作成
SteamOSが従来通りの内蔵パスを参照した際に、自動的にMicroSDへアクセスするようシンボリックリンクを張ります:
ln -s /run/media/mmcblk0p1/SteamDeck_ExternalCaches/shadercache/1091500 ~/.local/share/Steam/steamapps/shadercache/1091500
ln -s /run/media/mmcblk0p1/SteamDeck_ExternalCaches/compatdata/1091500 ~/.local/share/Steam/steamapps/compatdata/1091500
リンクが正常に作成されたか確認します:
ls -ld ~/.local/share/Steam/steamapps/shadercache/1091500
出力に矢印(-> /run/media/mmcblk0p1/...)が表示されていれば移行完了です。
ステップ4: Decky LoaderのStorage Cleanerプラグインによる自動化
コマンドライン操作を行わずにGUIで手軽に管理したい場合:
- デスクトップモードでDecky Loaderをインストールします。
- ゲームモードに戻り、Deckyプラグインストアから
Storage Cleanerを導入します。 - すでにアンインストールされたゲームの残留compatdataを一括検出し、1クリックで数十GBの空き容量を安全に回復できます。