# Lookingglass How-To

## uck2rok

MOD EDIT: Nicely done! DT&T contains only English material, though, so I've taken the liberty of translating your text (you want to stay away from those automatic translations, Gentoomen), inserted a few BBCode tags, and did a general clean-up for URLs etc. --plate

Please excuse any mistakes, this is my first Howto...  :Laughing: 

Caveat:

For the time being I've been unable to run Lookingglass outside of an X session window. It's not exactly a superhuman effort I've done here, but there wasn't any English or German Howto available so far. 

Some information about my Gentoo box:

2 x Intel P3 533Mhz.

2 x 256MB DDR

Nvidia GeForce2 32MB

HDD 40GB

I'm using the  development-sources v2.6.8.1 as a kernel, Nvidia drivers and Xfree from the latest Portage tree. I can only assume it'll work with X.org, too. 

Installation:

Lookingglass is hard-masekd, the reason is stated in file: 

```
/usr/portage/profiles/package.mask
```

To be able to emerge it nonetheless, you need to edit 

```
/etc/portage/package.unmask
```

Here's where you can enter packages that are supposed to be emerged in spite of being masked. Three packages will have to be listed in this file:

```
 

=x11-misc/lookingglass-bin-0.5

>=dev-java/sun-jdk-1.4.99

>=dev-java/java-sdk-docs-1.4.99 

```

Download additional packages to /usr/portage/distfiles:

jdk-1_5_0-rc.linux-i586.bin

jai-1_1_2-lib-linux-i586-jkd.bin

java3d-1_3_2-build4-linux-i586.tar.gz

Emerge lookingglass-bin now:

```
# ACCEPT_KEYWORDS="~x86" emerge lookingglass-bin

```

It should start emerging normally now. After successful installation you will probably have to modify your Java environment:

```
# java-config --list-available-vms

# java-config --set-system-vm=sun-jdk-1.5.0_rc1

# env-update && source /etc/profile

```

Lastly, verify that your XF86Config contains settings for 24 bit:

```
# nano -w /etc/X11/XF86Config

```

Check for

```
Section "Screen"

DefaultDepth 24

```

Now start your X-Server:

```
# startx

```

Open a terminal and/or execute the command:

```
# lg3d-dev 

```

It's more of a toy than a reasonable desktop at the moment.  :Very Happy: 

----------

## GlooM

"gibts"  = "gibt es" = "there is" or something alike.

----------

## DooMi

 *Quote:*   

> I have only been able to create Lookingglass in a current x-session so far. It is now also no ?übermenschliches? How-To only unfortunately ?gibts? still none in German or English. 

 

>> So it's not a really great How-To but unfortunately there is still none available in German or English.

----------

## uck2rok

Tomorrow I will try to get it running in full screen, not just in a terminal window.  :Very Happy: 

Thx for the translation man. Nice one.  :Very Happy: 

----------

## WeirdCulture

hey.. this guy is a genius! it worked!  :Smile: 

----------

## Insanity5902

I didn't really process this when i translated it but, if you edit your .xinitrc and comment out your current WM and add the line 

```
lg3d-dev
```

 it should load lg3d has your WM (i.e. fullscreen )

----------

## irondog

 *Insanity5902 wrote:*   

> I didn't really process this when i translated it but, if you edit your .xinitrc and comment out your current WM and add the line 
> 
> ```
> lg3d-dev
> ```
> ...

 

No, that doesn't work. I have only one line in my .xinitrc:

```
exec lg3d-dev
```

How can I launch an X11 app within this window manager? Even the xterm app (clicking the icon) spawns outside the looking glass environment.

[offtopic]Java sucks, why am I testing this crap? Just like macromedia flash: I've never seen something interesting when Java is used.[/offtopic]

----------

## Insanity5902

 *irondog wrote:*   

