FreeStyleWiki

wine

このエントリーをはてなブックマークに追加

[Linux]

Wine

wine
Linux上でWindowsのアプリケーションをエミュレート(厳密には違う)するアプリケーション
Linuxは実行ファイルにelf/elf64形式のバイナリを扱う。WindowsはEXEフォーマットを使う。
私の理解だと、wineはLinux上でexe形式のバイナリを動作させる。その際バイナリはwindowsのシステムコールを呼び出す(機械語)、
これの応答を適切にLinux上で返してやるのがwineの役割である。

現在は仮想環境の技術が発達してきているため、廃れそうな技術であるがホビー目的でまだまだ使われている。

  Wineでの問題発生と解決例

以下に問題発生と自己解決した例を書き残す、見出しはwineのログ

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

グラフィック描画能力が弱いPCでのwine起動時に以下のようなログが出力された、グラフィックの描画がクソ重くなる。
→ 解決策:グラフィックボードを買う

ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred

音声の再生が異常に早い
→ 解決策:/etc/pulse/daemon.conf を書き換えて pulseaudio 再起動

以下を書き換え

default-fragments = 5
default-fragment-size-msec = 2

pulseaudioを再起動、それかrebootしたほうがいいかも

# pulseaudio -k
# pulseaudio --start

fixme:quartz:MPEGSplitter_query_accept MPEG-1 system streams not yet supported.

MPEGのムービーを再生すると落ちる
→ 解決策:quartz.dllをインストールしてwinecfgから設定する、詳しくはリンク先

(wine:2684): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libgstpython.so': /usr/lib/gstreamer-0.10/libgstpython.so: 間違った ELF クラスです: ELFCLASS64

explain
→ 解決策:ない!、2012-04-30に報告されて以来、パッチは取り込まれないしダメダメ

log

explain
→ 解決策: