Linux + Wine 3.0 環境で Jw_cad v8.03a の作図領域が真っ黒

Wine 3.0 Released が出たので、Ubuntu 派生の lubuntu 17.10 32bit 環境で Jw_cad v8.03a のインストール&起動の確認をしてみました。

Wine と Jw_cad のみをインストールする場合

Wine 3.0 Released インストール直後に Jw_cad v8.03a をインストールする。

手順は以下です。
  1. 下記 URL のインストール手順通りに、Wine 3.0 Released をインストール
    https://wiki.winehq.org/Ubuntu

  2. jww803a.exe をインストール
    wine jww803a.exe を実行する

Jw_cad 関連のエラーログ

上記のように Jw_cad v8.03a をインストールしたときのエラーログの出力内容を確認します。

Jw_cad v8.03a インストール時のエラーログで、err 出力は以下になります。

err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}

err:ole:StdMarsharlImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
err:ole:get_local_server_stream Failed: 80004002

err:mscoree:LoadLibraryShim error reading registry key for installroot

err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path.  Usually, you can find it in the winbind package of your distribution.

err:richedit:ReadStyleSheet skipping optional destination


「wine Jw_win.exe」を実行して、Jw_cad v8.03a を起動します。 起動時のエラーログで、err 出力は以下になります。

err:ole:apartment_getclassobject DllGetClassObject returned error 0x80040111
err:ole:CoGetClassObject no class object {317d06e8-5f24-433d-bdf7-79ce68d8abc2} could be created for context 0x1

err:module:import_dll Library MFC42.DLL (which is needed by L"C:¥¥JWW¥¥common_lib.dll") not found
err:modlue:import_dll Library MFC42.DLL (which is needed by L"C:¥¥JWW¥common_lib_AP202.dll") not found

err:wgl:X11DRV_wglCreateContextAttribsARB Context creation failed (error 1)
err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed,
 using fallback value 2^23




winetrics で追加コンポーネントをインストールする場合

Wine 3.0 Released インストール後に、winetricks でフォント、ole32.dll、riched20.dll、mfc42.dll を追加でインストールします。この後に、Jw_cad v8.03a をインストールします。

インストール手順は以下になります。
  1. 下記 URL のインストール手順通りに、Wine 3.0 Released をインストール
    https://wiki.winehq.org/Ubuntu

  2. 「Synaptic パッケージマネージャ」から winetricks をインストール

  3. winetricks から、allfonts をインストール
    これで windows インストーラーの文字化けがなくなる

  4. winetricks から、 ole32 (ole32.dll)をインストール
    これで ole 関連のエラーが解消される

  5. winetricks から、riched30(riched20.dll)をインストールする
    これで richedit 関連のエラーが解消される

  6. winetricks から、mfc42 (mfc42.dll)をインストール
    これで mfc42.dll が見つからないというエラーが解消される

  7. jww803a.exe をインストール

Jw_cad 関連のエラーログ

上記のように Jw_cad v8.03a をインストールしたときのエラーログの出力内容を確認します。

Jw_cad v8.03a インストール時のエラーログで、err 出力はありません。



「wine Jw_win.exe」を実行して、Jw_cad v8.03a を起動します。 起動時のエラーログで、err 出力は以下になります。

 err:wgl:X11DRV_wglCreateContextAttribsARB Context creation failed (error 1)
 err:d3d:wined3d_adapter_find_polyoffset_scale PolygonOffset scale factor detection failed,
 using fallback value 2^23






Jw_cad v8.03a の起動

Jw_cad v8.03a で、作図領域に図を描くか、図面を読み込んでみます。すると、Jw_cad の作図領域が真っ黒になります。設定で背景色を変更しても真っ黒状態は解消できないので、背景色だけの問題ではないようです。



ここで、Jw_cad v8.03a をインストール直後は、「メニュー」-「表示」-「Direct2D」 にチェックが入った状態です。

このチェックを外すと、作図領域の真っ黒が解消されます。



また、チェックを外した状態で、Jw_cad v8.03a を起動し直すと、上記エラーログの err(「err:wgl...」および「err:d3d...」)は、表示されなくなります。

このことから、Direct2D 関連の処理がうまく動いていないと思われます。


CrossOver Mac でのヒント

Wine を利用した商用アプリである CrossOver Mac ですが、Jw_cad v8.03a インストール時には、上記と同様な err 出力がエラーログに表示されます。
CrossOver(Wine)を使って、Mac に Jw_cad v8 をインストールする。お試し」ページ参照。

Linux + Wine 3.0 では、winetricks から、ole32.dll、riched20.dll を追加することで、err 出力を減らすことができています。

CrossOver Mac でも ole32.dll および riched20.dll に相当するソフトウェアがあれば、追加でインストールことで、err 出力を減らせるかもしれませんね。


その他 Jw_cad 関連のエラーログ

常にではないが、たまに見かけるエラー

err:ntdll:RtlpWaitForCriticalSection section 0x7bce49c0 "loader.c: loader_section" wait timed out in thread 0027, blocked by 0026, retrying (60 sec)


以下のエラーログが出力される場合は「wine Jw_win.exe」の実行が失敗します。

err:winediag:nodrv_CreateWindow Application Tried to create a window, but no driver could be loaded.
err:winediag:nodrv_CreateWindow The explorer process failed to start



Mac で Linux や Windows を動かしたいなら、
Parallels Desktop 13 for Mac
パラレルス