> 
> 
> No, that doesn't work. I have only one line in my .xinitrc:
> 
> ```
> ...

 

Try just lg3d-dev and get rid of the exec?

what error message do you get?

And now that I think about it does lg3d require X, if not just run lg3d-dev from the cli

There is a x11 sub-project.  see if you have lg3d-x11

try 

```
lg3d<tab>
```

 and please post back with it's response.

----------

## uck2rok

You can run X11 apps only in the lg3d-session (full screen) the lg3d-dev is just like a demo.

----------

## 1der

It would be nice to see some screen shots of open-glass on gentoo.  :Very Happy: 

Think you could post some ???

----------

## Insanity5902

i don't have any screenshots, but I have a way (i think) to run it has the main WM instead of from inside one.

The only requirement I have come across (b/c I haven't meet it yet  :Razz:  so I can't proceed) is it doesn't work in framebuffer.  So if you have framebuffer you are going to have to edit grub and turn it off to continue.  If you don't mind doing that, then read on.

In you console with no X session running, goto 

```
/opt/lg3d/bin
```

  You will need to run 

```
./displayserver
```

 this gives it its x backend  and then you will need to connect to it with 

```
./lg3d-session
```

[side note]

./displayserver and lg3d-session has to be run as a superuser, unless you want to go through and change the permission on all the different compenents it needs to access and write to.  Needless I could only get to the framebuffer error, by running these two from root

[/sidenote]

I can get to the point where I run lg3d-session and then it quits on me b/c I have a framebuffered console.  So if someone doesn't or if someone has to time to turn it off and test this out, that would be cool.  I want have a chance to until sat. morning.

----------

## cybe

I can't get the session to work, just a black screen =(. A friend of mine reports the same problem...

.. the lg3d-dev is awesome and surpricingly fast... I'd thought that the java-dohicky-thingy's would make the fans on my laptop scream but it loads in just a few seconds and doesn't seem sluggish at all...

----------

## asiobob

hmm, I have frame buffer.

I edited /etc/rc.conf and changed a line to lg3d-session (the line that shows what desktop is executed)

then I sent startx and yay it worked (sorta), I run frame buffer at 2048 by 1024, the looking glass was a lot less, something like 640 by 800 but it never went full screen on my LCD, rather it took up space from the left, the rest of the area is black and when I move the cursor there it becomes the ol x cursor

my main issue is when I launch a console, its sorta sitting on "top" of the whole thing, so I'm starting to think the console is not in hte lg enviorment

A similar effect happens in gnome when I use lg3d-dev

----------

## CRC

looking glass looks interesting, but I don't see how it does all that much more than just being nice eye candy.

It also looks like Croquet, while designed for real use (online collaboration and information sharing), can do everything that looking glass does and then some, plus it has a few other benefits.   

For example,  its not Java, but still a portable and fast virtual machine (smalltalk).  And going with that, is the authors.  Looking glass by SUN, the guys that gave you Java (The SuperSPARC CPUs are a Russian design, the E10000 and up are Cray designs, so SUN gets no points for those).  Croquet is by Alan Kay, the guy that gave us the original GUI desktop and a huge number of things that modern computers use which come from the XEROX PARC group headed back in the early 70s, and of course, his baby, Smalltalk.

Check out http://www.opencroquet.org   Developer level release is coming any time now.

----------

## asiobob

looking glass a not even a prototype yet, its the "potential" I suppose for the future, it things worked like they said it would make my life just that lil bit easier. You seem to think sun is evil, but every company is

----------

## CRC

If you can download it and run it, its more than a prototype.   Croquet is in about the same stage.

I have nothing against SUN, however, when it comes to making revolutionary new ideas, SUN isn't a company that comes to mind.  I would much rather get behind a community effort, like Croquet.  Big companies like to patent things and say they are the only ones that can do it.   I want to back an idea that steams from creativity and the free exchange of ideas.  After all, Sun was so clever as to rename Gnome, put the word Java in their (and we all know Gnome is plain C), and call it their new Desktop.  

Come to think of it, many of the Java design ideas came from Self, which in-turn was based on Smalltalk !!

Anyway.  The point wasn't to bash Sun.  Looking Glass is pretty, but 3dwm has been around a long time.  The point was that people that liked Looking Glass would probably like Croquet as well.

Did you even look at it?

----------

## asiobob

yeh I looked at it, I'm going to potentially install that as well, the more the better. We need this sort of thing for the future. Hopefully stable, more than usable versions will come before longhorn comes out.

----------

## CRC

I don't see this as the sort of thing that will compete with Longhorn.  Now, if Gnome were to integrate with cairo, and finish its integration with Hal/Dbus, and  other various cleanups and useability fixes, then we'd have something competing on the same field.

Integration with Cairo was actually suggested by someone at RedHat and some presentation was made.  The project may have gotten onto the official roadmap, and while this will only make things slightly easier on the end user, it really helps the API for the developers.  It also brings up on level, technology-wise, with OS X, which is what Longhorn is really competing with.

X (with Xorg) now has a true compositing system and a host of other features, but it doesn't have the easy display library where OS X has Display PDF.  Cairo is just around the corner, and not quite as resource intensive.  We're getting there.

But when it comes right down to it.  Technology, speed, and every other measurment you can think of don't matter to me.  No one is going to dictate how I run my computer and close the source of what I run on my machine.  Even if Linux costs twice as much as Longhorn - I'd take Linux.  

Free Speech over Free Beer and all that

----------

## genstef

Also works with 16bit here  :Smile: 

----------

## CRC

What works with 16 bit?  And what system are you running that is 16 bit?

----------

## Insanity5902

I am pretty sure he is talking colors.

----------

## CRC

 *Insanity5902 wrote:*   

> I am pretty sure he is talking colors.

 

Oh!  I need sleep.  Didn't even occur to me that the color depth would matter.  It should just push it all off to the OpenGL libs.

----------

## Pajarico

Hi, 

Im running a 64 bits environment. The needed packages are masked, so i have unmasked theme as the tutorial says but emerge keeps telling me :

 *Quote:*   

> localhost lxuser # ACCEPT_KEYWORDS="~amd64" emerge lookingglass-bin -vp
> 
> These are the packages that I would merge, in order:
> 
> Calculating dependencies   
> ...

 

I even commentd the related lines of /usr/portage/profiles/package.mask but nothing worked.

Bye-  :Wink: 

----------

## genstef

echo x11-misc/lookingglass-bin-0.5 -* >> /etc/portage/package.keywords

----------

## Pajarico

Thanks, but didnt work.

----------

## chrroessner

Hi,

thanks for that howto. Anything was installed without problems so far, but lg3d-dev nor anything else seems to work here. Everything I get is:

Detected a JDK >= 1.5.0

/opt/lg3d/bin /opt/lg3d

/opt/lg3d

[1] 23441

and nothing happens.

I do not know, what is going wrong here. lookingglass is also listed as wm in KDM, but I can not start it ether. Also with root. Everything I see, I showed you above.

Any ideas?

Christian

[ebuild   R   ] x11-misc/lookingglass-bin [0.5] +doc 0 kB

[ebuild   Rf  ] dev-java/jai-bin [1.1.2.01] 0 kB

[ebuild   Rf  ] dev-java/sun-jdk [1.5.0] +doc -gnome -jce +kde +mozilla 0 kB

----------

## phate

thanks for the how-to, but it doesn't work for me

when I boot without framebuffer and try to run "displayserver", I get following output:

```
/opt/lg3d/bin /opt/lg3d/bin

/opt/lg3d/bin

[1] 7681

Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as

the value of the DISPLAY variable.

        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)

        at sun.awt.X11GraphicsEnvironment.access$000(X11GraphicsEnvironment.java:53)

        at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:142)

        at java.security.AccessController.doPrivileged(Native Method)

        at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:131)

        at java.lang.Class.forName0(Native Method)

        at java.lang.Class.forName(Class.java:164)

        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)

        at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:96)

        at java.lang.Class.forName0(Native Method)

        at java.lang.Class.forName(Class.java:164)

        at java.awt.Toolkit$2.run(Toolkit.java:821)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)

        at javax.media.j3d.MasterControl.loadLibraries(Unknown Source)

        at javax.media.j3d.VirtualUniverse.<clinit>(Unknown Source)

        at javax.media.j3d.Canvas3D.<clinit>(Unknown Source)

        at java.lang.Class.forName0(Native Method)

        at java.lang.Class.forName(Class.java:164)

        at org.jdesktop.lg3d.displayserver.AppConnector.platformCheck(AppConnector.java:177)

        at org.jdesktop.lg3d.displayserver.AppConnector.<init>(AppConnector.java:51)

        at org.jdesktop.lg3d.displayserver.AppConnector.getAppConnector(AppConnector.java:78)

        at org.jdesktop.lg3d.displayserver.socketconnector.ServerHandler.<init>(ServerHandler.java:73)

        at org.jdesktop.lg3d.displayserver.socketconnector.ServerHandler.main(ServerHandler.java:291)
```

Btw, I found another how-to: https://lg3d-core.dev.java.net/lg3d-getting-started.html#Troubleshooting

But it couldn't help me ...

so far, I am very impressed  :Very Happy: 

http://www.vb-leo.de/board/uploads/post-16-1099792963.jpg

----------

## dnasand

I have the same error when I run "displayserver" plz help!

grtz

----------

## Killswitch

Maybe this Thread is to old :-/

Hmm i hadn't any problems with emerging and so on...

But now he doesn't want to start.

There is just an :

```
hask@ankhmorpork hask $ lg3d-dev 

Detected a JDK >= 1.5.0

/opt/lg3d/bin /opt/lg3d 

/opt/lg3d 

[1] 28923
```

and when i try to start an -session without X-Server there occures an Error-msg with TLS-Problems

```
Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/hask/opt/sun-java3d-bin/lib/libj3dcore-ogl.so: libnvidia-tls.so.1: cannot handle TLS data

        at java.lang.ClassLoader$NativeLibrary.load(Native Method)

        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)

        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)

        at java.lang.Runtime.loadLibrary0(Runtime.java:822)

        at java.lang.System.loadLibrary(System.java:992)

        at javax.media.j3d.MasterControl$24.run(Unknown Source)

        at java.security.AccessController.doPrivileged(Native Method)

        at javax.media.j3d.MasterControl.loadLibraries(Unknown Source)

        at javax.media.j3d.VirtualUniverse.<clinit>(Unknown Source)

        at javax.media.j3d.Canvas3D.<clinit>(Unknown Source)

        at java.lang.Class.forName0(Native Method)

        at java.lang.Class.forName(Class.java:164)

        at org.jdesktop.lg3d.displayserver.AppConnector.platformCheck(AppConnector.java:177)

        at org.jdesktop.lg3d.displayserver.AppConnector.<init>(AppConnector.java:51)

        at org.jdesktop.lg3d.displayserver.AppConnector.getAppConnector(AppConnector.java:78)

        at org.jdesktop.lg3d.displayserver.socketconnector.ServerHandler.<init>(ServerHandler.java:73)

        at org.jdesktop.lg3d.displayserver.socketconnector.ServerHandler.main(ServerHandler.java:291)
```

mfg Killswitch

----------

## qupada

```
# lg3d-dev

Detected a JDK >= 1.5.0

/opt/lg3d/bin /opt/lg3d

/opt/lg3d

Could not find library path for jai-bin
```

Jai emerged fine... although i don't quite get the meaning of this message:

```
 * This ebuild now installs into /opt/jai-bin and /usr/share/jai-bin

 * To use you need to pass the following to java

 * -classpath $(java-config -p jai-bin)
```

Do you need to set an environment variable, or just append java to the start of that and run it once?

----------

## GenTimJS

the looking glass desktop loads for me .. i think ... at least, I get the panorama of the grand canyon-looking-area with the nice java logo (and a jolly roger!) in the top right .. but no menu at the bottom, and clicking doesnt seem to do anything ... thoughts?

here is the console output

```
tim@apollo x11-misc $ /opt/lg3d/bin/lg3d-dev

