この投稿通りに試していかなる損害が発生したとしても責任は負いません

はじめに

Steam Deckを買ってみんな思うことは、Steam以外のゲームをプレイすることができるのか。

こたえはYESです。

だってSteamOSはArch Linuxベースですから。

ってことで、買う前からDQXは動かしたいなぁとか思っていたので今回それに挑戦します。

ただ、普通にSteamに突っ込んでも以下の問題が発生することがわかっているためそれを突破する必要があります。

  • ランチャーやコンフィグの文字化け
  • ランチャーでログインを押しても反応しない(実は連打すると反応する)
  • 動画が再生されない(バグるかテストパターンみたいなのが出ます)

なので動作したとする目標はこんな感じ。

  • ランチャーやコンフィグの文字化けを正す
  • ログインボタンなどサクッと反応させる
  • 動画再生可能にする

上記の問題がありますが、ただ動かしたいだけな場合、
デスクトップモードで"非スチームゲームを追加”から"DQXBoot.exe"を指定して起動するだけです。

インストールとかはせずに、Windowsからパッチ当ててあるものを持ってきたほうが早いし楽です。


Steam OS で DQXオンラインを動かす

わかる人向け一発説明

  1. Lutrisを入れて、WineはProton GEあたりでOK
  2. Wineは32-bitで
  3. EnvにLC_ALL=ja_JP.UTF-8を設定
  4. Winetricksで以下の順番でいれる
    wmp10,quartz→wininet,winhttp→ie8
  5. フォントはcjkfontsなどを入れる
  6. wininetをビルトインに変更
  7. WinXPに設定
  8. エンジョイ!

Lutrisをインストール

今回はWineというツールを使って行きますが、それを管理するツールがあるのでそれをインストールします。

ちなみにWineはLinuxでWindowsのアプリケーションを動かすやつで、Steam Deckで動いているゲームもWineの派生であるProtonが使われています。
※なのでやっていることはSteam Playと変わらないです

今回別で用意する理由はSteam PlayのProtonだと64bitとなっていて、DQXを動かすのに必要なライブラリ周りをインストール出来ないためです。

それでは、デスクトップモードからDiscoverを起動して、Lutrisと検索してインストールします。

インストールできたらLutrisを起動します。
※Gameのところにあるはず

Lutrisの設定

起動したらまずWine用のRunnerを赤枠のところを押して追加します。

好みのやつでいいのですが、正直どれが相性がいいのかわからないので、lutris-GE-Proton7-33を使うことにします。
2023/8現在、lutris-GE-Proton8-12だとかなり相性が良いです。

完了したら赤枠の通り+のマークを押してゲームの追加をしていきます。

Add locally installed gameを選択。

インストールスクリプトを作りました

ベンチマークインストール用のスクリプトを作りました。
これの実行ファイルをDQXのDQXBoot.exeを指定してあげればそのままゲームも実行可能です。
以下記載の内容を手動でやる必要が無いので使ってみてください。
※名前をつけてリンク先を保存で

https://gist.githubusercontent.com/karasugawasu/9ea724d7c2fcd63223d1cafaa964c146/raw/dragon_quest_x_benchmark.yaml

スクリプトを使う場合は、
Install from a local install scriptを選択して先程のファイルを指定してあげてください。

Game Infoタブ

Nameは適当にわかりやすいものを。
RunnerはWineを選択します。

Game optionsタブ

ExecutableはDQXBoot.exeを指定します。
(事前にインストールされているものをWindowsから持ってきておきますが、新たにインストールしても大丈夫です)

Wine prefixは適当な空ディレクトリを指定します。(作ってなくても大丈夫)

Prefix architectureは必ず 32-bit を選択します。

Runner Optionタブ

Wine versionを先ほど入れたlutris-GE-Proton8-12にしておきます。

それ以外は特にいじりません。

System optionsタブ

日本語の設定をします。

Localeから選べないので、Environment variablesに日本語設定を入れておきます。

Key = LC_ALL
Value = ja_JP.UTF-8

このように設定してください。


ここまでできたらSaveをして閉じます。

依存関係のインストール

続いて依存関係を入れていきます。

Winetricksを起動します。

そのままOK

一番上の DLL or componentを選択してOK

リストが出てきますので、以下をインストールします。

  • wmp10
  • quartz

完了したら先程の画面に戻ってきます、いつまでも戻ってこない場合は失敗しているので、下に書いてある補足を読んで下さい。

上記がインストールできたら続いて以下をインストールします。

  • wininet
  • winhttp

終わったら今度は以下をインストールします。

  • ie8

そして最後、Install a fontを選択して、一覧からfakejapaneseをインストールします。

※少し時間かかるかも

終わったら全てキャンセルして閉じます。

Lutrisの画面に戻ってきたら、今度はWine configurationを起動して、ライブラリからwininetをビルトインに変更します。

そしてアプリケーションからWindows XPに変更します。

ここまで来たら準備完了です。

補足

私の環境だとwmp10とフォントのインストール元のファイルがDLできずに失敗しました。

その場合、Open Bash terminalでコンソールに行き、winetricks -q wmp10と実行してなにが駄目なのか確認します。

DLで詰まっていたらネットからちゃんとしたものを拾ってきて、キャッシュディレクトリに配置してもう一回インストールを動かせばそのファイルを使ってインストールしてくれます。

※キャッシュの場所はそのコンソール画面に出ているはずです

私の場合wmp10とフォントはほぼ100%失敗しています。

補足2

Ver6.4あたりからランチャーのバナー回りの表示でおかしくなることがあるので、OSはWindows XPじゃないとだめそうです。

XPだとバナー回りが大丈夫ですがJavaScriptのエラーが出ますが、これはYes Noどっち押しても大丈夫なので気にせず適当に押して進めます。

ベンチマーク

どのRunnerがいいのかさっぱりなため、適当に2つ比べてみました。

誤差・・だとはおもいますが若干Protonのほうが安定している気がします。

lutris-fshock-7.2

lutris-GE-Proton7-33

ちなみに、ベンチマークのインストールをするときはLutrisの環境変数に日本語設定しているやつは消さないとダメでした。
※なのでタイトルは文字化けしている

この写真に写っている画面が動画なので、設定がうまく言っていない場合ここでスタックしたりバグったりします。

追記

1万いきましたね

Steamにショートカットを追加する

Playボタンの横を押すと Create steam shortcut があるのでそれを押せばおk。

スクショ(じゃなくて写真)

コンフィグも文字化けなし、レイアウト崩れなし

ランチャーも問題なし。

動画も問題なし。

ゲームもおk。

最初ちょっと重いですが、しばらくすれば安定します。

既知の問題

  • チャットが打てない(外部キーボードつなげても英語)
  • 効果音にノイズがのる

余談

どうやらWindowsを入れてベンチマークをすると4000くらい差が出るみたいです。(Windowsのほうが低い)

まだWindowsのドライバ周りは不安定なんですかねぇ。

あ、私はこれでセットアップしたけどGPD WIN Max 2021を持ってるのでそれでプレイしています。物理キーボードあるっていいね!!

参考

LinuxでドラゴンクエストX オンライン(DQX)を遊ぶ方法について
http://www.suke-blog.com/dqx-with-wine/


何かあればFediverseアカウントからコメください

  • 鴉河雛@md.korako.me
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    @[email protected]
    ランチャーのバナーとかがでないで白い画面が出てくる問題に進展。

    最新のlutris-GE-Proton8-10でテスト。

    - ie8_kb29xxxを入れる
    - WindowsXPに変える

    前はこれでもだめだった気がしたけど、これでJavaScriptのエラーがでるもののうまくいくようになった。