Linux new XGL desktop is amazing

M00T

Golden Member
Mar 12, 2000
1,214
1
0
While it is certainly cool, I don't feel the interface has the normal size of a fingertip in mind. Window controls are probably hard to hit just right, as was somewhat apparent from his demonstration. Changing the size of controls should be an easy thing to do though.
 

Robor

Elite Member
Oct 9, 1999
16,979
0
76
Tried XGL/compiz and it was buggy and unstable for me. A stable system started having program freezes, crashes, and random reboots. Have you seen Enlightenment?

I've been trying to get Enlightenment (E16.9x or E17) going for a while now and have failed miserably.
 

cleverhandle

Diamond Member
Dec 17, 2001
3,566
3
81
Originally posted by: Robor
Tried XGL/compiz and it was buggy and unstable for me. A stable system started having program freezes, crashes, and random reboots.
I haven't seen that at all on my system (Debian Sid, XGL packages compiled about a month ago). I was really expecting it to be much worse, but it's stable enough that I use it as my regular desktop. The few crashes/lockups I've seen were in very particular situations that were easy enough to work around (e.g. setting XLIB_SKIP_ARGB_VISUALS for gmplayer). Also, I didn't realize at first that some moron decided that Shift-Backspace was a great default binding for "Kill X Server". Once I found out about that and remapped it, the number of mysterious crashes decreased dramatically. :)

What kinds of problems were you seeing exactly?
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Pretty soon it should be pretty easy to get all these fancy special effects running.

AIGLX is now part of X.org by default (I think). It provides all the OpenGL acceleration you need to get compiz working and get all those fancy special effects.


I find it's easier to understand what is going on when you can understand the definitions of terms related to X. X is a pretty complex animal and it has all sorts of weird conventions and names that don't realy make sense to most of us PC users.

For instance X server vs X client seems a bit odd. X server is always local to your machine (unless your running VNC). It sort of 'serves' out your input and output to 'X clients' which are applications, typically.

For related definitions:
X Windows = It's actually a network protocol. Think of it like HTTP. The web pages are like 'X clients' that have their output displayed on your machine. The 'X server' is like your web browser. Most of the time it's only used locally though in a fasion that makes it act like a typical Windows or MacOS GUI display. Typically the network is only local operating on fast local sockets (so no TCP/IP overhead). Remote access is usually dispabled by default for security reasons although Linux users will often use OpenSSH's X support to run remote X apps safely and securely.

X Server = the item responsable for displaying windows and widgets and such on your desktop. Controls the display, controls your input devices also. Without anything running on it it will just display a ugly gray screen with a ugly X cursor.

X Clients = applications that display output on the X server. Your file manager, firefox, window manger, panel, openoffice.org, quake3 are examples of 'X clients' They can be ran from a remote computer on your network or on local machine as is typical for Windows or OS X. (although currently only local apps can get OpenGL acceleration)

Window Manager = a application that controls windows and provides basic functionality. It's what draws borders around windows, provides open/close/minimize buttons. It provides the ability to switch focus from window to window. Some Window managers provide basic desktop functionality like a menu that pops up when you click on the background or a simple dock like what is used in Fluxbox.

Desktop Environment = A collection of applications (window managers, file managers, office productivity tools, media playback, themes, small games, applets, etc etc) that are designed to provide a complete desktop system that people need typically to do their work or expect to have on a computer. Gnome and KDE are the big ones, but other ones include XFCE, Enlightenment (although they call themselves a 'shell', not a 'DE'), and WindowMaker/GNUstep environment.

Also they provide development tools and API's for application development.

For instance Gnome provides:
Gnome Office, which is mainly Abiword word proccessor and Gnumeric spreedsheet applicaiton.
Metacity window manager
Nautilus file manager
Totem media player
Gnome games (solitare for instance.. has many dozens of variations on the game)
Epiphany web browser
Evolution email and group-ware client
Tomboy note taking application
C programming APIs and proccess communication features. Python bindings, C# bindings.