/opt/lg3d/bin /usr/portage/x11-misc

/usr/portage/x11-misc

[1] 19440

tim@apollo x11-misc $           
```

----------

## impressme

LG has two modes. The first mode is a development mode. It is run via the script lg3d-dev. This mode is independent from the underlying OS. It runs on any system which supports JDK 1.5: Linux, Solaris, Mac, and Windows. The primary of purpose of this mode is to support the development of 3D applications. This mode does not support windows of the underlying OS window system (such as X11 windows on Linux). The development mode is started from within the OS's base window system. For example, on Linux you can run lg3d-dev from within GNOME. The other mode is the "session" mode. This is started by exiting the base window system and running lg3d-session. This mode provides the ability to start windows of the base window system. For example, on Linux you can run X11 applications in this mode. Please note that the session mode is still under development and is somewhat buggy, so it is not quite as far along as the dev mode.

----------

## Trebiani

has someone tried the new version?

.... and is there an ebuild out there?

cheers,

treb

----------

## Dhaki

I've made a bug report: https://bugs.gentoo.org/show_bug.cgi?id=78973, but... no ebuild for the moment. I've installed manually the 0.61, but il freeze my pc when I start it   :Sad: 

----------

## float-

mine freezes as well  :Sad: 

----------

## deadstar

Got it working, looking georgeous!

Can't wait til its fully featured, goodbye KDE. This is something I will patiently wait for, and will most definately use!

Cannot use the "session" option though:

```

[1] 19001

/opt/lg3d/bin /opt/lg3d

/opt/lg3d

[1] 19009

, Java 3D 1.3.2.

Java 3D: Shape3D bounds enabled for transparency sorting

Java 3D: render Graphics2D DrawPixel disabled

Java 3D: background texture is enabled

Feb 12, 2005 10:32:56 PM org.jdesktop.lg3d.displayserver.LgConfig loadConfig

INFO: Loading config null

Feb 12, 2005 10:32:56 PM org.jdesktop.lg3d.displayserver.LgConfig loadConfig

INFO: Using default configuration

Feb 12, 2005 10:32:56 PM org.jdesktop.lg3d.displayserver.LgConfig logConfig

CONFIG: SceneManager org.jdesktop.lg3d.scenemanager.glassy.GlassySceneManager

Feb 12, 2005 10:32:56 PM org.jdesktop.lg3d.displayserver.DisplayServerControl <init>

INFO: LG version   : 6/26/04 9:24:54 PM PDT

Feb 12, 2005 10:32:56 PM org.jdesktop.lg3d.displayserver.DisplayServerControl <init>

INFO: Java version : 1.5.0_01

Feb 12, 2005 10:32:56 PM org.jdesktop.lg3d.displayserver.DisplayServerControl <init>

INFO: Java vendor  : Sun Microsystems Inc.

Feb 12, 2005 10:32:56 PM org.jdesktop.lg3d.displayserver.DisplayServerControl <init>

INFO: OS name      : Linux

Feb 12, 2005 10:32:56 PM org.jdesktop.lg3d.displayserver.DisplayServerControl <init>

INFO: OS arch      : i386

Feb 12, 2005 10:32:56 PM org.jdesktop.lg3d.displayserver.DisplayServerControl <init>

INFO: OS version   : 2.6.9-gentoo-r13

java.rmi.ServerError: Error occurred in server thread; nested exception is:

        java.lang.NoClassDefFoundError: javax/media/jai/remote/SerializableRenderedImage

        at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:382)

        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)

        at sun.rmi.transport.Transport$1.run(Transport.java:153)

        at java.security.AccessController.doPrivileged(Native Method)

        at sun.rmi.transport.Transport.serviceCall(Transport.java:149)

        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)

        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)

        at java.lang.Thread.run(Thread.java:595)

        at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)

        at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)

        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:343)

        at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)

        at java.rmi.Naming.rebind(Naming.java:160)

        at org.jdesktop.lg3d.sg.internal.rmi.rmiclient.SceneGraphSetup.initialiseServer(SceneGraphSetup.java:57)

        at org.jdesktop.lg3d.sg.SceneGraphSetup.initializeServer(SceneGraphSetup.java:47)

        at org.jdesktop.lg3d.displayserver.DisplayServerControl.<init>(DisplayServerControl.java:105)

        at org.jdesktop.lg3d.displayserver.AppConnector.getAppConnector(AppConnector.java:83)

        at org.jdesktop.lg3d.displayserver.socketconnector.ServerHandler.<init>(ServerHandler.java:73)

        at org.jdesktop.lg3d.displayserver.socketconnector.ServerHandler.main(ServerHandler.java:291)

