Y Window System Project Started
cuppm writes "Y, Mark Thomas's final year project for his masters degree, is back in active development (outlined here). Here is the email I received: '...Y development is about to start up again. If you are interested in participating, the website is at: http://www.y-windows.org/. There are links to mailing lists there, and you can download the latest development snapshot, which should compile this time :o). I apologise if I did not respond to your email personally. I was on holiday in Japan when the story broke, and by the time I got back I had over 80 emails about the subject, many of them in depth. If you had specific points that you'd like to raise, I suggest re-raising them on the y-devel mailing list.' So for all those who think it's time for a X replacement, here's your shot. And for those X lovers, use Y's extensibility to make it X compatible." See our previous story for more background.
Sounds like a good reason to switch to Y Windows!
The Y-windows site was Slashdotted 30 seconds after it was posted! A new record! Go Team!
And for those X lovers, use Y's extensibility to make it X compatible.
So basically it's "Y-XFree86", right? There might be prior art here, I've heard people say that for years.
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
Um... Women don't have a Y chromosome.
If it had been called "Y Don't You Do The Dishes, Bitch" then we might be laughing with you, and not at.
HTH -- ~Darl
I think the renewed interest in Y-Windows may be doe to the licensing concerns about X's new license not being GPL compatible.
3... 2... 1... Trademark infringement lawsuit from The Open Group!
Quickly followed by a name change to "Y-windash".
These sigs are more interesting tha
I was reading an old book on X Windows the other day and the naming came something like this:
Stanford had an operating system called V where they developed a windowing environment called W. MIT needed such a windowing environment for the Athena project and borrowed the W system from Stanford. They made so many improvements over time that it no longer resembled the W system so they named it the X Windows system. Over time 11 versions were developed as more and more Unix companies got interested. But by then MIT had its needs met so an X Consortium was formed that developed the X11 system from revision 1 to 6 reaching the X11R6 release that we have now.
Wake me up when we get to Z-windows...
Thank God. Finally, someone has decided to quit bitching about X Window and finally implement a system of their own.
For any programmers out there that are even remotely interested in getting Linux On The Desktop, consider this a call. A super-awesome rock solid kernel cannot be the end-all be-all for Linux. We need to have a good windowing system, one that's faster and more reliable than the competition. From what I know, X Window could use a great amount of improvement in those areas. This is your chance to make things better, and Get It Right The First Time.
--Stephen
Did you ever notice that *nix doesn't even cover Linux?
Try reading for once, GPL version 3 is supposed to take into account the incompatiblities with the new Apache License, and xfree86 4.4 new license. Then again it isn't out yet either.
i thought once I was found, but it was only a dream.
Three points:
a)it looks like the only reason development started again was because of all the Xfree86 licensing hubbub(which isn't going to be around much longer, because Xfree86 will most likely cave). If the project did not have the merits to succeed before, I do not see how things have changed in such a way that it will be successful long-term, and this was a blatant "look at me" attempt. Y was dead, FreeDesktop was humming along quietly.
b)Most of the "I'm going to replace Xwindows" projects are doing so because its supposedly "slow" and "bloated", and we see a large number of posts in every Xwindows-related story on slashdot claiming the same thing. Most of them are wrong.
c)We already have an interesting, viable alternative(FreeDesktop)...and it's got heavy involvement with the major developers of Gnome and KDE, the two most popular desktop systems. Everyone is playing Chicken with Xfree86, while hedging their bet(and strengthening their position with Xfree86) by starting work with FreeDesktop. Y is nowhere to be seen in all of this, especially if it's only got one guy- versus a whole group of some of the best Linux programmers around.
Please help metamoderate.
Taken from their site:
About Y
I've got tired with the state of desktop GNU/Linux. Most of the problems that I see with it can be traced back to the underlying window system, X. So I decided to write its successor...
Y was my final year project for my masters degree at the Department of Computing, Imperial College, London. I set out to design and begin the implementation of a modern windowing system. The Y design has the following features:
Network Transparency
Contrary to popular belief, supporting network transparency does not reduce the speed of the window system on local hosts. Further, with Y's in-server knowledge of widgets, applications run over a slow network can appear almost as responsive as local applications (especially when compared to an X application).
Modularity (plug-in style: dynamically unloadable and reloadable)
Unload an old video driver, load a new version. On the fly. No restart in sight.
In-server implementation of widgets
Y specifies a core set of widget classes. Objects of these classes are stored in the server, where they are closer to the user and thus more responsive from the user's point of view.
Consistency and Themeability
Y widgets use the currently loaded theme to render themselves. Since all server widgets are using the same theme, all widgets appear consistent throughout the desktop. Client applications can also use the theme's drawing operations, allowing specialised widgets to make themselves fit in with the look-and-feel.
Support for hardware acceleration
The Y design can make use of hardware acceleration to speed up rendering operations. This can even include the use of 3D-accelerators' textures to draw windows with (someone has already implemented a prototype of this which is very smooth).
Better internationalisation, localisation, and accessiblity
In-server widgets means there can be exactly one current language, one complex input method system for languages that require them, and one set of accessibility features.
Some more information can be found in my individual project report. If you have any more questions, ask them on the appropriate mailing list.
The current implementation is, however, very basic. It needs a lot more work before it will be usable on a day-to-day basis.
For the folks asking "What's wrong with X?", I suggest you seek out the X windows chapter of that seminal work on the subject, "The Unix Haters Handbook" by Simson Garfinkel, et al.
Me? I take a cue or two from the output of 'xdpyinfo'. When something requires more than 20 different extensions to fit in the modern world, it's perhaps time for a re-think.
But if Y is going to work, the some level of backwards compatibility might be reasonably expected. Personally, I would suggest library level shimming rather than protocol level (that is, Y windows should come with a libX11 that implements the X API but talks to a Y server).
I'm a little surprised, in fact, that Apple didn't do such a thing for OS X. Rather than toss in an X server, they could have supplied a libX11 that simply implemented all of the calls in DPDF. One less bell to answer, one less egg to fry.
An X server is still nice for remote display situations, but honestly: Who does that anymore (and could they not be accomodated with VNC)?
Fantastic. New users find the selection of different toolkits for X confusing and inconsistent both in appearance and behaviour. One standard toolkit will help with newbie usability greatly - though whether it will stand the test of time remains to be seen. Windows seems to be doing just fine with it's standards though, so I rather suspect the same will apply to Y.
There is nothing like a little competition to hot things up - perhaps this will also give the languid Xfree86 project the kick up the backside it needs.
I wish the Y project the best of luck!
biopowered.co.uk - catalytically cracking triglycerides for home automotive use since 2008. Just say no to big oil!
So why is it going to succeed where these failed? :
fresco
YAX (Y Ain't X)
The Y Window System
Oh never mind. What's the point?
Stick Men
Abbot: Are you using X Windows?
Costello: No, Y
Abbot: I just want to know
Costello: Y
Abbot: Look, All I want to find out is what controls your display?
Costello:: I just told you?
Abbot: Told me what?
Costello:: No, "What" is the name of the window manager....
Abbot: I am not talking about the window manager!
From excellent karma to terible karma with a single +5 funny post...
This is all taken from the PDF file.
I for one, am all for standardizing a window system. That's not saying that we can't have competiting Window managers, but there is standard of the communication to the windows system. This is (IMO) what is holding back Linux from the desktop.
Every Super Villan uses Linux.
While we're at it, more questions:
1. How hard is it to port an application to Y? (Is Mozilla going to come any time soon?)
2. How fast is it on older machines/PDAs? Is it mostly designed for new, beefy systems? (I noticed the 3D accel stuff, but is it required?)
1. 2.
The GPL should be less like a virus-- infecting whatever code gets close to it.
It should be more like a tiger-- going out and hunting down other code to kill.
YINX (y is not xwindows)
CB
free ipod and free gmail!
I may be new here, but will someone give a quick rundown on what exactly Y windows is and how it is different or is an improvement over X windows or any other windowing system?
Simple, Y is One Better.
Just like my amplifier, which goes to 11.
I'm not normally an irrational zealous dickhead, but I figure "When in Rome..."
I would encourage students to look through the source code. To grasp and understand what goes on behind the scenes for a windowing system, before the project gets enormous. Besides the tar file is pretty small, maybe you can contribute while the project is in it's infancy and not intimidating.
"It takes many nails to build a crib, but one screw to fill it."
I think a lack of standardization/uniformity is what's hurting the Open Source movement. You can't get that many people together, and have them agree on -one- way to do things. Everyone is out to push their own little twist. The result is a bit chaotic to anyone looking from the outside. (And to some from the inside as well, I'm sure.)
Hate 'em as much as I do, the one thing MS has done well is ensure compatability. Obviously there's problems; but the basic principles of windows applications are near uniform. I don't think you can say the same for a lot of OSS. Chalk it up to people being sheep, if you want, but until there's one clear leading force, Linux (sadly) won't succeed on the desktop.
I for one, am all for standardizing a window system. That's not saying that we can't have competiting Window managers, but there is standard of the communication to the windows system. This is (IMO) what is holding back Linux from the desktop.
Most agreed. If this project does take hold and considerable development efforts begin, I believe this could be the answer for Linux finally taking over on the desktop/workstation market.
X's bear of UI's make unnecessary duplicate effort on both parties (ie: KDE/Gnome). While they both might be good, a lot of code functionality is duplicated between them. If this was removed and put into the window server (Y), it could drastically improve usability and turnaround times for next development releases.
I think the $75,000 question is what can we (userbase) do to help promote the development and adoption of this? I, for one, would love to join the development team and if ample time is available, I just might do so. I highly encourage other coders who have time to spare to join as well.
# fuser -v
#
A Y's guy, eh?
hit #y-windows on irc.freenode.net if you want to chat about Y.
CB
free ipod and free gmail!
Don't DRI's GEM, XEROX Star, GEOS, DesqView, NeXTStep, BellCore's MGR, Sun NeWS, MultiTOS, AmigaOS, Plan 9 rio count, and Berlin/Fresco count?
"one thing MS has done well is ensure compatability "
Should read " enforce conformity "
OSS should support a standard "default" for things -- but still allow customization. I guess some people would argue that's what RedHat is.
the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff
this is the question that is going to make or break y windows (or berlin or whatever the "next" window manager is)
if you want an example of a successful transition of a key technology look at two examples from apple. that's right, apple.
it was a lot of work to keep that backwards compatibility, but it's what made the transition work.
so. the lesson: invest a lot of time and effort into backwards compatibility. lots.
2 1337 4 u!
Skinner: Not the interrogative, but rather a windowing system with the unlikely name of "Y".
Chalmers: Well that's just great, Seymour. We've been out here six seconds and you've already managed to blow the routine.
[storms off, muttering] Sexless freak.
Escape Pod Films: Sketch Comedy and Web Series
For Y to be remotely usable for me, it would need good support for OpenGL on nVidia and ATI graphics cards...for which (annoyingly) we only have binary drivers.
So - my questions would be:
1) Can Y use GLX protocols and work with existing (binary only) OpenGL drivers?
2) There is mention that Y can use hardware accelleration on 3D hardware. My concern about this is how much of the valuable 3D resources such as texture map memory it consumes. Generally, X runs plenty fast enough without using those resources and I wouldn't want to impact my 3D capabilities in order to make the 2D windowing system run ten times faster than it really needs to run.
Certainly X needs updating - it's old and it shows it's age.
www.sjbaker.org
>X is too slow
On the contrary, I fnd it's quite fast with a good accelerated AGP card. The network transparency is a very nice feature that I use regularly.
>X places to much burden on the programmer (XLib)
No argument that raw Xlib is a bit hard to use. That's why we have things like GTK.
>X has no standard
I have no idea what this means. X IS the standard for unix-like operating systems.
>Xfree86 is over 10 years old
So am I. So is UNIX. So are most of the theories in Computer Science. Shound we throw them away? Having been enhanced and debugged for 10 years is a big plus, rather than a minus.
In summary, X is just fine. Y may eventually be better, and they're welcome to try to get it there, but these arguments haven't won me over. It's wonderful to have alternative implementations to point out the flaws in existing systems (so that they in turn improve), but to say the new system is fundamentally "better", well, that's going a few better arguments than this.
The new X license has a clause that says that you must attribute the XFree86 team (with some specific language). Essentially, the incompatibility is that the GPL doesn't require that, so you can't take code from XFree and throw it into your GPL'd program. (Similarly, they've never been able to take GPL'd code and put it into XFree86.)
I don't see the big deal, myself -- if you want to use their code, you use their license -- but if people want to get apopletic about it, they're welcome to do so.
How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
From the COPYING file:
The Y communication library and the YC++ library, being the contents of the
libY and libYc++ directories in this archive, are licensed according to the
terms of the GNU Lesser General Public License, contained in the file
COPYING.LGPL.
The yiterm program, being the contents of the clients/yiterm directory in this
archive, are licensed according to the terms of the Common Public License,
contained in the file COPYING.CPL.
The remainder of the files in this archive are, unless otherwise stated in the
file, licensed according to the terms of the GNU General Public License,
contained in the file COPYING.GPL.
(C) 2003 Mark Thomas
Scratched Emulsion
Here I sit back, reading slashdot on a pentium 166MMHX, with 80M of memory, through Galeon and the X Windows System on a OpenBSD machine.
I read the posts that say X is slow.
X is currently using about 5% - 7.5% of my processor. It jumps up to about 15% when I change windows. MPG123 consistantly uses more CPU then X. Galeon tends to use more CPU then X as well.
I read the posts that say X is bloated.
X is currently using 15MB of memory/8MB resident. Galeon is using about 16MB / 27 MB resident.
As for hard to set up, linux distros usually set up X for me. There are even several configuration utilities shipped with XFree86.
I also tend to use the network transparency of X, which is easily accomplished through ssh -X.
Don't know why you guys keep having problems, but may I suggest bloated OS installs and bloated WMs?
FVWM + XFree86 works for me!
Funny that I should read your post right after opening the Y Windows project report. The very title of the report is "Y: A Successor to the X Windows System"
If they'll replace the default cursor with a Y instead of an X.
I was at Stanford during the development of W/X, as a user of early version, but not a developer of X. It was a time of rapidly evolving technology, so some standards they guessed right, while others were kludges. The technology was the workstation, a computer small enough to put into the office (the size of half-height file cabinet) and enough power to run UNIX. PCs were way too underpowered to run UNIX and bit-mapped graphics. Apollo (absorbed into HP) was the UNIX king, but all its standards were proprietary. Sun was just a couple years old and its standards were half-open, half-proprietary- a practice they continue to this day. DEC (absorbed into HP) was willing to tolerate UNIX on its min-VAXes, but not write all the missing parts- especially window graphics. So they essentially delegated that to Stanford and MIT with hardware and R&D grants. So there was a lot of R&D then on how to do client-server computing and graphics.
The primary problem at that time was the availability of a suitable object-oriented programming language. Everyone knew that was the future of software. The UNIX crowd preferred something related to C. C++ was very unstable, while ObjectiveC, based on on SmallTalk, was good but proprietary. The fledgeling company NeXT (in the Stanford industrial park, later absorbing Apple Computer) decided on ObjectiveC. The Stanford W/X group decided to use neither of these but invent a quasi OOP extension to C in the Xt Toolkit. And XWindows has suffered ever since.
X is a single-threaded client/server application which provides windowing services and network transparency.
Since the terms 'client' and 'server' tend to be redefined every year or two by the Xfree team, nobody else really knows which is which any more. X interfaces directly with video drivers and also with the window managers.
The problems are fairly numerous and unfortunately difficult to fix:
Single-threaded X is forced to share its timeslice with every client (?) program, which leads even people like Linus to complain about GUI latencies on 4-way systems with top of the line hardware. Not so cool. Kernel 2.6 contains some hacks to kludge around this problem, but the underlying issue still hasn't (yet) been addressed. Considering Xfree's Design by Committee creed, it never will be fixed. You might say that X is rotten by design. You might more accurately state that X is 1980 technology, and wasn't meant to do the things that modern users expect as a matter of course (eg. 3D low latency, non-stuttering graphics). There isn't an elegant solution aside from ditching X entirely.
From the other end, the Xfree API is a big mess of kludges. Extensions have proven an excellent tactic to obfuscate and uglify code.
just like the humble blood clot... turboporsche@telus.net
Xfree86 is over 10 years old
And that means it shoud be scrapped? Win32 is also over 10 years old, do you think we should just scrap that too?!?
Oh, wait... point taken. I'm going to go download Y now.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
If you run 'startY' within X, Y will appear as a Window on X. This is because Y dosent use its own graphics routines, it uses SDL. Hence it will run on any hardware SDL supports. I couldn't get any applications on it to work though :(.
For the umpteenth time, the 'big deal' is that a *ton* of stuff already uses their code, at least in the form of linking to their libraries. A lot of that stuff is GPL, and so can no longer be linked with said libraries and distributed without violating either the GPL or the new XFree license. As a result, we either dump all this GPL code, or we dump XFree 4.4. XFree 4.3 still works well, and is covered by the old license, hence no dumping of GPL code. Which would you choose?
You may ask "what GPL code is so all-fire important?". Well, QT for one (and by extension all of KDE). I'm sure several key components of Gnome as well, though I dunno for sure if the new XFree and the LGPL clash. And once you've eliminated all the window managers (most are GPL), then why do you need XFree86 at all?
You hear a lot of people bitch, but mostly because they do not understand it. People tend to do that. Hell, I did that myself, before people beat some sense into me and made me actually understand the system I was bashing.
X does have some problems. The set of actual problems with X, and the set of perceived problems with X are more or less disjoint.
X is not slow. X is not a memory hog. X's feature set is not outdated. It does, however, have a very weird way of handling color, has some protocol peculiarities, and the default interface library (xlib) makes it hard to write fast apps. Most of these things can be fixed without ditching X. For example, there is an extension called XFixes which fixes certain problems with the protocol. There is a new interface library called XCB which is more "low-level" and makes it easier for toolkit authors to identify potential performance issues. Freedesktop.org's new X server will incorporate compositing and OpenGL-acceleration, to make X competitive with Longhorn, all within the existing X framework!
A deep unwavering belief is a sure sign you're missing something...
Y was designed to
a) learn something about network programming
b) implement a replacement for X11 of which Mark Thomas think that it is:
1) too slow
2) place too much burden on the programmer
3) no standard toolkit
4) reaching its software lifespan
5) too complex.
ad 1) It is correct that X11 is unusable on less than 10 Mbit connections (this could be changed, see below).
ad 2) Unless you use the raw network protocol, it does not place burdon on the programmer. It is true that everything above Xlib was ill design (especially the Xt, and athena widgets), but this crap has been replaced long before. -- The only environments that still use Xt are Motif and KDE apps. In contrast GTK and GNOME use the raw Xlib.
ad 3) It is true that the toolkit (Xt, Xaw etc) should have been implemented on the server-side. But this was not possible until now; what X11 indeed needs is a toolkit on the server-side. Of course this toolkit should be extensible, that means that it should be possible to dynamically add new widgets to the set of available widgets living in the address space of the X11 server. Moving the toolkit to the server would also reduce the network overhead thus addressing problem #1. Of course, this requires more memory on the server-side as the server must now be linked with an interpreter language such as Mono, Java, Guile.
Another drawback would be that the actual widget-communication protocol would essentially be proprietary.
Note that Y only defines a small set of widgets on the server-side and that there's no mechanism to dynamically extend this set. So the communication overhead with Y is almost the same as X11 (it may be better or worse in some areas).
4) I think it's clear that this is a nonsense argument. For example no one would seriously argument linux, as it is 10 years old now, has thus reached the end of its lifespan.
5) Yes, some functionality provided by the X11 client libraries and by certain X additions was complex. But most of this crap has already been thrown out, e.g.: Xprint, Xt, DisplayPostscript, the broken X11 I18N implementation.
What Y promises to deliver is:
1) A non-dynamically extensible object-based system on the server side implemented in raw C
2) A message passing system that is as efficient as X11's (it may be better or worse in some areas, see the Clock example which has a huge overhead).
3) Yet another toolkit implemented in C, but this time on the server-side
4) Modularity. This is indeed a strong point for the Y system (compared to XFree86). However, the new Xserver [www.freedesktop.org] attempts to address this issue, too.
5) A client library for C++. Whow. Ehm, what is wrong with Qt? Should all people throw away their work just because somebody thinks that some software has reached the end of its lifespan (whatever that may mean!)?
Anyhow, I suggest to read Mark Thomas proposal anyway. It isn't that bad; at least Y has a theoretical background; in contrast to other attempts such as picoGUI [www.picogui.org]