Then there are numerious 'Gnome' add-ons to increase functionality of the Desktop. Stuff like Beagle desktop search or the Deskbar applet for consolidating different searches (beagle desktop search, address bar/send mail, tomboy notes, web server, dictionary search, etc)

Xrender = extension for X to allow more effective 2d acceleration and effects.

XAA = 2d acceleration drivers for X.

EXA = New 2D acceleration drivers that fixes XAA's issues and makes Xrender work more effectively.

GLX = extension for X originally created by SGI to allow OpenGL acceleration on X windows.

Mesa = Standard open source OpenGL protocol stack. OpenGL is a programming API that is designed to be accelerated, but not nessicarially so. Mesa provides the basic libraries and such needed to do OpenGL applications on Linux and many other operating systems. Although vendors such as Nvidia will provide their own propriatory OpenGL stack as is typical for operationg systems like Linux or Windows.

DRI = Direct Rendering Infrastructure. This is X's solution to provide OpenGL acceleration for video cards. Based off of Mesa they take what portions of OpenGL they can and program them to be performed on the video card instead of the central CPU.

DRM = Direct Rendering Manager. It's the Linux kernel level driver to allow applications to access the Video card for opengl acceleration.

Direct Rendering = The name for how DRI allows applications to seize control over their own display output so that they can get good 3d acceleration.

Indirect Rendering = Fallback for applications that can't get direct rendering for whatever reason (no drivers, incorrect setup, programming error, remote application, etc). Currrently this is very slow as it runs completely in software.

Composition = How the new fancy effects are able to be done. Compisition happens with OS X's Aqua, with Vista's Areo effects, and with X's 'XGL' effects. How it basicly works is that instead of rendering windows directly to your screen they are rendered in a off screen buffer which each window exists in it's own little world. Then you use a display manager or 'compositor' to layer these windows together so that you create your desktop. SO it's kinda like you render everything off screen, take a snapshot of it, and paint the contents to a 2d rectangle which you can then manage in different fancy ways and get it going all fast with 3d acceleration.

XGLX = What Novell calls 'XGL'. It's their X server that is full OpenGL driven. Runs on top of a regular X server. It's what you see in the videos mostly. This can be confusing because with Xorg's own lingo XGL may mean the 'XGL core' and they call Novell's XGL XGLX to try to avoid confusion.

