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!
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.
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.
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.
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.
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 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
#
Would you people please stop seeing this project as a X replacement (by which I mean that it is yet another X implementation, much like the freedesktop.org implementation)? By taking simple cursory glance at the website, I've easily determined that the relationship between X and Y is more like the relationship between *nix and Plan 9. This is an evolution of the graphical subsystem on *nix, not a replacement for X. It frees itself from the limitations of the architecture and mindset of X to take advantage of new hardware and ideas for graphical interfaces.
// file: mice.h
#include "frickin_lasers.h"
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?
It's interesting that you choose X extensions as the primary thing to bang on. It could be argued that X extensions are somewhat akin to kernel modules, but I don't see huge numbers of people clamouring for a return to the days when all your device drivers had to be built and linked specifically into the kernel rather than dynamically loaded on demand when they were needed. My Linux boxes here need 20+ kernel modules to work properly, so how do X extensions differ? Yes, some of them are pretty much bags hung on the side, but the core functionality of X is still available without, well, nearly all of them.
Oh, and plenty of people still display X applications remotely. Have you set foot in any universities recently? Plenty of sites have central UNIX hosts available for people to run stuff on and display via their PC or whatever, because not everybody can have (or indeed wants) a UNIX box on their desk.
Finally, X has one thing going for it above all else at the moment - ubiquity. You can get an X server to run on more or less everything. Pipedreams about single-handedly replacing X are fine if you assume that every machine using X is a desktop Linux box, but when you take all those old VMS machines, PCs running eXceed, Suns, HP/UX boxes, and the zillions of weird applications that would still need to work properly across a wide variety of platforms, it's definitely more than "simply replacing X". You're talking about something that's more or less on the scale of replacing TCP/IP, and I don't see many people casually announcing that they're going to do that as a final year project.
Howdy.
You make some reasonable points.
A development restart has been planned for months; the only reason it hasn't happened sooner is that we've all been settling into new jobs and simply haven't had the spare time to get this going properly until now.
X Windows *does* have issues; I think we can all agree on that. But by the same token, we're not trying to argue that X is not useful; I'm using XFree86 on my production machine right now to good effect. But we think it can be done better.
Linus was just one guy when he started work on Linux. Other people then joined in, and made Linux what it is today.
Mark, myself, and the other chaps who were in the room when the Y concept was born are doing this because we enjoy it. Whether lots of people will join in on our little project remains to be seen.
Sure, it'll be gratifying if we become popular, but that's not what we've set out to do -- write good code.
Cheers,
David
Hence XRender and the introduction of a new visual type with an alpha channel done by FreeDesktop.org, both done in a non-crufty way, yet within the confines of the existing X protocol.
DNA just wants to be free...
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.
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!
Oh, you mean kinda like a replacement?
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.
Hey - if we got KDE to work with this we could start the "free K-Y" project - tell me that wouldn't get intrest!