なんとな~くしあわせ?の日記

「そしてそれゆえ、知識そのものが力である」 (Nam et ipsa scientia potestas est.) 〜 フランシス・ベーコン

東方星蓮船・東方神霊廟をDebian GNU/Linuxでプレイ

wine環境の準備

私はDebian wheezyを使用しているが、パッケージのwineは結構古い。有志が以下の場所でパッケージを準備しているので、それを使うのが一番良いと思う。
Directory listing | Wine (wine-unstable) packages

グラフィックボードがRadeonではダメ?

PCの構成は以下参照
メインPCをDebianに移行した - なんとな~くしあわせ?の日記

オンボードのグラフィック出力だとwine起動時に以下のようなログが出力され、グラフィックの描画がクソ重くなる。まともに遊べるシロモノじゃあねえ。

warn:d3d9:IDirect3DDevice9Impl_QueryInterface IDirect3D9 instance wasn't created with CreateDirect3D9Ex, returning E_NOINTERFACE

原因らしきことはBugzillaに書かれていた
WineHQ Bugzilla – Bug 18232 – Touhou 11 and Touhou 12 drop to below 10 fps after launching if ORM=fbo

そして、グラフィックボードを変えると解決したという書き込みがあった。

laochailan 2011-08-06 05:13:04 CDT
(In reply to comment #30)
> still  a bug in current Wine?
(>まだ現状のWineにはバグがあるんですか?)

For me it turned out to be a driver issue. Most of the performance problems
resolved bit by bit after KMS for the r300 driver was introduced. Now with my
new Nvidia graphics card, I don't experience any problems at all.
(自分の場合それはドライバの問題だとわかりました。Wineの性能問題の多くは、
NVIDIAのGEFORCE R300ドライバへのカーネルモジュールセッティングが導入された後、
だんだん解決されていきました。自分の新しいNVIDIAのグラフィックカードに
関して言えば、全然問題ありませんでした。)

NVIDIAのグラフィックボードを使う

2年ぐらい前に買ったグラフィックボードが余っていたので、それを取り付ける

簡単な手順

1.NVIDIAの公式サイトからCPUとグラフィックボードの型番にあったドライバをダウンロード
  自分の場合NVIDIA-Linux-x86_64-319.23.runという名前のファイルだった。
2.[Alt]+[Ctrl]+[F1]でGUIなし操作に移行
3.# /etc/init.d/lightdm stop // X Window System停止(ここは環境によって違う、普通はgdmか)
4.# echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist.conf
5.# reboot
6.# chmod +x NVIDIA-Linux-x86_64-319.23.run; ./NVIDIA-Linux-x86_64-319.23.run
7.道なりに設定をすすめる、そのあと再起動

ポイントとしては、NVIDIAのデバイスを繋げてるとデフォルトでnouveauというフリーのオープンソースドライバが起動すること。
そいつを起動させないようにしてプロプライエタリのドライバをインストール、動作させる必要がある。

プレイしてる様子

東方星蓮船/東方神霊廟はDirectX9を使用しているらしく、最近のWineでないと動かない。
なんだよと思うかもしれないがWineはDirectXの動作をOpenGLで動かしているのだ。むしろ動くほうがおかしい(笑)
まあそれを言い出したらx86/x64のWindows向けバイナリをElf/Elf64のLinux上で動かせる事のほうが意味不明なのだが…
最近はMacOSX上でもWineは動かせるし、開発者はすごすぎるとしか言いようがない。

f:id:panzer-jagdironscrap1:20130615051345p:plain