Caused by: java.lang.NoClassDefFoundError: javax/media/jai/remote/SerializableRenderedImage

        at java.lang.Class.getDeclaredMethods0(Native Method)

        at java.lang.Class.privateGetDeclaredMethods(Class.java:2365)

        at java.lang.Class.privateGetPublicMethods(Class.java:2488)

        at java.lang.Class.getMethods(Class.java:1406)

        at sun.misc.ProxyGenerator.generateClassFile(ProxyGenerator.java:409)

        at sun.misc.ProxyGenerator.generateProxyClass(ProxyGenerator.java:306)

        at java.lang.reflect.Proxy.getProxyClass(Proxy.java:484)

        at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:676)

        at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:665)

        at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:588)

        at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)

        at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)

        at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)

        at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1494)

        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1457)

        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)

        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)

        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)

        at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)

        at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:375)

        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)

        at sun.rmi.transport.Transport$1.run(Transport.java:153)

        at java.security.AccessController.doPrivileged(Native Method)

        at sun.rmi.transport.Transport.serviceCall(Transport.java:149)

        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)

        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)

        at java.lang.Thread.run(Thread.java:595)

bash-2.05b$                                  

```

 [/code]

----------

## deadstar

Trying to build the latest CVS version of Looking Glass, and have bumped into a problem.

I'm using the 'ant' program to compile, and I get the following error:

[code}

bash-2.05b$ ant

Buildfile: build.xml

init-props:

init:

     [echo] ${incubator.exists}

unpack-x:

compile:

    [javac] Compiling 700 source files to /home/matt/projects/lg3d/lg3d-core/build/classes

    [javac] /home/matt/projects/lg3d/lg3d-core/src/classes/org/jdesktop/lg3d/apps/test/CursorTest.java:27: package javax.vecmath does not exist

    [javac] import javax.vecmath.Vector3f;

    [javac]                      ^

    [javac] /home/matt/projects/lg3d/lg3d-core/src/classes/org/jdesktop/lg3d/apps/test/HelloUniverseApp.java:32: package javax.vecmath does not exist

    [javac] import javax.vecmath.*;

    [javac] ^

    [javac] /home/matt/projects/lg3d/lg3d-core/src/classes/org/jdesktop/lg3d/wg/Container3D.java:24: package javax.vecmath does not exist

    [javac] import javax.vecmath.*;

    [javac] ^

    [javac] /home/matt/projects/lg3d/lg3d-core/src/classes/org/jdesktop/lg3d/wg/Component3D.java:32: package javax.vecmath does not exist

    [javac] import javax.vecmath.*;

    [javac] ^

    [javac] /home/matt/projects/lg3d/lg3d-core/src/classes/org/jdesktop/lg3d/displayserver/LgBranchGroup.java:37: package com.sun.j3d.utils.picking does not exist

.....................many more similar errors later...................

BUILD FAILED

/home/matt/projects/lg3d/lg3d-core/build.xml:81: Compile failed; see the compiler error output for details.

Total time: 5 seconds

bash-2.05b$

[/code]

I've tried using different Java VMs, tried setting the packages (java-config --set-user-classpath sun-java3d-bin,jai-bin,ant-core).

By looking at the errors it seems ANT cannot find the sun-java3d-bin package (javax.vecmath is part of this package, as far as I know).

Any ideas?

----------

## mallchin

It's such a shame I'm using amd64, but I guess by the time this hits 1.0 it'll be compatibly (I hope)...

In the meantime I've been running 0.5 in a 32bit shell (looking glass roxx!!), unfortunately 0.6x whines and wants a newer version of Java 3D...

It's late, but I'm definately gonna give this a shot tomorrow  :Very Happy: 

----------

## mallchin

Did anybody get an lg3d-session working then? Screenies please......

----------

## iverasp

As I couldn't find the java3d-1_3_2-build4-linux-i586.tar.gz file (seems like Sun has taken it of their servers), but the build8 one instead, I had to install it manually.

First, download the java3d-1_3_2-build4-linux-i586.tar.gz file from Sun.

```
> wget http://javadesktop.org/java3d/builds/stable/1_3_2-build8/java3d-1_3_2-build8-linux-i586.zip
```

Unzip it with

```
> unzip java3d-1_3_2-build8-linux-i586.zip
```

Now you should have a folder with some text files, and a j3d-132-build8-linux-x86.jar file. The HOW-TO-INSTALL.txt says to extract the file into the jre directory of where the Sun JDK is installed. In Gentoo i found this to be /opt/sun-jdk-1.5.0.02/jre.

```
> cd /opt/sun-jdk-1.5.0.02/jre/
```

Now extract the jar file with

```
> jar xvf /path/to/j3d-132-build8-linux-x86.jar
```

Portage will of course not know that you have installed this software manually, so you'll have to tell it not to emerge the file by doing

```
> mkdir /etc/portage/profile

> echo "dev-java/sun-java3d-bin-1.32-r1" >> /et/portage/profile/package.provided
```

Now you can continue emerging lookingglass-bin without problems  :Very Happy: 

----------

## iverasp

Woh, got the lg3d-dev working fine  :Very Happy: ! But the session version shows the same error as deadstar has. Anyone got it working?

----------

## deadstar

Got the session working! Its slow as hell! As soon as I can figure out how to get a screenshot I'll post one.

Got Firefox and Kopete running on it.

----------

## rayen16

Maybe the first post of this topic could be updated, so people could install Looking Glass easily  :Smile: 

----------

## Mayday

Has this document been updated?  I was looking for anything looking glass related with the new release of 2005.0 and I have not seen anything.

There is no package in the portage tree that look slike it is related to looking glass.

```
emerge search lg3d

Searching...

[ Results for search key : lg3d ]

