The State of X.Org
An anonymous reader writes "Phoronix has up an article looking at the release of X Server 1.4.1. This maintenance release for X.Org, which the open-source operating systems depend upon for living in a graphically rich world, comes more than 200 days late and it doesn't even clear the BugZilla release blocker bug. A further indication of problems is that the next major release of X.Org was scheduled to be released in February... then May... and now it's missing with no sign of when a release will occur. There are still more than three dozen outstanding bugs. Also, the forthcoming release (X.Org 7.4) will ship with a slimmer set of features than what was initially planned."
Is there anything else out there? Why is there such a lack of interest in X.org, when so many other projects depend on it. Most of the big projects have been moving quite quickly, making a lot of headway in the past couple of years. What's holding x.org back?
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
selfness show up on large scale. Jumped Linux ship two years ago in favor of MacOS X, never looking back, starting to get job done, instead of another OS/DE fight won.
While I was long-time subscriber to xorg-devel and other related MLs, every holy war fought there was nailing X coffin slowly but surely. Do they still sing "network transparency out of the box" mantra every time someone suggests changing architecture ?
It's Open Source -- unlike proprietary software, we're not at the mercy of a company to dictate the release schedule or fix bugs if they get around to it. If bugs aren't fixed, it's because we failed to fix them.
Do you even lift?
These aren't the 'roids you're looking for.
From the article:
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
From the article:
I've been using Ubuntu for 4 years now and it's pretty much shielded me from any lack of quality in the releases. Probably if I spent more (unnecessary) time under the hood it would expose issues but I've been living in a very blind 'trust Ubuntu' atmosphere where things pretty much just work (ok, lets not mention the recent key generation problem :)
In short, I guess the only people that might find the quality lacking are the developers and maintainers, and anyone specifically in the graphics industry? Not your average desktop user..? Or am I being naive?
Free Playstation 3, Wii and XBox 360The problem with slashdot is that most of its users were bullied and stuffed into lockers as kids!
Oh, wait.
SJW: Someone who has run out of real oppression, and has to fake it.
I don't know whats stopping them from fixing the bugs in it.
The salient question would be: What's stopping us from fixing the bugs in it.
People aren't going to work on X because a lot of developers want to make new stuff, not fix up someone's old junk. So, the only way to get them to do it is to pay them. There's not enough money for that. Bounties are nice and all, but you really need to have a foundation with big money coming in to get the people to actually work on this stuff.
This is my sig.
Xwindows is one of those nice things that just work. With such dependabilty it is all that important the we get our instant gratification with superficial features like transparent windows? The X.org group made great strides after the fork from XFree86. Can we really expect them to keep that pace?
UNIX/Linux Consulting
X.org is an open project. It's as good as its developers. The fact that millions of people's daily computing depends on it, but developers don't fix bugs very much, is the fault of the community.
"X.org" is you. Lift a finger to help sometime. That gives you the right to complain when you don't like it. Otherwise, you're just a mouthy freeloader.
--
make install -not war
Clearly X.org is being held up because it is the new game engine for "Duke Nukem Forever"....
"Sic Semper Path of Least Resistance"
Aside from Keith Packard and Dave Airlie, and maybe one or two others, how many paid full-time X developers are there? Watching the mailing list, it seems like there's a couple of volunteers, some people who submit the occasional patch but otherwise work on Qt, or GNOME or whatever, and then the core listed above. I think there just isn't enough manpower right now and the distros, instead of fixing that problem, just maintain their own patchsets and do a "good enough" job to make X work smoothly for their releases, and leave it at that. Clearly, nobody wants to make X a priority and it shows. The Wiki is almost never up to date, it's nigh on impossible to build a working X system from git, even with the couple of half-arsed build scripts available from the mailing list (for my part, I have never been able to get it to build completely, and not for lack of trying or ability). The mailing list is full of academic arguments over color specs and other pointless things, or people asking for help. There used to be a lot of discussion on how to improve X and also, how to get things done. That no longer happens. What the distros and Linux companies need to do is get more people working directly on X and get serious about making X a serious project. It's not just some option piece of software that nobody has to care about. It's only one of the most important aspects of desktop Linux. And it just makes no sense to me that no distros are really spearheading X development. If they don't take the time to make this an issue, X will continue to atrophy, further limiting Linux's potential in the market.
Mostly the time we spend posting on Slashdot.
If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.
Pfff !...
Those pesky open-source project. Always speaking about their wonderful communist idea, but never able to ship software on schedule, always dropping features or postponing them to the next release. Never working hard enough to meet their users' expectations.
They should take example on legitimate hard-working commercial corporations like.. uh... Microsoft for exa...
No, wait !
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
Well, excuuuse me! Blame the community. I would blame the code instead. I happen to be one of those few people who actually wanted to contribute something. Specifically, there was this bug where the server would crash after a VT switch, so I thought I'd take a look. Have you seen the X.Org tree? It's not just huge. It's unreadable. I honestly didn't even know where to start. Documentation was minimal. If you wanted to trace one of your Xlib calls, you wouldn't be able to. There are modules, but they don't seem to have any clear purpose. There are libraries that are wrappers around something which is a wrapper around something else. Try and find the real code! I dare you! Even just building the damn thing is a major ordeal. With the current XOrg tree from git, I can't do it at all. Yes, that's right: I can't even compile it, and that ought to be the simplest thing you can do with a project. You want to know why I'm not helping the XOrg project? Because it's a pile of steaming crap, that's why, and I have better things to do with my time than trying to build a windowed skyscraper out of it.
Could someone please tell me, clearly, what the problem is?
OK, X.org has not made a release. OK. Lets see, there are a few bugs, OK, what software doesn't have bugs? Are they show stoppers?
We can't use Apple for an example as they control the hardware. So, we are forced to use Microsoft as an example.
Lets look at Vista. Is the graphical rendering system of Vista any more robust than Xorg? I think not. Will that same system in Vista run on as variable a set of hardware? No, Microsoft has removed compatibility for a lot of drivers.
Xorg works and works quite well. Is it perfect? no. Is it more reliable than Windows' graphical engine? yes. Is it more flexible than Vista's graphical interface? Yes.
The only thing missing, quite frankly, is a small amount of eye candy and acceleration for games.
Sorry, I'm having a hard time mustering up any real concern.
Comment removed based on user account deletion
Martin
Perhaps X should be replaced, not improved.
Three main trends got X to where it is.
1) Proprietary hardware. NVidia and ATI didn't release specs. That resulted in what little dev talent there was being used to do reverse engineering. ATI has gone a long ways towards fixing this.
2) Insistence on cross platform support. Cross platform support means no device drivers - everything in user space. There are all kinds of security issues with everything in user space. This also mean no integration with the underlying kernel. OOPS isn't visible, VT interaction, mode setting, no intergration with framebuffer, etc. Insistence on cross platform means that one OS can prevent progress from occurring on the others. There seems to be some movement on this issue.
3) Failure to endorse OpenGL-ES as the core driver system. The embedded world went OpenGL-ES and ignores X (N810 is an exception). There is money in the embedded world and not in the desktop. The money went to OpenGL-ES.
From a developer's point of view the architecture of X has not evolved in a way where a developer can work on one chunk of the code without having comprehensive knowledge of the entire system. Requiring that level of knowledge really reduces the number of potential developers. Finally there is a giant amount of NIH that goes on.
and get actual work done fast!
Network transparency is *the* feature of X. And what stops you - Macs come with an X Server as well.
But then: only X applications can grind my MacPro to a halt. Maybe you can't get network transparency and performance at the same time.
Martin
"Hannibal's plans never work right. They just work." Amy/A-Team
That maybe true, but not the number of monkeys...
I think we should take the same approach to streamlining the code base as we have taken with rewriting the entire works of Shakespeare...lets just get 1 million monkeys and let them have at it. We'll just snapshot their work every hour and try to compile it. If it compiles, then just do a blind commit.
Eventually, you'd have a perfect software release that fixes all bugs, and even adds in new features that users haven't even thought of yet!
When I have a kid, I want to put him in one of those strollers for twins and then run around the mall looking frantic.
It cannot be fixed unless they get rid of the seperate window manager process. Programs should draw their own windows including the border.
The problem is that it is politically incorrect. People will scream that the users will be "confused" by the different window borders, despite the fact that they obviously aren't when Windows, OSX, and even Linux programs such as music players, bypass it. And you can clearly see that those windows run faster.
It would be partially-patchable if the window manager sent some kind of event to the program that said "resize the window to this" and relied on the program doing it so the internal graphics could be synchronized with the resize. The problem is that the border would now blink instead of the interior. Certainly I have suggested this for years and never seen any kind of positive response. I now think any such halfway measure is a waste of time, we should scrap window managers.
How many people on here have the capacity to actually make a useful contribution to X.org? Leave aside the organizational complaints about delays in getting patches accepted or commit bits set.
Your "provocative" posts are probably counterproductive if your intent is to get X.org some more community contribution. Legitimate complaints met with 'fix it yourself' are what push people to OSX.
Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
Smelly yuppies?
NeXTStep is based on the same BSD Unix that Free/Open/NetBSD was created from. And Mac OS X is being added to by people who started off as FreeBSD hackers. So reports of *BSD's demise are highly exaggerated. Mac market share has been on the rise, while Windows market share, particularly Windows Vista market share, has been on the outs.
Add to this the rise of less expensive Linux-based desktops and particularly "Net-tops," and the OS picture has never been more competitive since the early 1980s.
Knowledge is power. Knowledge shared is power multiplied.
Unless you are going with a very "loose" definition of bribe wherein it is offered as an incentive for a desired action/behavior (e.g. telling your kids they'll get a new toy if they up their grades), bribery is generally defined as offering an item of value/desire in order to obtain an illegal/immoral advantage.
Nothing illegal is being done here. I'd also say that - unless you're adverse in general to being paid for your work - nothing immoral is being done either.
Aside from my regular job, I fix computers. For friends and family, I often do it for free. For others, I may or may not do it unless my workload and the offerings make it worth my while. It's not a bribe, it's recognition that the service has a value.
"Your "provocative" posts are probably counterproductive if your intent is to get X.org some more community contribution. Legitimate complaints met with 'fix it yourself' are what push people to OSX."
Then how else do you want to solve the problem? *Someone* has to do the work.
On Windows, when an app hangs, you can't move the freakin' hung window out of the way, because the window manager is the hung app. So they come up with a stupid button which minimizes windows, and due to the way modal dialogs work, the application pops back up in it's hung state when you click on another application. I'll take the separate window manager, thankyouverymuch.
I can explanate how to administrate your network. You must configurate and segmentate it, so it can computate.
I'm constantly amazed by people trumpeting the same old line about how network transparency support makes X slow. It stopped being true before some of them were old enough to read and write.
Even if all traffic is forced though loopback TCP/IP by setting DISPLAY to '127.0.0.1:0' (or similar) it still performs quite fine. The network transparency isn't the slowdown.
The slowdown is the toolkits and apps, which miserably fail to consider the influence of network latencies. They issue requests and wait for them to finish before going on to something else. They issue lots of unnecessary requests, do things in inefficient ways, and love lobbing pixels around when higher level drawing instructions would do. Let's not even talk about the themes and styles used by current toolkits and apps (I just got a ~30x speedup out of thunderbird on LTSP by changing the theme!).
*argh*
There are apparently two barriers to entry for potential X.org contributors: the core team is small and overloaded, so casual contributions aren't handled smoothly or quickly; and the codebase is huge, idiosyncratically organized, and covers a wide range of areas of technical expertise, which requires a developer to be very skilled, widely experienced, and tolerant of a long, steep learning curve. Both factors shut out the sort of casual contributions that lead to deeper involvement.
It's a fair point to respond to a lot of whining with "get involved and make a difference", but failing to recognize high barriers to entry on the project means those who take the idea seriously never follow through, and the rejoinder looks like a cynical deflection of user concerns.
Successful OSS projects find a good middle ground between the importance of the software, the skill and requirements of the core team, and interaction with the community that results in progress. X.org is far from that middleground.
Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
(sorry for the extra reply)
The key word is "native". Xdarwin and X11 are not natively supported on Mac OS X. They're supported through a rather poorly supported compat layer that Apple would prefer to forget about. Apple wants native apps that only run on the Mac, not portable apps that run on any UNIX-like OS, so it's not in their interests to make X work smoothly and quickly on Macs.
There's not really any reason why the Xdarwin wm couldn't present X apps on the dock (grouped by ICCCM client identifier), provide application switching for X apps, and otherwise integrate them a bit better. Cygwin's X server and WM can do it on *windows*, and they don't control the platform. Apple, however, doesn't want this to happen.
That's part of why your X is slow.
The other part is that X11 toolkits like gtk are not written with remote X in mind. They do lots of unnecessary synchronous operations, repeat things a lot, use pixel-based drawing where they could use higher level operations, etc etc etc. The themes and styles they use only make this worse. All the unnecessary waiting, the round trip delays, and the unnecessary streaming of pixel data cause a major performance hit.
You'll probably notice that Qt applications are faster over remote X11. The Qt toolkit tends to handle remote X more efficiently, and with a good app it really shows the difference. Put kmail beside thunderbird and you'll see what I mean.
I do agree that the problems need addressing. One of them will not be addressed, because Apple does not want the same things you want. The other is SLOOOOOWLY being addressed by toolkit developers, though it seems like for every fix two more detrimental changes get included.
>>Perhaps if someone were being paid to develop it this wouldn't have happened.
Yes, you are right, if someone had been paying, X.org would not exist.
Because X.org DOES exist and it's far more encompassing of varied hardware than any commercial project, we can conclude that it is NOT the work of one commercial entity. It's a cinch no one company could have pulled it off, it is something that could only (and did only) come into existence the way it did.
Thanks for making that point.
I don't know the meaning of the word 'don't' - J
Might this not provide the opportunity for a complete re-implementation of the windowing framework used for Linux and UNIX systems?
Granted, replacing something that's been in use for 40 years will be a little difficult, but it seems to me that we could do, roughly, what Apple did with OS X: provide X as a supplement to run "legacy" XWindow apps.
I'm not intimately familiar with the internals of X or the window managers, but I'd think that, while it'd be difficult, it'd certainly be possible and probably easier for the various TK developers to interface with a new system, written from scratch and designed with modern concepts, as it would be to "fix" the fundamental shortcomings in X. This way there could be a transitionary period where apps could simply be rebuilt for the new architecture.
(Maybe I'm simplifying things a wee bit through lack of knowledge, but this seems at least tenable to me given the number of people who are interested in working on X, but are held back by the antiquated architecture and design inherent in X.)
Likewise, it would be possible to retain some degree of "remote X" type functionality by implementing something technologically similar to MS's RDP.
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
There's a lot of software out there that doesn't work with the Qt library directly--but I don't know enough about programming to know if that will matter. However, Qt is owned by Trolltech, and Trolltech is in the process of being acquired by Nokia. With Qt's currently using the GPL, Nokia may (or may not) continue to use that license for future versions.
If you haven't been down-modded lately, you aren't trying.
Sacred cows make the best hamburger.
Comment removed based on user account deletion
MPX.
http://rocknerd.co.uk
Two problems with this.
1) As another poster said, remote displays are still in common use. I use ssh with X forwarding every day at work so I can have my desktop on one machine while running apps on other machines. It's a lot easier to do this than messing around with multiple VNC windows. You simply can't do this without X.
2) Qt still needs some type of display device drivers to interface to hardware. Presumably, those smart devices had streamlined display drivers linking Qt directly to the display hardware, but that's a lot easier to do on a small device with only one possible hardware configuration. In addition to all the display abstraction stuff, X is also a framework for display drivers. Even if you dump X, you'll still have to fork off all the display drivers it comes with, and come up with a new framework to deal with these and interface them to the kernel and apps.
Personally, I think there's definitely some stuff in X which just isn't needed any more, such as the print server. But those things aren't central parts of X anyway, and are already easily omitted.
"but do you keep sailing a sinking ship, or try to build a new one?"
But, the submarine community does BOTH...
Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
I've never delved into the code in X, but I suspect that X... oh who am i kidding, I've never looked into the code, I have no idea how that shit works, in fact it would be rather stupid to continue writing when I have absolutely no idea what I'm talking about.
IranAir Flight 655 never forget!
I remember using Xfree86 and typing xf86Config in FreeBSD and Linux only a few years ago.
How about a new implementation of x11 written from scratch? Xorg was useful at first with things like the abandonment of imake and true type fonts.
I believe someone had written a new x11 protocal stack in java which I found interesting.
If the code is from the 80's and is unmaintainable then a rewrite is necessary. Perhaps one without legacy macros and algorithms optimized for obsolete hardware like Vesa bus drivers?
http://saveie6.com/
If Nokia stops publishing Qt under the GPL, the last GPL'd version automatically gets a nice BSD license slapped on it: http://www.kde.org/whatiskde/kdefreeqtfoundation.php
Luke-Jr
First, let me say I'm far away from this stuff right now. Use Linux where I can, still have my SGI up and running, and it has a SWEET X server...
In this day of virtualization and single user computing, I feel we've missed out on something special by not doing a better job with X.
A Mac, running MacOS and a PC, running winx, is essentially single user computing. Sure, there is terminal server, citrix and other similar things to get more than one user on the box, doing stuff. Really those are hacks though. Hacks we work our asses off trying to improve because we've ignored the hard work done on X.
Like a good Unix is a multi-user environment, so is X. With X, we can have one user using multiple input devices across any number of screens. That user can be connected to any number of machines, running any number of applications, each sending their display data over the wire to where the user actually is! The display is built on the local box, because that's where all the power is too.
Also, one can have the various parts of X running where they make sense. Put your window manager on one box (I like the SGI one still, so I'll run it, just for fun), X server on another, application on another, fonts on yet another still. Damn cool, if somewhat academic.
With X, we don't have to do client server. We can do just application server, and let the user interact with trusted data through the trusted application, never actually seeing the real stuff and only having the level of control we choose to export to the user, through the application. Taken a look at the kludges winx people have to go through to get that done? It's madness, yet that is exactly what they do because they really have no choice in the matter.
Heck, they really don't have simlinks and suid yet. These two things, combined with X, make for some very robust computing options that have very serious advantages on the administration side of things. One copy of some nasty big software, each users settings and environment in their user directory (where it should be, not some global cluster fuck registry), and one admin that handles all of it nicely, from wherever they happen to be.
X is just great. The idea of it is great, the power it holds is great, the utility of it is great, even if it's kind of hard to get your mind wrapped around it. It's still great.
So, what's the deal then?
The deal is mindshare, plain and simple. We have whole generations now that don't actually grok what multi-user computing is all about. They think it's shared resources, or the occasional service running on a box, or remote desktop, or some other largely single user thing.
That's the problem with X.
For those of us, lucky enough to be exposed to multiple computing environments, and who have had those environments be running software that actually knows what X is, why it is, and presents accordingly, we know the score and gladly deal with X to get at the power and leverage that for good results.
The rest simply have no idea. Enter in the applications. Damn near everything that matters is a single user affair. It's gotta be installed on the local machine, talk to another machine maybe, requires administrator permission, root, whatever, and it's just the way it is. We've got software to push software around, software to manage software, software to manage profiles or god forbid a user logs into a different box and all hell breaks loose.
Microsoft Office is a single user deal. CAD, but for those few packages that run on a Unix, is a single user deal. You name it, the most popular stuff is a single user deal.
I got the chance to run a recent build of a CAD system that still knows what X is. Guess what the developers did? They forgot about how to actually write to X, so that X can do what it is supposed to do. Some of those bad mistakes have been mentioned here, and it's all true. Those applications run like shit over the wire because they are not written in such a way as to r
Blogging because I can...
I too moved from Linux & Windows Desktops to Mac OS X some years ago. Now while I love working with OS X, you know what I miss the most? Being able to ssh into one of my Macs and fire up a single application I want to work on while directing the display for that app back to my desktop.
Instead I have to do a full remote desktop login to the box hosting the app I want, just like in the Windows world. It's a waste of time, resources and network bandwidth. And compared to displaying single app as X does, it's slow.
If anything, Quartz needs to take a leaf out of X's book, not the other way round.
I don't know about Mac, but, I wouldn't be surprised if the display management code for Windows was at least as quirky that of X.Org.
Basically, developing window managers is hard. Any sort of clean display manager implementation will be severely hampered by the fact that it'll completely break backwards compatibility for almost every application. Even Windows has this problem; look at the incompatibilities and window drawing quirks present in XP and Vista.
Apple got around the issue by saying, "We don't care about backwards compatibility," and providing a virtual machine for those who really needed the older OS to make their apps run.
We all know what to do, but we don't know how to get re-elected once we have done it