ss.png

動作確認した環境

2021年03月12日の内容です。

  • Arch Linux
  • wine@6.3
  • winetricks@20210206

Wine prefixを作る

個人的にはデスクトップエントリなど扱いやすいようにlutrisで管理するようにしたいので、lutrisの形式に従って~/Games/osu にwine prefixを作る。

$ export WINEPREFIX=~/Games/osu
$ wineboot 

この辺は個人の好みがあるので適宜読み替えてほしい。ちなみにWINEARCH=win32である必要はない。

必要なコンポーネント

$ winetricks -q dotnet40 gdiplus corefonts cjkfonts

執筆時に.NETはdotnet462dotnet452があるけどインストールに失敗するので、問題の起きなかった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」を選ぶ。

gdi_override.png

__*gdiplus (native)__ となっていたら、それを選択した状態で「edit」を押す。ダイアログが出るので __Builtin Then Native__ を選択する。__*gdiplus (builtin, native)__ になっていればOK。

文字化け解消前 文字化け解消後
文字化け
メニューのアイコン

ただし一つデメリットがあり、上の表のように設定画面のアイコンが表示されなくなる。譜面の日本語が読めないことに比べたら些細なデメリットである。

lutrisから起動できるようにする

これ以降は個人的メモを兼ねたおまけである。

osu_lutris_1.png osu_lutris_2.png osu_lutris_3.png

最低限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>

というようにして環境の調整を挟むと良い。