The Power of X
An anonymous reader writes "The license changes in the last version of Xfree86 have caused many distributions to reject the project in favor of the forked X.Org X server. As X.Org prepares to release the second version of the X.Org "monolithic" X Server (dubbed version 6.8), Ars Technica investigates the future of the X platform, as cooperation between X.Org and projects like GNOME and KDE begin to take take hold at freedesktop.org. Already host to an impressive array of projects, it appears that freedesktop.org will become the hub in which other Free Desktop projects can collaborate. Daniel Stone, release manager for freedesktop.org, gets into the details on how it's all going to work, in conjunction with freedesktop.org's upcoming platform release."
Looks like the original XFree86 project was going nowhere fast. The distros making the first move to X.org want to make some progress to making Linux (and other Unix-types) ready for the desktop. Hopefully, X.org is the first sign of progress to a backend which will eventually be able to do things a modern desktop will need to do.
It would be cool if it didn't suck.
Yummie soon available near you http://freedesktop.org/XOrg/X11R68ScreenShots
the new xserver kicks ass.. I've got it running on my desktop, compositing is a great effect, and with proper integtration with programs, promises to change the way i use my pc for the better... btw windows don't stutter when I move them! drop shadows are sexy too.. hopefully we'll get PLG features in a compositor in the next few months.
Cygwin have started using x.org and their X windows functionality on windows is really pretty good - you can run X apps (either from a remote machine, or the local ones provided by cygwin) in the windows desktop, and they appear in the right place in the task bar as well. I'd recommend anyone to check it out.
Like X.org in Cygwin?
If you use the latest release of cygwin, it comes with an X.org server that has a rootless WM (like the one in Apple Xfree server). With it, you can run X11 applications next to your Win32 windows as if they were native (same for remote windows).
I use it all the time for remote admin and this is great.
Of course there are going to be similarities - they're general-purpose pieces of software written to use the same hardware. That's why they're converging the way they are (linuxes having start buttons, graphical installs, GUI-everything, etc.)
It's not a "which one's better" argument, just an example of convergent evolution compter-style.
X needs to remain low level to stay relevant.
Uhh, compatibility with nvidia and ati binaries is one of their release requirements, f00
The other nice thing about using a web browser as a terminal is that HTML is very, very easy to write. I'd put it on par with creating a Windows form in VB. The other plus side to an HTML interface is that you now have a "program" that is mutli-platform. Mac, Windows, Linux can all view the page and get the program to do whatever it is supposed to. It's almost like Java, but I would think it is a lot lighter.
And pretty slow it seems.
Right now I am running fedora core 2 and am using the latest release from X.org's CVS.
It seems stable and all that, but it's slow.
GLXGears I am scoring 285 fps with xcompmgr off
and 60-70 with it on. (that turns on the composite features).
Although it does have my dri drivers turned off in both cases (using intel i830-type video driver). I am recompiling as I type right now to enable the new i915 driver for it to see if that makes a difference.
But other people have reported it to be slow. Probably would be nice on my other computer using the Nvidia FX 5900 XT, but I don't want to mess up my desktop with a CVS-based X server.
All in all it's pretty stable and shows the progress that XFree86 was holding back on, unfortunately. Yea for X.org
Oh and also for that guy that says he was nervious about X.org and Freedesktop.org and KDE/Gnome "working to close together". He is a idiot. This isnt' X Windows, this is just the X SERVER. It's one part.
What I'd worry about more is X.org and Linux getting to cozy and unintentially making it more difficult to run on other Unix-like OSes.
X.org has a open invitation for all Unix developers and it would be great if they would get more of their input. (Especially the BSD's)
The future looks good. X.org would like to strip away the dual nature of X's drivers (Mesa/Dri OpenGL drivers + XFree86-type 2D drivers) and get the X server running on pure OpenGL!
That means instead of having to write 2 versions of drivers for video cards, now they only have to worry about the OpenGL version. This means it's easier to get good drivers for Linux and other Unix-like OSes that use X.org servers, and quicker too.
Also the Cairo project is going to be integrated bringing in Vector-based Windows and graphics libraries into X windows and allowing them to also be OpenGL accelerated.
The MS Longhorn waiters, eat your heart out. This is going to be some cool stuff we will have in the next couple years.
Of course OS X is openGL, too, but the cool thing about X windows is the flexibility. All these changes will keep complete backwards compatability with older programs (X clients actually in X terminology), while removing bloat for features that nobody uses/completely obsolete and streamlining developement thru modularlization and extensions.
Stuff like Damage is reducing the X networking load considurably too, making wide spread use of X terminals in businesses and schools more and more fesable.
And all sorts of other improvements are coming.
Changing over to X.org seems to have been a fortuninate move.
x talks to your video hardware, hopefully through kernel drivers.
kde and knome are layers on top of x. i'm sure you realize that.
x tells the video card to draw stuff on the screen.
kde and knome tell x what that stuff should look like. kde and knome wrap windows with decorations. (title bars, etc).
if a user wants to be able to resize their desktop on the fly (go from 1024x768 to 800x600 resolution perhaps), the functionality has to be available in X, then also able to be controled by the window manager.
likewise, if you want window drop shadows, X has to be able to support that and you can just enable it in your window manager of choice.
this is not at all about slicing an elephant up to stuff into an automobile (where did that come from?) it's about providing kool features that everyone can enjoy and not have to duplicate all over the place. it's about letting the xerver talk to the harware capabilities that are in most semi-modern hardware these days.
finally, stop fearing the advancements of the X server. they're long over due and there's a lot of folks out here that welcome the advancements with open arms!
Not to mention the fact that there is more to the process than translating an app's user interface.
:D
* the 127 symbols of ASCII are, surprisingly enough, not sufficient to display non-english languages (and even with ASCII I can't type my country's courrency symbol (£))
* text is not always written left-to-right; many languages also have extremley complicated rules for compositing glyphs; for example, I believe Arabic characters have all sorts of weird rules about whether (and where) a horizontal line is drawn.
Run kcontrol --reverse some time for a trippy but pointed example of what this is like, BTW
I don't know if you missed something in the interview but the nvida drivers definitely work with the new xorg and the extension. (I'm using them right now).
Also if you take a look at the xorg mailinglist you'll find that the guys at nvidia are working happily with the xorg devs.
To what I've read in their mailling list, they can use the binary nvidia driver right now. There's some issues, but not directly related to the nvidia driver.
sign(c14n(envelop(this)), x509)
Slightly more information: Install cygwin, I usually install the default install, minus emacs, plus the whole X11 directory (then turning off some emacs stuff in there), and explicitly turning on a few things if they aren't already like ssh, ncftp, and whatever else. That part is up to you.
Once it's installed, I make a shortcut for the X server that runs "C:\cygwin\usr\X11R6\bin\run.exe XWin -multiwindow -clipboard -unixkill -nowinkill" and bingo, I have X. There's also another flag you'll need if you want your X desktop to span multiple monitors, but I only have one hooked up right now so it's a non-issue.
You can also turn off -multiwindow and run -rootless (I think) and then use a window mangler to manage your assorted X clients. If for some reason you want X clients and Windows apps to look even less alike, this is how you accomplish that.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Compositing is not all about transparency you know. Being able to do things like offload drawing onto the powerful graphics cpu's present in most new computers these days is the most obvious beneft. There is also a nice benefit to the multi-desktop pagers and desktop preview widgets out there, since it's a lot less work to capture and resize image windows. For users without a lot of screen real-estate, switching techniques such as Apple's Expose can in many cases give a user a real benefit. Most of these things would be slow or impossible to do without good compositing. Every time I drag my kterm across a thunderbird window, I feel the pain of X (Nvidia's drivers do not help much either)
The transparency (aka the composition extension) while will make it in, it will be unstable and will be turned off by default
Please try to at least get a little bit of information before starting a rant.
The folks at freedesktop.org are in the middle of a whole redesign of X. For example, this is probably going to be the last monolithic release of X, they are working on a replacement for xlib (xcb), there is a lot of discussion about putting certain function that are now provided by X into the kernel (RTFI for more information).
Does that count as a major redesign?
As I understand it, you're right on the first part. XFree86 did fork X.org's work. The part that you're wrong on is that X.org didn't use XFree86's code. XFree86 was a fork specifically designed for the x86 platform. X.org didn't have that, and thus had to patch their codebase from XFree86's codebase.
Clear as mud?
Javascript + Nintendo DSi = DSiCade
"Internationalisation" is spelled exactly like so... In all english-speaking countries except the US.
Things like translucent error dialogs (see Jef Raskin's book), Expose, any oddly shaped app that you want to see the background through the gaps in (like the Dock).
It isn't just the ability to draw translucent windows. By rendering to an offscreen buffer and then compositing on the screen, you can do all sorts of transformations and effects that make the desktop easier to use. Apple's Expose effect is probably the best example.
Printing to the screen versus printing to paper?
Why distinguish? An application should be able to use the same commands to draw on screen as to a printer, which is just a different display device.
No, you are correct.
:)
Most users new to Linux will be using Gnome and KDE. Most of the programs that they will run into (those which don't do everything themselves, poorly, such as games) are written for GTK+ and Qt. A user's first impression of either desktop environment would be improved tremendously if the default themes for each environemnt didn't look like complete ass.
Fortunatly, the default theme for Gnome 2.8 will be Indubstrial, which is based off the very smooth Industrial theme.
Likewise, the next version of KDE (perhaps 3.3 already?) uses Plastik instead of the godawful Keramic theme.
Now all we need is for freedesktop.org to finish their cunning gtk engine that uses qt to draw everything--thereby unifying the look (if not the functionalty, behaviour, feel) of both desktops.
Although personally I want the opposite effect: to make the few qt/KDE apps I run look like they use Industrial, not switch my entire desktop over to Plastik.
Yes and no. ;-D
You need a composition manager to see the eye candy. Currently there is only xcompmgr, the example composition manager from freedesktop.org. And they also provide transset a program to make windows transparent once xcompmgr is running.
Now all these things are of course not integrated into the WMs and DEs, so currently if for example you run xcompmgr -c (this option gives you the nice shadows) with gnome or kde everything will have a shadow and there is no way to exclude certain things from it.
So in this respect, yes the window managers and apps will have to be rebuilt to fully take advantage of the technology. But afaik they are allready working on a composition manager for metacity (the gnome wm) and there has also been some work done for kde.
So the technology for the eye candy is finally here, you can already have a very nice impression of what this technology is capable of but there is of course still work to be done.
The X.Org monolithic X is just the XFree86 one from a microsecond before the license change.
More or less nothing has changed in XFree86 since the license change.
Watch this Heartland Institute video
It would be very sad if changes in the X protocol or Xlib would make "new" clients unavailable on other X-window platforms and/or would no longer be network transparent.
In this cases it would no longer be possible to remotely work on a UNIX/linux server with windows X-emulators (such as exceed), nor would the typical linux open source app be able to run on other UNIX variants. Which would be very bad for UNIX as a whole and thus also for Linux which is a part of that world.
That's not an X issue.
I think Owen Taylor is planning to implement this in Pango. It's all but trivial.
No you're wrong, it's allready there.
Just use TWM, it is about as visually appealing as Win2000 and just as Win2000 it doesn't have virtual desktops.
Ehm... clipboardhandling already is part of X. It's called the "selection mechanism".
p ec
In fact, there is a standard. People used to misunderstand it but now it's documented clearly. http://www.freedesktop.org/Standards/clipboards-s
The X selection mechanism supports contents negotiation, which means that you can copy rich text and images from Mozilla and paste it in OpenOffice with the same markup. In fact, it already can. I tried it - it works. Even images are preserved. Try copying some tables in Gnumeric and paste them in Mozilla Composer. It works - the tables are preserved!
The X selection mechanism is actually technically almost the same as MS Windows's.
Unfortunately not all apps use content negotiation, I don't know why. Gimp is the worst example - it doesn't use the X selection mechanism *at all*, not even on Windows! It uses it's own internal clipboard. So you can copy & paste inside Gimp but not between multiple Gimp processes.
Geez why do I have to post this this over and over? Isn't it about time everybody on Slashdot knows about this?
Are you talking about the 16-bit numbers used in some of the interface?
For window dimensions this is not likely to ever be a problem.
However it is a big problem for graphics. In effect the only way to reliably draw an arbitrary graphic is to do intersection testing and clipping in memory against +/-32767 planes before sending the lines. This is very difficult and expensive (and silly since X has to then do further clipping aganst the actual window area anyway). So most programs don't do this, resulting in graphics screwups when you zoom in or scroll your graphic sufficiently. Win32 also has the exact same problem, incidentally.
The solution appears to be that the entire X drawing code is being replaced with Cairo or OpenGL, or something like it, which accepts floating-point coordinates. The old code will remain only for back-compatability and will probably never be fixed, but it does not really matter.
Cairo. DBUS. HAL. the .desktop standards.
.desktop format, none of them are fd.o standards, and even the .desktop format is still a "draft". Havoc's unilateral pronouncements that something is a "standard" means nothing more than he wishes it was. Most of the real de facto standards (like .desktop) were created by the "little guys" of KDE and GNOME working together without the benefit of Havoc's blessings.
Excepting the
In all Open Source projects, the people who get things done and the people who strut about crowing are two separate groups with very little intersection. Freedesktop.org is no different.
Don't blame me, I didn't vote for either of them!