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.
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
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.
There's a LOT wrong with X.org right now, even mentioned in TFS. I personally wish they would put a lot more work into the transition to evdev and HAL, so we can get rid of xorg.conf and finally make strides to being as user friendly as "the other" OSes.
But network transparency? You're fighting the wrong battles here.
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.
I agree wholeheartedly. The current release of X is suitable and works well for me.
The "upgrade every year" mentality is the wrong one to have. They missed their date? Okay, that's fine. As long as they don't buckle under the "release schedule" mentality compromise quality. I may be naive, but I don't know any reason they would want to push/rush their next release.
Support the 30 Hour Work Week!!!
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.
It's not that they missed their date because they were busily fixing bugs and adding new features; they missed it because they're just not doing that much right now. There's no management, there's very little direction, and there's really not that much going on at all. That's not a good thing.
Internally, X11 running in local mode works the same way as Apple's window server - using shared memory and local sockets. Hell, even Windows Vista works this way (except using Windows IPC mechanisms instead of Unix ones).
Everyone who suggests changing the architecture of X by removing network transparency is arguing from a position of ignorance. There isn't a faster mechanism for doing a GUI server without either building the windows server into each app (allowing only one app at a time), or building the window server into the kernel (bad idea).
export DISPLAY=skarabrae:0.0
and get actual work done fast!
Network transparency is *the* feature of X.
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.
No windowing system has anything resembling widgets on the server-side. It's all done in client-side libraries, where that kind of stuff belongs. The server-exposed interface just provides the mechanisms needed for implementing widgets. That part is fine and doesn't need to change.
As for the protocol, only a few parts are actually poorly designed. Grabs need to be reworked as they can result in subtle race conditions and lock-ups. There's a lot of old cruft that nobody uses that could go away, but isn't really causing a problem by remaining in the protocol. The main historical problem was Xlib, which did a lot of stupid things with the protocol, resulting in reduced performance, especially over the network. XCB fixes that, although no toolkits have been ported to pure XCB yet (and it may be a while).
Ultimately what's going to be happening is the move towards Composite/EXA, OpenGL and DRI(2) for everything, which should negate a lot of the existing problems with X's rendering infrastructure. Again, the lack of manpower is going to prevent these projects from making much forward progress.
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.
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.