AIGLX = Developed originally by Redhat. It's OpenGL extensions to the existing X server. It's suppose to allow for acceleration of indirect rendering which should be very cool. (but it won't be as fast as direct rendering still) It's now incorporated into Xorg's official releases, which is somethign that is probably never going to happen with XGLX.

XeGL = Possible 'next generation' X server from X.org. There are currently limitations in the OpenGL API that restricts it from being able to be used fully for a complete display solution. Since it was designed to provide application programming interface it lacks some stuff like being able to control the display resolution directly or to control lower level aspects of input things. So current opengl X servers need the legacy 2d-only X server to run with in order to perform those things.

A company called Kronos developed the OpenGL-ES, which is extensions to OpenGL that provides a stripped down opengl environment specificly designed for embedded device programming. As part of that they developed the basis for 'EGL' which allows for managing the display using OpenGL.. as was needed in a embedded programming since there was no other display management system.
http://www.khronos.org/egl/

X.org folks would like to have drivers support and get EGL into the standard OpenGL spec so that they can use EGL to move to a pure OpenGL environment.

XGL = The 'core' of the OpenGL stuff from X.org. It is being tweaked and developed by people working on XGLX and AIGLX.

Very recently Kronos has aquired the ability to control the future directions of OpenGL API specifications from the ARB. ARB is the 'Architecture Review Board' is a consortium of various corporations and groups interested in OpenGL development. These include Apple, SGI, 3DLabs, Dell, Nvidia, ATI, Sun Microsystems, and Intel.
http://www.khronos.org/news/press/Relea...opengl_specification_to_khronos_group/

This should help out with OpenGL lagging behind Direct3d on new features, hopefully. Currently OpenGL can do everything Direct3d can do.. but it has to use extensions like the ARB extensions that haven't made it into official OpenGL specs or propriatory Nvidia or ATI extensions designed specificly for their cards.


Compiz = Novell's fancy 'compisitor'. It's what makes the windows wobbly or transparent. It needs a OpenGL accelerted environment to do this in and that is why you need to run it on XGLX or AIGLX. They took Compiz and turned it into a Window Manager..
Btw Metacity has been extended to incorporate compositioning features also. So Compiz = compositor + window manager add-ons, and very new Metacity versions = window manager + compositor add-ons. Kinda interesting.


X.org = Current development project for open source X windows. Took over for XFree86 for numerious political/technical issues.

Keep in mind that X.org has a number of different X servers it handles. These things are called DDX sometimes. They have the OpenGL stuff that is new, but also the legacy 2d acceleration stuff. They also have DDX for OS X and even Windows. In X.org's terms XGL is the DDX and AIGLX and XGLX are implimentations of that DDX. Sort a. Don't understand it all myself.
 
Jun 4, 2005
19,723
1
0
Drag, you mentioned that Metacity and Compiz are somewhat similar; does that mean some of the effects can be used through Metacity rather than Compiz? Is there a reason to use one over the other?
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Compiz and Metacity will perform the same functions.. They do 'window manager' and newer versions of Metacity do 'compisition'. It's still quite experimental, I beleive.

Both of them need a opengl accelerated X server to run on.. either AIGLX or XGLX.

Fedora Core seems to be at the forefront of it and have some information about it in their wiki.
http://fedoraproject.org/wiki/RenderingProject/aiglx
AIGLX is a project that aims to enable GL-accelerated effects on a standard desktop. We have a lightly modified X server (that includes a couple of extensions), an updated Mesa package that adds some new protocol support and a version of metacity with a composite manager. The end result is that you can use GL effects on your desktop with very few changes, the ability to turn it on and off at will, and you don't have to replace your X server in the process.

The nice thing about it is that it can run on Free software drivers with Intel i830 through i945 embedded cards and with R100 and R200 (and possibly R300 and R400 with Free software drivers from CVS) series ATI cards.

Propriatory ATI or Nvidia drivers don't support the nessicary functions yet... Maybe Nvidia has released new drivers for it, I don't know. Both of them will end up supporting Aiglx, I am just not sure of the time line or current status.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Originally posted by: postmortemIA
XGL has problems with many Java apps.

Java has lots of problems. ;)

For Java 3d stuff Sun Microsystems have open sourced their 'Looking Glass' 3d desktop a while ago. Of course no distro is going to touch the stuff until it stop requiring propriatory java implimentations to run. Sun seems to be working on fixing that, I don't know.

They have some live linux cds, some demo videos and such aviable at:
<a target=_blank class=ftalternatingbarlinklarge href="https://lg3d.dev.java.net/"><a target=_blank class=ftalternatingbarlinklarge href="https://lg3d.dev.java.net/">https://lg3d.dev.java.net/</a></a>

Edit:

Be sure to see the 'GoMonkey' interface based on LookingGlass and Solaris.

Its kinda like the 'Minority Report' style user interface were the computer tracks body movement and responds to hand gestures as input devices.
 
Jun 4, 2005
19,723
1
0
I wanted to try LookingGlass, but it said whatever whatever was already running on display:0. How would one go about trying that without getting that problem? Would the same thing be likely to happen with GoMonkey?

EDIT: Ah, LookingGlass has to be running for GoMonkey to run as well? Too bad.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Absolutely no clue.

Never tried Looking glass personally. I am waiting on Debian to get X.org 7.1 so that I can use AIGLX without much hassle.