[ Applications found : 0 ]
```

Found this however, not sure if it works.

http://gentoo-wiki.com/HOWTO_Looking_Glass

----------

## se_grulli

has anyone information about this issue?

i can't find lookingglass in portage either. is it going to be working again?

----------

## jd5419

Did this dissapear from portage? I tried it months ago but wanted to revisit it now and its no longer there :-\

----------

## mallchin

I have an overlay ebuild for lookingglass-bin-0.6.1:

```

# Copyright 1999-2004 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/x11-misc/lookingglass-bin/lookingglass-bin-0.5.ebuild,v 1.2 2004/08/08 00:54:21 slarti Exp $

inherit eutils

DESCRIPTION="Looking Glass - 3D window manager written in Java"

HOMEPAGE="https://lg3d.dev.java.net/"

SRC_URI="https://lg3d-core.dev.java.net/files/documents/1834/5501/lg3d-${PV}.tar.gz"

LICENSE="GPL-2"

IUSE="doc"

SLOT="0"

KEYWORDS="~x86 ~amd64"

DEPEND=""

RDEPEND=">=dev-java/sun-jdk-1.5.0_beta2

        >=dev-java/jai-bin-1.1.2-r3

        >=dev-java/sun-java3d-bin-1.32-r1

        || (

                app-shells/tcsh

                app-shells/csh

        )

        >=dev-java/java-config-1.2.10"

S=${WORKDIR}/lg3d

src_unpack() {

        unpack ${A} && cd ${S}

#       epatch ${FILESDIR}/lg3d-dev.patch

#       epatch ${FILESDIR}/displayserver.patch

        #epatch ${FILESDIR}/setup.patch

}

src_compile() { :; }

src_install() {

        dodir /opt/lg3d /etc/ /opt/lg3d/etc/

        mv bin ext ext-unbundled lib resources ${D}/opt/lg3d/

        mv etc/lg3d ${D}/etc/

        use doc && dodoc LICENSE.txt

        use doc && dohtml -r docs/

        dodir /etc/X11/Sessions

        dosym /opt/lg3d/bin/lg3d-session /etc/X11/Sessions/lookingglass

        dosym /etc/lg3d /opt/lg3d/etc

        into /opt

        dobin ${FILESDIR}/lg3d-dev ${FILESDIR}/lg3d-session

}

pkg_postinst() {

        echo

        ewarn "To run Looking Glass, the screen must be in 24-bit mode"

        ewarn "To run in window, run lg3d-dev"

        ewarn "To run as a session, run lg3d-session"

        echo

}

```

files/displayserver.patch

```

--- bin/displayserver   2004-06-27 06:25:06.000000000 +0200

+++ bin/displayserver   2004-07-29 11:53:51.160475080 +0200

@@ -13,6 +13,12 @@

 echo $path >> /tmp/lgserver.log

+set lp="`java-config -i sun-java3d-bin,jai-bin`"

+set cp="`java-config -p sun-java3d-bin,jai-bin`:${CLASSPATH}"

+

+echo java.library.path ${lp} >> /tmp/lgserver.log

+echo classpath ${cp} >> /tmp/lgserver.log

+

 pkill -f "rmiregistry ${RMI_PORT}"

 sleep 1

@@ -26,4 +32,4 @@

 # Add lib/i386 to path so we can find cep

 set path=( ${scriptdir}/../lib/i386 $path )

-java  -Dj3d.sortShape3DBounds="true" -Dlg.configurl=${LGCONFIG} ${DISP_CONFIG} org.jdesktop.lg3d.displayserver.socketconnector.ServerHandler |& tee -a /var/tmp/lgserver.log | grep "SEVERE\|WARNING" -

+java -cp ${cp} -Djava.library.path=${lp} -Dj3d.sortShape3DBounds="true" -Dj3d.sortShape3DBounds="true" -Dlg.configurl=${LGCONFIG} ${DISP_CONFIG} org.jdesktop.lg3d.displayserver.socketconnector.ServerHandler |& tee -a /var/tmp/lgserver.log

```

files/lg3d-dev

```

#!/bin/bash

# Copyright (c) 2004, Thomas Matthijs <axxo@gentoo.org>

# Copyright (c) 2004, Gentoo Foundation

#

# Licensed under the GNU General Public License, v2

# From java-utils.eclass

get-vm-version() {

        local version=$(java-config -f | sed -r "s/^[a-zA-Z-]+//")

        echo ${version}

}

is-vm-version-ge() {

        local user_major=${1-0}

        local user_minor=${2-0}

        local user_patch=${3-0}

        local user_version=${user_major}.${user_minor}.${user_patch}

        local vm_version=`get-vm-version`

        local ver_rx="([0-9]+)\.([0-9]+)\.([0-9]+)(.*)"

        local vm_major=$(echo ${vm_version} | sed -r "s/${ver_rx}/\1/")

        local vm_minor=$(echo ${vm_version} | sed -r "s/${ver_rx}/\2/")

        local vm_patch=$(echo ${vm_version} | sed -r "s/${ver_rx}/\3/")

        local vm_extra=$(echo ${vm_version} | sed -r "s/${ver_rx}/\4/")

        if [ ${vm_major} -ge ${user_major} ] && [ ${vm_minor} -gt ${user_minor} ] ; then

                echo "Detected a JDK >= ${user_version}"

                return 0

        elif [ ${vm_major} -ge ${user_major} ] && [ ${vm_minor} -ge ${user_minor} ] && [ ${vm_patch} -ge ${user_patch} ] ; then

                echo "Detected a JDK >= ${user_version}"

                return 0

        else

                echo "Detected a JDK < ${user_version}"

                return 1

        fi

}

