為什麼 Steam Deck 內部儲存空間會被未知資料迅速填滿
在以 Arch Linux 為基礎的 SteamOS 系統中,每當玩家安裝一款 Windows 遊戲,系統都會在內部儲存(eMMC 或 NVMe SSD)中強制產生兩個隱藏配套目錄:compatdata/[AppID](專用的 Proton WINE 前綴沙盒,內建虛擬 Windows 註冊表和系統環境)以及 shadercache/[AppID](預先編譯的 Vulkan 和 DXVK 著色器二進位庫)。即使玩家將遊戲主程式全部安裝在外部 MicroSD 擴充卡上,這兩個目錄預設仍駐留在主機內部空間,隨安裝遊戲數量增加可迅速吞噬 30GB 至 60GB 的容量。
| 目錄名稱 | 存放內容與檔案性質 | 單一遊戲平均占用 | 是否可直接刪除? |
|---|---|---|---|
compatdata/[AppID] | 虛擬 C 槽環境、本機遊戲存檔、VC++ 執行庫 | 500 MB - 3.5 GB | 嚴禁隨意刪除;未同步至雲端的本機單機存檔將永久遺失 |
shadercache/[AppID] | 預編譯的 DXVK / VKD3D 著色器快取 | 1 GB - 8 GB | 可安全刪除;Steam 會重新下載,但下次啟動遊戲會發生卡頓 |
| 孤立 AppID 殘留 | 已解除安裝遊戲遺留的無主前綴與快取 | 視遊戲而定,常超 20GB | 完全可安全清理;對當前系統與正常遊戲無任何負面影響 |
第一步:在桌面模式使用終端機排查大容量快取
長按主機電源鍵,選擇「切換至桌面模式」(Switch to Desktop),開啟 Konsole 終端機,執行容量排序命令:
du -sh ~/.local/share/Steam/steamapps/shadercache/* | sort -h
du -sh ~/.local/share/Steam/steamapps/compatdata/* | sort -h
終端機將依體積升冪輸出各個 AppID 資料夾。可前往 SteamDB 查詢對應的遊戲編號(例如 1091500 對應《電馭叛客 2077》),確認究竟是哪些大作擠佔了內部儲存。
第二步:在 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/
第三步:建立 Linux 軟連結(Symbolic Link)實現無縫掛載
在主機內部原路徑建立軟連結,將 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
若終端機輸出結果中帶有箭頭指向 MicroSD 路徑(-> /run/media/mmcblk0p1/...),則代表掛載成功。
第四步:使用 Decky Loader 外掛程式自動化清理殘留孤立快取
對於不習慣終端機命令列的玩家,可採用圖形化外掛管理:
- 在桌面模式下執行官方指令碼安裝 Decky Loader。
- 切回遊戲掌機模式,在 Decky 側邊欄外掛商店中安裝
Storage Cleaner。 - 啟動外掛掃描內部儲存:外掛會自動識別那些主程式早已解除安裝、但殘留至今的孤立 compatdata 目錄,提供一鍵安全回收功能,釋放寶貴內部空間。