Although you can try out their Live linux cdrom. https://lg3d-livecd.dev.java.net/ (I haven't tried that out either.)

As far as gomonkey or whatever I don't know either. I figured it was propriatory software built on looking glass and not very interesting beyond the concept. (which reminds me a lot of the those video cam games for the Playstation 2)



As for the 'display:0' error you didn't give enough information.

With X you can have many multiple desktops and they are refered to as simple numbers. Like localhost:0 or localhost:1 or whatever. Most of the time we only run one display, which is the default and it's :0.

Open up a xterm and go:
echo $DISPLAY

Usually a error of that sort is related to window managers. Like ifyou try to start a new window manager with one already running it will say something like:
"window manager blah already running on display :0" and exit out.
Nicer window managers will have a "--replace" option for killing the running window manager and starting a new one. Otherwise it can be kinda difficult in gnome to replace the window manager because the gnome session manager will respawn a new window manager as fast as it can if you kill the old one. It's so that if the window manager crashes your not left with a stuck X window session or something like that.

But I don't know if that is what is going on with your system.
 
Jun 4, 2005
19,723
1
0
Yep. That most certainly is. I tried opening up Blackbox on a Standard server. So if I wanted to give it a shot, I'd add the replace option, like the compiz file normally has?

Cool. Thanks!
 

Robor

Elite Member
Oct 9, 1999
16,979
0
76
Originally posted by: cleverhandle
Originally posted by: Robor
Tried XGL/compiz and it was buggy and unstable for me. A stable system started having program freezes, crashes, and random reboots.
What kinds of problems were you seeing exactly?
I used the 'OS X-like' launcher bar and it would occasionally disappear. I could have Firefox open and try to close the window but it wouldn't close. If I tried to drag a window off screen to rotate the 'cube' it would work sometimes and not others. Apps like Thunderbird, Firefox, and Gaim would occasionally crash. Oh, and hard freezes were the worst part.
 
Jun 4, 2005
19,723
1
0
I burned the ISO to a DVD, but I just remembered that my DVD Drive is an external one, and my BIOS doesn't support booting from USB. How would I go about doing this? ~_~
 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
Originally posted by: drag
Originally posted by: postmortemIA
XGL has problems with many Java apps.

Java has lots of problems. ;)

For Java 3d stuff Sun Microsystems have open sourced their 'Looking Glass' 3d desktop a while ago. Of course no distro is going to touch the stuff until it stop requiring propriatory java implimentations to run. Sun seems to be working on fixing that, I don't know.

They have some live linux cds, some demo videos and such aviable at:
<a target=_blank class=ftalternatingbarlinklarge href="https://lg3d.dev.java.net/"><a target=_blank class=ftalternatingbarlinklarge href="https://lg3d.dev.java.net/"><a target=_blank class=ftalternatingbarlinklarge href="https://lg3d.dev.java.net/">https://lg3d.dev.java.net/</a></a></a>

Edit:

Be sure to see the 'GoMonkey' interface based on LookingGlass and Solaris.

Its kinda like the 'Minority Report' style user interface were the computer tracks body movement and responds to hand gestures as input devices.
LookingGlass should have nothing to do with xgl. I can't see any reason why, in theory, regular 2d java apps wouldn't run fine with xgl.
 

silverpig

Lifer
Jul 29, 2001
27,703
12
81
Originally posted by: LoKe
I wanted to try LookingGlass, but it said whatever whatever was already running on display:0. How would one go about trying that without getting that problem? Would the same thing be likely to happen with GoMonkey?

EDIT: Ah, LookingGlass has to be running for GoMonkey to run as well? Too bad.

DISPLAY=:1 <command to start looking glass>


Maybe?
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Originally posted by: kamper
Originally posted by: drag
Originally posted by: postmortemIA
XGL has problems with many Java apps.

Java has lots of problems. ;)

For Java 3d stuff Sun Microsystems have open sourced their 'Looking Glass' 3d desktop a while ago. Of course no distro is going to touch the stuff until it stop requiring propriatory java implimentations to run. Sun seems to be working on fixing that, I don't know.