if ! is-vm-version-ge 1 5; then

        echo "You current jdk is not >= 1.5"

        echo "Please use java-config to select a 1.5"

        exit 1

fi

cd /opt/lg3d/

exec bin/lg3d-dev $@

```

files/lg3d-dev.patch

```

--- bin/lg3d-dev        2004-07-28 21:09:27.432202120 +0200

+++ bin/lg3d-dev        2004-07-28 21:33:44.272728696 +0200

@@ -22,6 +22,11 @@

 echo $path >> /tmp/lgserver.log

+set lp="`java-config -i sun-java3d-bin,jai-bin`"

+set cp="`java-config -p sun-java3d-bin,jai-bin`:${CLASSPATH}"

+

+echo java.library.path ${lp} >> /tmp/lgserver.log

+echo classpath ${cp} >> /tmp/lgserver.log

 pkill rmiregistry

 sleep 1

@@ -30,4 +35,4 @@

 setenv DISP_CONFIG -Dlg.displayconfigurl=file://${scriptdir}/../etc/lg3d/displayconfig/j3d1x1

-java  -Dj3d.sortShape3DBounds="true" -Dlg.configurl=${LGCONFIG} ${DISP_CONFIG} -Dorg.jdesktop.jz.jzcoresrc=$LGCORESRC org.jdesktop.lg3d.displayserver.socketconnector.ServerHandler |& tee -a /var/tmp/lgserver.log | grep "SEVERE\|WARNING" -

+java -cp ${cp} -Djava.library.path=${lp} -Dj3d.sortShape3DBounds="true" -Dlg.configurl=${LGCONFIG} ${DISP_CONFIG} -Dorg.jdesktop.jz.jzcoresrc=$LGCORESRC org.jdesktop.lg3d.displayserver.socketconnector.ServerHandler |& tee -a /var/tmp/lgserver.log  | grep "SEVERE\|WARNING" -

```

files/lg3d-session

```

#!/bin/bash

# Copyright (c) 2004, Thomas Matthijs <axxo@gentoo.org>

# Copyright (c) 2004, Gentoo Foundation

#

# Licensed under the GNU General Public License, v2

# From java-utils.eclass

get-vm-version() {

        local version=$(java-config -f | sed -r "s/^[a-zA-Z-]+//")

        echo ${version}

}

is-vm-version-ge() {

        local user_major=${1-0}

        local user_minor=${2-0}

        local user_patch=${3-0}

        local user_version=${user_major}.${user_minor}.${user_patch}

        local vm_version=`get-vm-version`

        local ver_rx="([0-9]+)\.([0-9]+)\.([0-9]+)(.*)"

        local vm_major=$(echo ${vm_version} | sed -r "s/${ver_rx}/\1/")

        local vm_minor=$(echo ${vm_version} | sed -r "s/${ver_rx}/\2/")

        local vm_patch=$(echo ${vm_version} | sed -r "s/${ver_rx}/\3/")

        local vm_extra=$(echo ${vm_version} | sed -r "s/${ver_rx}/\4/")

        if [ ${vm_major} -ge ${user_major} ] && [ ${vm_minor} -gt ${user_minor} ] ; then

                echo "Detected a JDK >= ${user_version}"

                return 0

        elif [ ${vm_major} -ge ${user_major} ] && [ ${vm_minor} -ge ${user_minor} ] && [ ${vm_patch} -ge ${user_patch} ] ; then

                echo "Detected a JDK >= ${user_version}"

                return 0

        else

                echo "Detected a JDK < ${user_version}"

                return 1

        fi

}

if ! is-vm-version-ge 1 5; then

        echo "You current jdk is not >= 1.5"

        echo "Please use java-config to select a 1.5"

        exit 1

fi

cd /opt/lg3d/

exec bin/lg3d-session $@

```

files/setup.patch

```

--- bin/setup   2004-06-27 06:25:06.000000000 +0200

+++ bin/setup   2004-07-29 11:41:01.000000000 +0200

@@ -38,7 +38,8 @@

 # Use the default remote config by default

 if ( ${?LGCONFIG} == 0 ) then

 #    setenv LGCONFIG file://${scriptdir}/lgconfig_x_remote.xml

-    setenv LGCONFIG

+    setenv LGCONFIG file://${scriptdir}/../etc/lg3d/lgconfig_1p_nox.xml

+    #setenv LGCONFIG

 endif

 setenv CLASSPATH ${lgdir}/lib/ext/lg3d-core.jar:${lgdir}/ext/escher-0.2.2.jar:${lgdir}/

```

You might not need all the additional files, but I've included them anyway... Put them in files/ inside your overlay dir.

----------

## ballero

```
*  dev-java/sun-java3d-bin

      Latest version available: 1.3.2

      Latest version installed: 1.3.2

      Size of downloaded files: 2,419 kB

      Homepage:    https://j3d-core.dev.java.net/

      Description: Sun Java3D API Core

      License:     sun-jrl sun-jdl

ballero ~ # /opt/lg3d/bin/lg3d-dev

