Batocera.linux: batocera-wine 特集
前回、ゲーム設定の仕組み解説に添えて、
batocera-wine向けのハックを施してみました。
今回、せっかくなのでbatocera-wineの中身を覗いてみましょう。
前回同様、 Batocera.linux に興味なかったら
有料部分は購入しないでお帰りよろしう。
なお、batocera-wineの中身は単なるシェルスクリプト
だったりするので、普段shファイルをよく扱っているならば
説明せずとも理解は可能と思われますので
購入するメリットもないでしょう。
ということで。
公式 batocera-wine 動作仕様
batocera-wineはゲーム実行用に単品 *.exe のほか
*.wine *.pc (ディレクトリ) と *.wtgz *.wsquashfs (圧縮イメージ)
に対応しており、さらにインストール作業用として別口で
*.exe *.msi *.iso に対応しています。
余談、実はもひとつゲーム実行用としての *.iso 用動作が
想定されているようで、TODO状態で封印されてたり。
実際のところ、単品のDISCから起動するゲームも
ないわけではないですが、内部的には結局個別の実行環境が
作成されることになるので、一旦 *.wine にインストール
してからで充分。
インストーラの動作
/userdata/roms/windows_installers/
に *.exe *.msi *.iso ファイルを入れるとインストーラとして認識され、
これを実行すると /userdata/roms/windws/ に.wine付きディレクトリが
作成され、これが実行環境となります。
動作としては各種ファイルを認識してexplorerを起動するだけで、
実際のインストール作業は手動で行うことになります。
.wineディレクトリでの動作
それ自体を実行環境として動作するので、適切な初期設定を要します。
とりあえず、手動で用意するのはおすすめできない。
windows_installers の作業先程度の扱いで。
単品 .exe ファイルからの動作
初回起動時に実行環境が /userdata/saves/windows/コア名/ゲーム名/
に作られます。このときファイルシステム全体が z: ドライブとして
マウントされ、指定ファイルもこの一部としてアクセス
することになります。
Windows側でインストール済のゲームファイル群を格納フォルダごと
そのままコピーだけで最も手軽な方法ですが、起動対象ではない.exeも
全て容赦なくEmulationStationに表示されるのでぐちゃぐちゃになりがち。
.pcディレクトリでの動作
.exeファイル入りディレクトリとほぼ同様の動作ですが、
起動は対象ディレクトリ直下にある autorun.cmd から行われます。
ない場合はexplorerから起動します。
手軽で且つ整理可能な構造となっていて、とりあえず筆者の実行環境は
主にこれで構築されてます。
.wtgzイメージからの動作
初回起動時に実行環境として /userdata/saves/windows/ゲーム名.wine
に圧縮イメージから展開されます。
(何故かコア毎ではない)
一見圧縮されてて省スペースに見えるけど、別途展開されるわけで
ディスクスペースは余計に消費されることに。
ただ、圧縮イメージへの書き込みは行われないので
どちらかというとインストールソースな扱い。
.wsquashfsイメージからの動作
起動時に圧縮イメージを実行環境として直接マウントされます。
また、初回起動時に /userdata/saves/windows/ゲーム名/
のディレクトリが作成され、書き込みはこちら側に行われるように
細工した状態で扱われます。
一見Batoceraでの利用に最も適した方法には見えますが、
実際として結局ファイルは展開してから扱われることになるので
さほどメリットはなかったり。
追加設定
/userdata/system/wine/ に
exe/*.exe
msi/*.msi
regs/*.reg
fonts/*.ttf
fonts/*.ttc
を置いとくと、次回起動時に自動インストールされます。
実行後はディレクトリに拡張子 .bak が付加されます。
(が、前回実行とかで .bak 付きディレクトリが残ってるとエラーに)
全体共通の置き場所なので、どのゲームでも先着1名様だけ適用されます。
winetricks
公式ではシェルからのみ使用可能で、まず最初に
$ export DISPLAY=:0.0
でGUI表示を(極力)抑えときます。で、
$ batocera-wine windows tricks 実行環境位置をfullpathで 対象trick名
な感じで(特にpathが)長い呪文を打っていくことになります。
PadToKey
他の多くのコア同様、PadToKeyによるキーアサインができます。
ただし、Wine自体もゲームコントローラを認識してソフト側で
普通にゲームコントローラとして扱うことになるので、
そこで使われているボタン等をPadToKeyでも定義すると
両方ダブルで発動することになります。
autorun.cmd
インストーラで作成された実行環境にはautorun.cmdも
自動作成されますが、自前で用意するときはautorun.cmdも
自前で用意します。
自動作成されたautorun.cmdでも
#DIR=drive_c/Program Files/myprogram
#CMD=start.exe
とコメントアウトで書かれてるので、結局自前で
書くことになります。
ここで注意点として、古いWineでは改行はLF限定。
(最近のはCRLFでもいけるみたい)
DIRには作業ディレクトリを相対指定で
CMDにはコマンドと引数を記述します。
以前は *.bat から起動できなかったりしたけど
最近は *.bat でもいけるみたい。
このほか
LANG=ja_JP.UTF-8
な形式で言語が指定できる模様。
その他、設定項目いくらかあるみたいだけど、
EmulationStationからでも設定できるので
特に気にしなくてもよさげ。
いぢくる?
さて、ここまで踏まえまして、いろいろと改良の余地が。
てなわけで思い切っていぢくってしまいましょう。
なお、従来の構成を度外視した魔改造になるのでプルリクなし。
で、以下有料部分で変更部分それぞれの解説を入れてますが、
いぢくったソース自体は全てGutHubで公開済なので、
成果だけもってっちゃってもいいです。
ここから先は
Amazonギフトカード5,000円分が当たる
この記事が気に入ったらチップで応援してみませんか?