Looking Glass Desktop を Windows で動かす

History:
8/3 (初出: version 0.5, jdk 1.5 beta2 用)
9/18 (version 0.51, jdk 1.5 RC 向けに修正)
9/23 (バッチファイル向けの情報を修正)

このサイトで度々触れている Looking Glass 3D Desktop Project 。

オレも出てすぐ会社のマシンにインストールして試したが、自分で自由になるマシンではなかったのでそれっきりになっていた。 自分のWindowsマシン上で動かないかなぁーと思っていたら、 java.net 内の フォーラムで cygwin を使って動かす方法を見つけたので試してみた。Sun的にはWindowsで動かされたくないと思うかもしれないが、少なくともオレはこれで Looking Glass 向けに何か作れる環境ができたし、これをきっかけに Looking Glass を知る人も増えると思うので、紹介しようと思う。

(9/24 追記
0.51 では Windows 向けに バッチファイルが同梱されました。 少し修正が必要ですが、cygwin をインストールしなくても Looking Glass を起動できます。 詳しくは 8. の項目にて。)


アプリケーションをいくつか追加した後のスクリーンショット
(ワイドスクリーンのラップトップのためか画面が潰れているような…)

1. http://java.sun.com/j2se/1.5.0/ja/download.html から J2SE 5.0 RC2 の Windows用の SDK をダウンロードして、インストールする。
(注: たぶん、動かすだけならJRE 1.5 でも問題ないと思うが確認していないので、ここでは JDK 1.5 を c:Program FilesJavajdk1.5.0 (デフォルトパス) へインストールしたと仮定して話をすすめる。 )

2. https://j3d-core.dev.java.net/servlets/ProjectDocumentList のページで
“Experimental_Builds” -> “1.3.2-build5”
とフォルダを選んで、 java3d-1_3_2-build5-windows-i586.jar をダウンロードする。
ダウンロードしたファイルを C:Program FilesJavajdk1.5.0jre へコピー。 DOSプロンプトで

> cd Program FilesJavajdk1.5.0jre
> jar xvf java3d-1_3_2-build5-windows-i586.jar
> jar xvf java3d-1_3_2-build5-windows-i586j3d-132-build5-win.jar
> del java3d-1_3_2-build5-windows-i586
> rmdir java3d-1_3_2-build5-windows-i586
> del java3d-1_3_2-build5-windows-i586.jar

として、jar ファイルの内容を展開する。 (展開したら jar ファイルはいらないので消して構わない)

jar コマンドが無いと言われた場合は、..injar と指定すれば J2SE 5.0 の jar コマンドが使える。

3. http://java.sun.com/products/java-media/jai/downloads/download-1_1_2.html から JDKTM Install: の Java Advanced Imaging API (JAI) 1.1.2 (一番上のDownload ボタン -> Software License Agreement を承認 -> Windows CLASSPATH Install (jai-1_1_2-lib-windows-i586.exe, 5.28 MB) をダウンロードする。 ダウンロードした exeファイルを起動して適当なディレクトリへインストールする。 jai_1_1_2lib の下にあるファイルを全部、c:Program FilesJavajdk1.5.0jrelibext ディレクトリの下へコピーする。

ここまでで、 C:Program FilesJavajdk1.5.0jrelibext ディレクトリに jai_core.jar, jai_codec.jar, j3dcore.jar, j3dutils.jar が発見できていれば、インストールは完了。

4. https://lg3d-core.dev.java.net/servlets/ProjectDocumentList の “stable_build” を選び、 Release 0.51 (lg3d-rel-0-5-1.tar.gzz) をダウンロードして、$HOME に展開する。 ($ tar xvfz lg3d-0-5-1.tar.gz や Winzip などを使う)

5. Cygwin のシェルを起動して、JDK 1.5 を標準の環境にするために、以下の作業を行う

$ ln -s “c:Program FilesJavajdk1.5.0” /usr/java
$ export JAVA_HOME=/usr/java
$ export PATH=$JAVA_HOME/bin:$PATH

export の設定は起動シェルスクリプト .bashrc などに書いてもいい。
これで、cygwin 環境から Jdk 1.5.0 へアクセスできるようになる

6. 起動スクリプトのうち、ファイルパスに関する部分をテキストエディタで修正する。

lg3d/bin/lg3d-dev スクリプト中の
14行目
setenv LGCONFIG file://${scriptdir}/../etc/lg3d/${config}

setenv LGCONFIG file:/`cygpath -mp ${scriptdir}/../etc/lg3d/${config}`
に変更 (file: のあとスラッシュは1つで OK)
31行目
setenv DISP_CONFIG -Dlg.displayconfigurl=file://${scriptdir}/../etc/lg3d/displ
ayconfig/j3d1x1

setenv DISP_CONFIG -Dlg.displayconfigurl=file:/`cygpath -mp ${scriptdir}/../etc/lg3d/displayconfig/j3d1x1`
に変更(同じく file: のあとスラッシュは1つでOK)
32行目
setenv CLASSPATH `cygpath -mp ${CLASSPATH}`
を追加

いちおう、変更が加わった lg3d-dev ファイルを置いておきます。

7.
$ cd ~/lg3d/bin
$ ./lg3d-dev

で起動する。 うまくいかなかったら /var/tmp/lgserver.log というファイルにログが残っているので確認すると問題がわかると思う。


標準環境の起動直後

