-
-
Save td2sk/a887f69da7bfa65209174a3ad4877512 to your computer and use it in GitHub Desktop.
最初にやったほうがいい設定とか
Steam Deck ではキャッシュ等が 40GB ほど内部 SSD を使ってしまうため 64GB モデルではすぐに Disk Full になる。 内部データを SD カードに移すことで、ある程度余裕ができる。
# SD カード上に退避先ディレクトリを用意
mkdir /run/media/mmcblk0p1/system
# データを移動
mv /home/deck/.steam/steam/steamapps/compatdata /run/media/mmcblk0p1/system/
mv /home/deck/.steam/steam/steamapps/shadercache /run/media/mmcblk0p1/system/
# シンボリックリンクを張る
ln -s /run/media/mmcblk0p1/system/compatdata /home/deck/.steam/steam/steamapps/compatdata
ln -s /run/media/mmcblk0p1/system/shadercache /home/deck/.steam/steam/steamapps/shadercache
参考
USB メモリで都度転送するのはあまりにダルいので ssh か syncthing を入れておくとよい。
syncthing を使うと、非 Steam ゲームでも PC とセーブデータの同期ができたりするのでおすすめ。
- 非 Steam ゲームは Desktop モードで exe ファイルを右クリックして Steam に追加できる
- png 画像を用意しておけばアイコンやアートワークもいい感じに設定できる
- ゲームを Steam Deck にコピー
- 入れる場所は SSD でも SD カードでもよい
- パスに全角文字やスペースが含まれていると起動しないゲームがあるので、日本語は使わず英数字に絞っておくのが吉
- ゲーム内の exe ファイルを右クリックし、Steam に追加 をクリック
Steam 側に追加され、Steam メニューから起動できるようになる。 ゲーム名はデフォルトで実行ファイル名になるので、ゲームのプロパティから修正する。
変更できる場所は以下3つ。 png か jpg が使える
種類 | 用途 | 設定方法 |
---|---|---|
アイコン | ゲーム一覧でタイトル横に表示される小さいアイコン | ゲームのプロパティを開き、タイトル横のアイコン欄をクリック |
アートワーク | ホーム画面で表示される画像 | Desktopモードにし、Steamホームで該当ゲームを右クリック > 管理 > カスタムアートワークを設定 |
カスタム背景 | ゲームを選ぶと出てくる起動画面の背景 | Desktop モードでゲームを選択し、プレイボタンの上の背景部分で右クリック > カスタム背景を設定 |
Windows ゲームが起動しない場合の対策
wine
- Windows API の互換レイヤー
proton
- wine をベースにゲーム特化で色々付け加えたやつ。Steam Deck に最初から入ってる
proton GE
- proton に標準では同梱できないあれこれがセットになってるやつ
prefix (wine)
- wine が Windows のフリをするときに使うディレクトリ
- 中に C ドライブっぽい内容とかが入ってる
- イメージとしては、ゲームが Docker コンテナで動いて prefix が Docker Volume みたいな感じ
- Steam Deck ではゲーム毎に prefix が用意されている
winetricks
- wine prefix に DLL とかフォントとかをいい感じに入れてくれるツール
- ゲームが動かないときは、足りない DLL に当たりをつけて色々入れてみることになる
protontricks
- proton 用 winetricks。 Steam Deck ではこっちを使う
名前 | 入れ方 | 用途 |
---|---|---|
Protontricks | discovery | 必要なdllの導入や proton の指定をいい感じにやってくれるやつ |
ProtonUp-Qt | discovery | 非標準の互換レイヤーをインストールできる。特に特にGE(標準では除外されているプロプライエタリなライブラリ同梱版)は入れておきたい |
ゲームが起動しないときは、とりあえず以下の互換レイヤー設定を試してみると上手くいくことが多い
- Proton 8.x
- Proton 8 GE (ProtonUp-Qt で導入)
- Proton 7.x
- Proton 6.x
互換レイヤーはゲーム毎に設定する。 プロパティ> 互換性 > 特定のSteam Play互換ツールの使用を強制する で選択できるようになる
Steam Deck には日本語ロケールが含まれていないため、一部ゲームで文字化けする。
⊠ ← これみたいな文字がタイトルバーやゲーム内に出る場合には、この項の手順で解決する可能性が高い。
また、ゲームによってはロケール設定が正しくないせいで起動しないことがある。起動失敗のエラーメッセージが文字化けしている場合は試してみる価値あり。
# https://steamdeck-packages.steamos.cloud/archlinux-mirror/core-main/os/x86_64 を見て、存在するバージョンを選択
MYPKGNAME=glibc-2.37-3-x86_64
# 導入先
MYLOCALE=${HOME}/.locale
MYDOWNLOADS=/home/deck/Downloads
MYGLIBC=${MYDOWNLOADS}/${MYPKGNAME}
MYI18N=${MYGLIBC}/usr/share/i18n
wget -P ${MYDOWNLOADS} https://steamdeck-packages.steamos.cloud/archlinux-mirror/core-main/os/x86_64/${MYPKGNAME}.pkg.tar.zst
mkdir -p ${MYGLIBC}
tar xf ${MYGLIBC}.pkg.tar.zst -C ${MYGLIBC}
mkdir -p ${MYLOCALE}/usr/lib/locale
I18NPATH=${MYI18N} localedef -i ${MYI18N}/locales/ja_JP -c -f UTF-8 -A ${MYGLIBC}/usr/share/locale/locale.alias ${MYLOCALE}/usr/lib/locale/ja_JP.UTF-8
I18NPATH=${MYI18N} localedef -i ${MYI18N}/locales/ja_JP -c -f UTF-8 -A ${MYGLIBC}/usr/share/locale/locale.alias --add-to-archive --prefix ${MYLOCALE}
mkdir -p ${MYLOCALE}/usr/share/
cp -r ${MYI18N} ${MYLOCALE}/usr/share/
上記実行後、ゲームの起動オプションで環境変数を指定する
I18NPATH=/home/deck/.locale/usr/share/i18n LOCPATH=/home/deck/.locale/usr/lib/locale LANG=ja_JP.UTF-8 %command%
参考
Steam Deck は標準では MIDI 音源を鳴らせない。以下の場合は設定が必要
- ゲームフォルダに明らかに BGM 用の MIDI ファイルがある
- 昔遊んだときに MIDI っぽい音がした気がする
- なんか音が出ないから MIDI のせいかも
Steam Deck 標準には MIDI 音源や再生ソフトがないので、インストールする。 また、ゲームの起動前に MIDI シンセが自動起動するよう設定する必要がある。
手順
- ストアから Qsynth を入れる
- サウンドフォントを入れる (Scc1t2.sf2)
- デスクトップモードで Qsynth 設定
- Gain: 25
- Setup > Soundfonts > Open から手順2のフォントを追加
- Options から以下にチェックを付けてバックグラウンドで実行されるよう設定
- Enable system tray icon
- Start minimized to system tray
- ゲームの起動オプションを変更し、ゲーム中だけ qsynth が起動するようにする
- LD_PRELOAD=/usr/lib/libcurl.so.4 flatpak run org.rncbc.qsynth & %command% ; killall -9 qsynth
参考
方法1 で音が出ない場合、内部で Microsoft Synthesizer が使われている可能性がある。 その場合は protontricks を使って gmdls, directmusic (リバーブが必要ならdsdmoも) を入れてみると改善する。
方法2 で解決した場合、方法1 で設定した起動オプション変更は不要なので消しておくこと。
参考
どうやっても動かない場合は DLL 等が不足している可能性が高い。
GUI の使い方は省略。 GUI だと進み具合が分からないが、DLLインストールはかなり時間がかかるので ps コマンド等で確認しながらじっくり待つこと。 途中で触るとだいたい失敗する。
CUI で動かす場合は以下
# alias
alias protontricks='flatpak run com.github.Matoking.protontricks'
# ゲーム ID の確認
# 一覧に表示されない場合は一度ゲームの起動・終了を行ってから再実行する
protontricks -l
# DLL の導入方法
protontricks (確認したゲームID) (DLL名)
- ゲームの動作状況
- 動かした手順
- 原則としてゲームの保存先フォルダ名は親階層まで含め半角英数だけにしておくこと
- ディレクトリパスに日本語(全角文字)を入れると起動しないゲームがあるため
タイトル | 動作 | 互換レイヤー | MIDI 設定が必要?1 | 日本語ロケール設定が必要?2 | protontricks DLL追加 | 備考 |
---|---|---|---|---|---|---|
魔王のアクジ | o | Proton 8.0-4 | o | o | d3drm3 | 日本語ロケール設定をしなくても動くがゲーム内文字も化ける |
きまる! | o | Proton 8.0-4 | o | |||
フロントライン | o | Proton 8.0-4 | ||||
石松99 | o | Proton 8.0-4 | o | 3面ボスで音がちょっとバグるけど、昔からそうだった気がする | ||
みこさんのミラクルボード | o | Proton 8.0-4 | directmusic gmdls |
DLLを入れないとStage1開始時(MIDI再生時)に落ちる | ||
おばけの行進曲 | o? | Proton 8.0-4 | たぶん動くが検証不足 | |||
おばけの行進曲 10th | o? | Proton 8.0-4 | たぶん動くが検証不足 | |||
しぇいむ☆おん | o | Proton 8.0-4 | o | ffdshow, quartz | DLL は OP, ED ムービーを見るために必要。なくても動く | |
スマッシュセット | o | Proton 8.0-4 | directmusic gmdls |
DLLを入れないとBGMが流れない(効果音はなくても鳴る) 時限アイテム使用時の残時間バーに、プレイに支障のない程度の表示バグあり |
||
超連射68k | o | Proton 8.0-4 | ||||
不思議のダンジョン 風来のシレン 女剣士アスカ見参 | o | Proton 6.3-8 | o | ムービーが正しく表示されない 日本語ロケールは無くてもタイトルバーとメニューバーが化けるだけ 初回起動には Proton 6系が必要だが、2回目以降は8系でも動く 最近の Windows で普通に動くようパッチは事前に当てておくこと: オフラインパッチ, NOCD, AsukaPlus |
||
Last Dimension | o | Proton 8.0-4 | directmusic gmdls |
DLLを入れないとBGMが流れない(効果音はなくても鳴る) | ||
ヴァンガードプリンセス | x | 起動せず。ツクール系なのでランタイムが必要? | ||||
ボールの王子様 | o | Proton 8.0-4 | ||||
かむたこ | o | Proton 8.0-4 | o | 昼夜の切り替え時に昼BGMの音程がずれる クリアまで遊べた |
||
Neko Flight | o | Proton 8.0-4 | o | 日本語ロケールにしなくても動くがダイアログが文字化けする | ||
シャンハイエグゼ | x | Proton 8.0-4 | テキストが文字化けする。おそらくフォント不足 | |||
ディアボロの大冒険 | x | Proton 8.0-4 | startup failed と表示され起動せず |
Footnotes
用途 | パス |
---|---|
SDカード | /run/media/mmcblk0p1 |
Steam | /home/deck/.local/share/Steam |
スクリーンショット | /home/deck/.local/share/Steam/userdata/ |
パスがネストしてて一覧性がないので Pictures 以下に cp した方が扱いやすい
# コピー先
mkdir -p ~/Pictures/screenshots
# コピー
cp -n ~/.steam/steam/userdata/*/*/remote/*/screenshots/*.jpg ~/Pictures/screenshots/
参考
- protontricks の使い方を書く