動作確認した環境
2021年03月12日の内容です。
- Arch Linux
- [email protected]
- winetricks@20210206
Wine prefixを作る
個人的にはデスクトップエントリなど扱いやすいようにlutrisで管理するようにしたいので、lutrisの形式に従って~/Games/osu
にwine prefixを作る。
$ export WINEPREFIX=~/Games/osu
$ wineboot
この辺は個人の好みがあるので適宜読み替えてほしい。ちなみにWINEARCH=win32
である必要はない。
必要なコンポーネント
$ winetricks -q dotnet40 gdiplus corefonts cjkfonts
執筆時に.NETはdotnet462
やdotnet452
があるけどインストールに失敗するので、問題の起きなかったdotnet40
にしてある。デフォルトでOpenGLを描画なのでDirectX関連は不要。
osu!をインストール
$ wine osu\!install.exe
でインストーラーを起動。
デフォルトだと C:\users\ken\Local Settings\Application Data\osu\!/
というよくわからない場所に入れようとするので C:\Program Files\osu
に変えておく(インストールした後mv
するだけ)。
起動確認
$ cd /home/ken/Games/osu/drive_c/Program Files/osu
$ wine osu\!.exe
で立ち上がることを確かめる。
文字化け解消
$ winecfg
を実行し、「Libraris」タブを開き、「New override for library」の中から「gdiplus」を選ぶ。
__*gdiplus (native)__
となっていたら、それを選択した状態で「edit」を押す。ダイアログが出るので __Builtin Then Native__
を選択する。__*gdiplus (builtin, native)__
になっていればOK。
文字化け解消前 | 文字化け解消後 | |
---|---|---|
文字化け | ||
メニューのアイコン |
ただし一つデメリットがあり、上の表のように設定画面のアイコンが表示されなくなる。譜面の日本語が読めないことに比べたら些細なデメリットである。
lutrisから起動できるようにする
これ以降は個人的メモを兼ねたおまけである。
{.no-bordered .compact} |
最低限Wine prefixと実行ファイルが正しく指定されてれば問題なく動くはずである。lutrisから環境変数を埋め込めるので念の為LANG=ja_JP.UTF-8
を指定している(多分不要)。SSでは画像は設定しなかったが、これは各自お好みで。
起動をスクリプト経由にする
起動前にXorgでペンタブやマウス感度を設定するために、スクリプトを挟んで起動するようにする。
lutris内でosu!を右クリックして「Create application menu shortcut」や「Create desktop shortcut」などでデスクトップエントリを生成する。net.lutris.osu-<id>.desktop
(実際はnet.lutris.osu-3.desktop
みたいになっている) というファイルが、前者なら~/.local/share/applications
、後者ならデスクトップに生成される。
中身は、
[Desktop Entry]
Type=Application
Name=osu!
Icon=lutris_osu
Exec=lutris lutris:rungameid/<id>
Categories=Game
というものなので、Exec節を自分で用意したスクリプトに差し替えて、
# マウス感度を最低にする
xset m 0 0
# マルチディスプレイ用のだとペンタブのマッピングの修正
# xinputから使ってるペンタブのidを拾って、
id=$(xinput | grep 'Wacom Intuos S 2 Pen stylus' | sed -r 's/.*id=([0-9]+).*/\1/')
# マッピングに応じて修正。左にFHDのサブディスプレイが付いているので、そこが範囲外になるようにしている
xsetwacom --set $id MapToOutput "2560x1440+1920+0"
lutris lutris:rungameid/<id>
というようにして環境の調整を挟むと良い。