/opt/lg3d/bin ~

~

LG_SETTINGS -Dlg.etcdir=/opt/lg3d/bin/../etc/

[1] 7976

SEVERE: Project Looking Glass requires Java 3D 1.3.2 or later

ballero ~ #

```

Any hints?

----------

## mallchin

Same here, anyone solve this?

----------

## Trebiani

 *mallchin wrote:*   

> Same here, anyone solve this?

 

java3d and jai is missing in the classpath and -Djava.library.path=/opt/sun-java3d-bin/lib should point to libj3dcore-ogl.so

after adding it lg3d-dev is running fine

this is my /opt/lg3d/bin/lg3d-dev:

```
#!/bin/csh -f

set tmp = $0

set scriptdir = ${tmp:h}

if (${scriptdir} == ${tmp}) set scriptdir = .

source ${scriptdir}/setup

set config = $1

if (-f ${scriptdir}/../etc/lg3d/$config) then

    echo "Using config file ${config}"

else

    set config = lgconfig_1p_nox.xml

endif

setenv LGCONFIG file:///${etcdir}/lg3d/${config}

echo LGCONFIG $LGCONFIG > /var/tmp/lgserver.log

echo JAVA_HOME $JAVA_HOME >> /var/tmp/lgserver.log

echo LGX11HOME $LGX11HOME >> /var/tmp/lgserver.log

echo X Server Version >> /var/tmp/lgserver.log

cat ${LGX11HOME}/VERSION >> /var/tmp/lgserver.log

echo $path >> /var/tmp/lgserver.log

set lp="`java-config -i sun-java3d-bin,jai-bin`"

set cp="`java-config -p sun-java3d-bin,jai-bin`:${CLASSPATH}"

echo java.library.path ${lp} >> /tmp/lgserver.log

echo classpath ${cp} >> /tmp/lgserver.log

pkill -f "rmiregistry ${RMI_PORT}"

sleep 1

rmiregistry ${RMI_PORT} &

echo LD_LIBRARY_PATH $LD_LIBRARY_PATH >> /var/tmp/lgserver.log

setenv DISP_CONFIG -Dlg.displayconfigurl=file:///${etcdir}/lg3d/displayconfig/j3d1x1

java ${DEBUG_FLAGS} -Xmx512m -cp ${cp} -Djava.library.path=${lp} -Dj3d.sortShape3DBounds="true" ${LG_SETTINGS} -Dlg.configurl=${LGCONFIG} ${DISP_CONFIG} org.jdesktop.lg3d.displayserver.Main |& tee -a /var/tmp/lgserver.log | grep "SEVERE\|WARNINGi\|ClassVersionError" -

```

Last edited by Trebiani on Wed May 18, 2005 7:30 pm; edited 2 times in total

----------

## mallchin

Although lookingglass-0.5.0 works for me (lg3d-dev not lg3d-session). If anyone has lg3d-session working on amd64 (even using chroot) I would be intrigued.

----------

## Bigun

*bookmarked*

----------

## beatryder

I think I missed something.... I cant find lookingglass anywhere in portage

----------

## gtr-xu1

afaik the lookingglass-bin ebuild is gone for now, that was for the 0.5 release which is now like a year old. You may be able to get the 0.7 release up and running using these insructions https://lg3d-core.dev.java.net/lg3d-getting-started.html depending on your hardware. You can probably use portage to build most of lg3d's dependencies except for the experimental version of java-3d. A lot has changed since the older releases you may have to build it from source using ant or netbeans (maybe). If you are using amd64 just wait a little longer as it now works on the platform and will have binary builds on the projects page soon.

----------

## mallchin

Yay coming to amd64  :Very Happy: 

Never managed to get lg3d-session working under 32bit though, this looks the most promising. I'd live to ssh to a few boxes in looking-glass  :Twisted Evil: 

----------

## MaheS

ACCEPT_KEYWORDS="~x86" emerge lookingglass-bin

Calculating dependencies   

emerge: there are no ebuilds to satisfy "lookingglass-bin".

???

----------

## Mben

 *MaheS wrote:*   

> ACCEPT_KEYWORDS="~x86" emerge lookingglass-bin
> 
> Calculating dependencies   
> 
> emerge: there are no ebuilds to satisfy "lookingglass-bin".
> ...

 

look up a couple posts  :Wink: 

----------

## Trebiani

 *gtr-xu1 wrote:*   

> You may be able to get the 0.7 release up and running using these insructions https://lg3d-core.dev.java.net/lg3d-getting-started.html depending on your hardware. You can probably use portage to build most of lg3d's dependencies except for the experimental version of java-3d. A lot has changed since the older releases you may have to build it from source using ant or netbeans (maybe). If you are using amd64 just wait a little longer as it now works on the platform and will have binary builds on the projects page soon.

 

has someone made an ebuild for the 0.7.0 version?

cheers,

treb

----------

## ixion

Looking Glass has the potential to return to portage, but the person heading that up needs to know that there is demand for it.

Please email r3pek@gentoo.org to let him know you would like to see this.

----------

## zxy

Is LG amd64 ready yet.

----------

## alienjon

 *Quote:*   

> 
> 
> Linux AMD64: Release 0.8.1 64bit build has not been shipped yet.
> 
> 

 

This is from java. Anyone have an idea on an eta for this?

----------