They have some live linux cds, some demo videos and such aviable at:
<a target=_blank class=ftalternatingbarlinklarge href="https://lg3d.dev.java.net/"><a target=_blank class=ftalternatingbarlinklarge href="https://lg3d.dev.java.net/"><a target=_blank class=ftalternatingbarlinklarge href="https://lg3d.dev.java.net/"><a target=_blank class=ftalternatingbarlinklarge href="https://lg3d.dev.java.net/"><a target=_blank class=ftalternatingbarlinklarge href="https://lg3d.dev.java.net/"><a target=_blank class=ftalternatingbarlinklarge href="https://lg3d.dev.java.net/">https://lg3d.dev.java.net/</a></a></a></a></a></a>

Edit:

Be sure to see the 'GoMonkey' interface based on LookingGlass and Solaris.

Its kinda like the 'Minority Report' style user interface were the computer tracks body movement and responds to hand gestures as input devices.
LookingGlass should have nothing to do with xgl. I can't see any reason why, in theory, regular 2d java apps wouldn't run fine with xgl.

I never said it did.

I just wanted to show what the Sun java guys are mucking around with.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Originally posted by: Robor
Originally posted by: cleverhandle
Originally posted by: Robor
Tried XGL/compiz and it was buggy and unstable for me. A stable system started having program freezes, crashes, and random reboots.
What kinds of problems were you seeing exactly?
I used the 'OS X-like' launcher bar and it would occasionally disappear. I could have Firefox open and try to close the window but it wouldn't close. If I tried to drag a window off screen to rotate the 'cube' it would work sometimes and not others. Apps like Thunderbird, Firefox, and Gaim would occasionally crash. Oh, and hard freezes were the worst part.

Driver issues it sounds like.

The apps crashing and freezing could be because they are attempting to use some 2d acceleration and the freezes would definately indicate driver problems.
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
Originally posted by: thehstrybean
How do you rotate the desktop cube in XGL+compiz? I never figured it out...

Left Ctrl+Left Alt+mouse click/drag
(or is it Right Ctrl+Right Alt?)
 

cleverhandle

Diamond Member
Dec 17, 2001
3,566
3
81
Originally posted by: drag
Driver issues it sounds like.
Yeah, that or maybe using packages that weren't compiled properly for whatever distro you were using. There are a lot of dependencies involved - it would be pretty easy to break something there. I definitely never saw anything like those issues.

 

kamper

Diamond Member
Mar 18, 2003
5,513
0
0
Originally posted by: drag
I never said it did.
Well, he complained about java and xgl and you promptly launched into a speech about Looking Glass so I just sorta figured... :p

And now, to commit the same crime and go further off topic :) I hadn't been aware that looking glass actually had anything to do with java. I thought it was just their usual marketing gimic, trying to slap the Java name onto everything. So that makes me wonder how they managed the 3d bit. As far as I'm aware, there aren't any complete, stable java-opengl bindings despite numerous attempts.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Originally posted by: kamper
Originally posted by: drag
I never said it did.
Well, he complained about java and xgl and you promptly launched into a speech about Looking Glass so I just sorta figured... :p

And now, to commit the same crime and go further off topic :) I hadn't been aware that looking glass actually had anything to do with java. I thought it was just their usual marketing gimic, trying to slap the Java name onto everything. So that makes me wonder how they managed the 3d bit. As far as I'm aware, there aren't any complete, stable java-opengl bindings despite numerous attempts.

I beleive they used 'Java 3D' for the basis of looking glass.

See here:
https://java3d.dev.java.net/

I don't think it's 'Java OpenGL' per say, it's probably more like a abstracted 3d library.. Sort of like what you'd find in LibSDL. It uses OpenGL by default, but they have a DirectX version.

Not that I know a lot about it. That stuff I just got from their website. :)