8. 0.51 から lg3d/bin ディレクトリに setup.bat と lg3d-dev.bat というファイルが追加された。
そのまま、Explorer から起動しようとすると、環境によりうまく動かない。 こちらのサイトに修正方法が詳しく書いてあるので、そちらを参考にバッチファイルを修正すると起動することができる。
http://www5.airnet.ne.jp/sakuraba/java/lg3d/windows.html
cygwin, バッチファイル、お好みに応じて使ってください。
おかしなところがあったら指摘してください。
最初のスクリーンショットのようにアプリケーションを追加するにも、まだソースコードを編集する必要があったりといろいろと大変なんだけど、話題の Looking Glass がどんなモノか試すはじめの一歩としてどうぞ。

参考リンク:
http://www.javadesktop.org/forums/thread.jspa?messageID=19052
http://www.javadesktop.org/forums/thread.jspa?threadID=3081



指摘された修正をとりこみながら更新した。 既に Permalink へリンクを貼ってもらっているし、古い内容を残しておいてもしかたがないので、同じエントリを更新していくことにしたんだけど、 Blog でこういった内容をとりあつかうときはどうしたらいいんだろう…。

9/18
– lg3d-dev を起動するだけなら X-Window はいらなかったので削除
– jai のインストーラは J2SE 5.0 のディレクトリを JDK と認識しないため、 J2SE 5.0 しかインストールしていない場合に問題がでるようだ。 コメントで指摘してもらったようにjai-1_1_2-lib-windows-i586.exe を使うように変更。
– 0.51 ではバッチファイルもパッケージに同梱されるようになったが、アプリケーションが起動できなかったので cygwin のバージョンを最初に書いて バッチファイル版を紹介するだけにしてある。

9/24
– さくらばさんのコメントにあったように、バッチファイルを修正するためのリンクを本文に反映


9 Comments

  1. 私の環境(Windows XP Home Edition)では
    C:\Program Files\Java\jre1.5.0\bin\j3dcore-ogl.dllがロードできず、
    UnSatisfiedLinkErrorが発生してJava 3D1.3.2が実行できませんでした。
    J2SE 5.0をアンインストールし、
    ためしにC:\cygwin\usr\java\jdk1.5.0にインストールしたところ、
    上記のエラーを解消しました。
    いまどきパスに空白があるとダメなんですかねぇ…

  2. cygwin のようなUnix系のOSでは Path のリストを空白区切りで保持しているのでパス名に空白が入っているとそこで区切りとみなされるからだと思います。
    インストールディレクトリを変えるか、cygwin では私が上で書いたようにシンボリックリンクを作って対応すれば大丈夫そうですね。

  3. ちなみにcygwinでなくコマンドプロンプト環境でも同様の現象が発生していました。
    inamiさんと異なるのはJ2SE SDKが1.5.0 RCだということぐらいです。
    cygwinで実行したときも/usr/javaにシンボリックリンクをおこないましたが同様の現象でした。
    それから、J2SEはSDKのみで、JREはインストールしませんでした。
    (ここでJREとはC:Program FilesJavajre1.5.0にインストールされるものです)

  4. Looking Glass on Windows 試してみました。
    ちなみに環境は以下です。
    WindowsXP Pro, JDK1.5.0RC, Java3D1.3.2 build5, jai1.1.2, lg3d-0.5.1
    試して見て気づいた所では、
    ・jai-1_1_2-lib-windows-i586-jdk.exe実行時、JDK1.5.0RCを入れているのにバージョンチェックエラーが出る。
     →バージョンチェックの無いjai-1_1_2-lib-windows-i586.exeを使って解決
    ・cygwin起動後、XWinを起動しなくてもLooking Glassが起動した
     →Java上で動作するからXサーバが不要?
    といった所です。

  5. 時間がとれたので J2SE 5.0 RC および 0.5.1 を使って検証してみました。 honya さんの言うとおり JAI のインストーラの問題や Xサーバなしでも起動することが確認できたので、これを機に更新しておきました。ありがとうございました。
    yasuyuki さんの現象は残念ながら私のところでは再現しませんでした。インストール先は c:Program Filesjavajdk1.5 で、これまで通り動いています。
    yasuyuki さんのコメントの書きまちがいかもしれないですが、j3dcore-ogl.dll は C:Program FilesJavajdk1.5.0jreinj3dcore-ogl.dll にあるはずなので、最初のときにうっかり jdk1.5.0jre の下ではなく jdk1.5.0 の下で j3d を展開してしまったのかもしれないですね。

  6. アプリが起動しないのは必要な JAR が読み込まれていないためです。以下の URL で修正したバッチファイルを公開しているので、試してみてください。
    http://www5.airnet.ne.jp/sakuraba/java/lg3d/windows.html

  7. さくらばさん指摘ありがとうございます。
    バッチファイルが実行時のパスとかの関係でうまく動かないと思っていたのですが、単純にjarファイルへのパスが足りなかったんですね。
    さくらばさんのサイトへのリンクを本文の方にも付けておきました。

  8. はじめまして。上記のアドレスにあるサイトの指示通り、コマンドプロンプトからバッチファイルでLG3Dの起動を試みましたが、「rmiregistry」という新しいDOS/V画面が起動しただけで、うまく起動できませんでした。何度見直しても原因がわかりません。CYGWINからの起動もまったく同じ現象が起きました。誰か解決法教えてください。

  9. 入れてみたいなー

    アメリカでがんばりましょう: Looking Glass Desktop を Windows で動かす FreeBSDでだけど…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.