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."
It's in X state
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
Too slow release cycles of Xorg can slow down the adoption of Linux in the desktop market.
I don't know whats stopping them from fixing the bugs in it.
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.
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 ]
To a large extent it's good enough. Many remaining issues are with more obscure drivers (via, I'm looking at you) and with high-performance 3D.
There's really been plenty happening, too. Look at EXA, the composite extensions, etc. For something as fundamental as the core graphics engine it's not doing too badly.
I'll admit I'm personally hoping to see more enthusiasm for moving mode setting back into the kernel, but that's not really all that big an issue how it is.
As good as Xorg is, when will they finally get rid of all the jerkiness in the rendering? Anyone who has used a Mac has seen how smooth it can be, but when I go back to Linux running Xorg, it just seems like it has no finesse. Don't get me wrong, Xorg has plenty going for it. I'd just like to see my desktop rendered without the jerkiness.
But not low level code like Xorg. These kind of projects should focus on stability and reliability, in other words, make sure that whatever they release, is working and well tested. If that means a new feature (or bugfix?) needs more time for testing, I'm all for taking that time.
Because such core projects are used as the basis for many others, it also means that any shortcoming in it may hang around for a long time in projects that use it. The usual approach seems to be "let core projects move quickly, and have downstream projects apply their own fixes". I think that's a bad approach. Quality-wise, the lower-level you get, the more stable/reliable (boring if you will) code should be. New features & fixes should be added downstream, and then slowly make their way back upstream, similar to how changes for Debian testing make their way back to Debian stable.
A lot of the developer's time seems to be taken up with dealing with real assholes on the devel lists. "Upgrade to 7.3, it fixes everything you're complaining about". Repeat x10 as the same asshole poster asks the same question, slightly rephrased, as if he'll hit on some magic phrasing that'll make it possible to use bleeding-edge xorg features with xorg 6.9.
Really, the xorg-devel list is snowed under with inane questions and support requests that should be going through the distros.
So rather than help with the X.org that's letting you look at this post right now, you're trying to get everyone to drop it? Why don't you spend a little time actually doing something to make X.org better, even if only for your own desktop's good?
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 like everyone else, except the too few who actually do something.
--
make install -not war
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.
It's indeed in a bad state.
Adding bugs like keyboard input causing server halts (when there is a window grabbing them) and needing years to fix them. On the other hand adding all that compiz, dbus and/or hal stuff noone needs for working...
I was already wondering during the original 7.3 release phase what exactly needed development and fixing so badly in X.Org. Sure it's an underlying system that every graphical distro out there is one way or another based on. But what eactly would be the killer feature or change that everyone wants for X.Org 7.4 (or 7.5)? Right now it seems to me X.Org is pretty much working "good enough" and people seem to be out of ideas on how to do any groundbreaking work with it. No surprise at all that there's not much development interest left anymore.
I might be wrong and the X system might need a general overhaul for one reason or another. I'd be glad to be pointed the right way to see why we need a quicker development cycle for X.Org.
1. This
2. That
3. Very boring project subject matter (???)
4. Profit
But user-level applications need features in the kernel and the windowing system to do a number of modern things. We can't just have X go into maintenance mode if we want user-level applications to progress.
Furthermore, if we take your approach of having downstream do all the hip new features, we end up in distro hell. Each distribution with its own special implementations for new features, all incompatible with other distros (or nominally compatible), all requiring huge distro-specific patchsets, that have to be maintained independent of upstream. Yeah, that's been done before and it was universally agreed to be a bad idea. Most people these days would prefer that most stuff goes and stays upstream, to prevent gratuitous incompatibilities between distros and forks and such.
Said it before. WHY is there no "-1 Wrong" moderation option?
Martin
http://en.wikipedia.org/wiki/Quartz_(graphics_layer)
Comment removed based on user account deletion
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.
So, since Fedora 9 came out, I've been using the pre-release version of X.org 1.5. It's ABI stable.
We had a whole keffluffle with nvidia for graphic drivers, until they finally gave us a half assed product, like they always do.
$ rpm -qa | grep x11-server
xorg-x11-server-Xorg-1.4.99.901-29.20080415.fc9.i386
We seem to be forgetting that vista was due a couple of years ago, and it came out a bit over 1 year ago. Instead of focusing on an old version of X.Org, why not just focus on the 1.5 release? It has better functionality and it is faster. My 2cents.
Comment removed based on user account deletion
Yes I'm a Gentoo user and I have to say that the changes in the toolchain are creating lots of probs for devs all over the place. Changes in the ABI itself that mean your freshly minted code no longer compiles or if it does, subtle and unpredictable bugs are introduced. That's the entire reason the Gentoo Project has stabilized on the 4.1 toolchain. All supported apps build successfully and any problems can be traced down to either a hardware issue, useflags, patch or actual bug in the code that gets pushed upstream to the developer.
Right now, cpu's are fast nuff to handle unoptimized code and that's only part of the reason the FreeBSD team has started work on their own toolchain. Forget having the toolchain optimize things, instead they're working on getting a toolchain that builds stable and consistent C/C++ standards compliant code all the time and I wish them well because even if released under the BSD license, I suspect that many others would use it for the stability aspects just as I will even though running Linux.
Mod me up/Mod me down: I wont frown as I've no crown
Have you ever tried to contribute to X.org? Bugs with fully working patches where users and other developers say "this needs to be committed" sit opened and untouched by Daniel Stone. Then when some subproject (i.e. drivers) want to get a new person on board, it takes an average of 4 months for that person to be given commit access. (my project had opened 3 bugs, how Daniel Stone wanted to handle new accounts, and we included all the info and it took 4 months for each person to be given access). It's tough to keep developers involved with delays like that. The problem is there's only very few people in charge who are doing 0 delegation and have a lot on their plate.
One of great benefits of OSS. Anyone can contribute (but mostly nobody cares) and yet the release is behind the schedule.
If you follow xorg development, I wouldn't say that there is any problem. The main issue at the moment is that there isn't a huge amount of resource to look after the stable releases.
The head of the git tree is quite interesting and there are lots of interesting branches too. Things like DRI2 and MPX are really coming along as is kernel level mode setting.
Sure it's in a bit of glut just now, but that's just because all the developers are more interested in the future and working towards it rather than doing small incremental changes.
Personally I'm not overly worried.
Martin
I think people need to step back a bit and recall what it was like under the old regime, xfree86. A bunch of old men who didn't code anymore called themselves a board of directors and stopped anything from happening for a few years. They were finally pushed aside by a hostile fork.
The x.org guys are choirboys by comparison.
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
I hate that. These people need to have some shit ripped away from them so they can be bought and sold like everyone else. How else am I going to solve my problems? Wow. You're aware that you've scored an almost propagandistic own-goal in favour of the commercial/closed-source companies?
Not only that, but rather than providing a helpful response to the guy's totally legitimate question, you've thrown it back sarcastically in his face "How else am I going to solve my problems?"
Uh... how *is* he going to solve his problems? He's relying on a piece of software, he's offering money to have it fixed, and you're essentially saying that the type of people who contribute to essential open-source products don't- and shouldn't- do anything except when they feel like it and only for the pleasure of it? And that he should feel ashamed for offering them money.
The unfortunate- and presumably unintended, but very clear- implication of your message is that people should never rely upon open-source software because if it isn't fun for your happy coders who can't be "bribed" then it won't- and can't- be fixed. (*1)
And following that, if people need software they can rely upon, they should be looking to closed-source, proprietary, *paid* companies, who'll do something that's not fun... for the money!
See; in what might seem to you a noble attempt to defend the purity of hobbies and hacking (in the old-fashioned sense), you've essentially tarred (and condemned) all open-source software to being hobbies.
And if you think about that, while hobbies are fun, you can't rely on people whose hobby it is to clean toilets, sweep the streets or serve you in a restaurant.
Fortunately, I don't believe that your reasoning is- or should be- correct. Hacking/hobbyist == free software, and I don't have a problem with people being paid to work on the "boring" bits.
Meanwhile, what is the solution to this guy's problem?
(*1) Please *don't* give me the up-its-own-arse "fix it yourself" response. Not everyone can- or *should* have to do that. And of course, he shouldn't offer anyone else money to do it, should he?
Pray tell me, what these "modern things" are that the applications "need"? I can hardly think of any features that need to be implemented on kernel or X11 level.
I'm one of those freeloaders. I've never delved into the code in X, but I suspect that X and all its various components and libs are rather complex. Even a skilled and experienced programmer would find that daunting. The learning curve just to figure out how it works and fits togather is probably enourmous and would represent a major investment in time. Even well commented code can be hard to figure out. And all of that is before you even approach the bug-fix itself.
I've heard that x.org has been trying to make things more modular, but perhaps that elephant is still too big for most casual coders to eat, even one bite at a time.
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.
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.
Only GNUStep is X based on Unix like operating systems - so that won't help. In fact that might be the reason why GNUStep never took off.
That and the fact the GNUStep visuals are based on the old NextSTEP visuals and not the new Mac OSX visuals.
Martin
... heard about a thing called Windows? I know, very obscure, but its there - on 90% of the market.
Say what you want but there must be something fundamentally slow about X. I do notice that X applications are slower on my Mac then native applications.
Note that I use X on Windows, Linux, Solaris and Mac - and yes I see the advantages of network transparency. Cool stuff. I do X sessions over VPNs - as long as all I do is XTerm and GVim even that is quite OK.
It's the heavy desktop applications like OpenOffice and Kontact and where I start notice performance impacts. And when it comes to Kasbar previews or Desktop switch - well that cannot even be compared with the Dock, Places or Exposé.
And if network transparency is not the reason for these performance degrations then it's something else.
Whatever, it need addressing.
Martin
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.
It's working well enough for me (and it works a lot better than the alternatives from Apple and Microsoft). And probably most other Linux users feel the same way, which is why it isn't getting a lot of attention.
Yeah, just wait until they break Dtrace, again, or do something else to cripple your OS so that you can't use competing products. Open Source and open standards are the solution. We need to embrace them. That way, there will be real competition and none of these shenanigans that hurt the end users.
BTW, I hope they get more secure than they are because Vista was harder to crack than OS X at Pwn To Own this year... And what OS came out on top?
I played trumpet in my high school band. My senior year, I was first chair. I wasn't the greatest player in the world, but as it happened that year, I had no one that really challenged me for the chair. I've always regretted that I didn't have a little competition, as I think it would have made me a much better player, and I think I would have enjoyed it more.
"Not an actor, but he plays one on TV."
For "desktop linux," I don't see why the system isn't reworked to run off of a frame-buffer and scrap all the X crap -- still keep X for running networked apps.oh, wait -- that's more or less how OS X is organized, isn't it? Or Windows... you know, the successful "desktop" operating systems -- not the systems that were designed for collaborative efforts in scientific and research environments.
That's because that would be the wrong direction to go. All major desktop operating systems now use a client server architecture with a binary communications protocol because that's the right way to implement a window system on a modern protected mode OS. And X11 has the best implementation and design for that kind of architecture: its calls, protocols, and IPC mechanisms were designed for this purpose from the ground up and are mature. The Windows and OS X display servers are attempts at retrofitting X11-like protocols into systems not originally designed for it.
I had done my research, and I knew there was a problem with the HDMI/DVI port on the board with the latest Intel driver - it's effectively an on-board third-party SVDO chip, rather than an integrated second head. I got the board, I plugged it in, hey presto the second (digital) head didn't work. Except that - oh, what's this? - a patch was committed last week which fixes the problem. I grabbed the driver from git last night and built it, and I'm now happily working with a stable digital image.
Seems like it's working okay to me.
Paranoia isn't an infectious condition, it's a way of life
Let's fork the project :-)
Coder's Stone: The programming language quick ref for iPad
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*
Why do people knock on the network transparency all the time? I use it and like it...
Unlike you I was not joking. I bought SuSE 5.2 to SuSE 10.3. And now I don't.
Martin
PS: 2 SuSE a year or on OSX in 2 years should be about the same price - but what I get for it is a damm side better.
Legitimate complaints met with 'fix it yourself' are what push people to OSX.
... and I'll be happier the sooner we're rid of them.
Frankly, good riddance.
When I contribute my spare time to developing something - often just for personal interest - and voluntarily make my work available to others for free, I don't appreciate someone coming and whining about how I haven't done enough, especially when they'd never consider doing the same thing themselves. I faced the same problems they did, but I DID SOMETHING ABOUT IT - I learned the languages and tools to work on the problems.
There is no magical difference between "programmer" and "user". There's really only "people willing to learn and do some work" and "people too lazy to do more than demand that others do it for them". It's not like I have spare time coming out my ears or am otherwise better enabled to debug and fix issues, develop features, etc than anybody else - I'm just willing to put the work in and do it.
This type of complainer acts like I owe them something because I've already given them something. It's like they view my time as having no value despite constantly demanding that I spend more and more of it on them. This bewildering attitude of entitlement drives me up the wall and has seriously put me off working on projects I had on the go a couple of times. Having some whining loser complain that I'm not working enough late nights and weekends to finish "their" feature is truly infuriating and completely off-putting. I don't want to finish it, because doing so would benefit them and would reinforce their attitude.
If we "lose" these people to Mac OS X I'll cheer even as my sympathies go out to the Apple folks. At least with Mac OS X the whining loser has paid for something with the understanding that support would be provided. They'll have some legitimate reason to bitch if something doesn't work how they want it to.
Contribution doesn't have to be code; it's really just time, effort, and attention. I think most devs will be much happer to help someone who tries to contribute in any way they're able, be it code, bug investigation, translations, mailing list help, or practically anything else. For example, I'm using postgresql and though I don't contribute code I try to help out by posting detailed answers to questions on the mailing list, including examples where appropriate - not just "RTFM". OTOH I work directly on the code in podofo/podofobrowser, because that's how my time is best spent there.
What I don't do is complain that "someone" should give up their time and do something I'm too lazy to do.
Note that there's nothing wrong with suggesting that something should work a different way. It can be really helpful, especially if decently thought out. There's nothing wrong with expressing a wish for some feature or capability or fix. What's pretty vile is demanding it, as if you're somehow owed it by the people who've already freely given you the use of what they've spent plenty of time and effort on. That's what those people you're saying will be pushed to OS/X are doing
Xdarwin hasn't had much attention put into it by Apple. It's very much a second- or third- class citizen under Aqua, and not just in performance terms either.
Your X performance issues have a lot more to do with the Xdarwin server than they do with the x11 protocol and design.
Sorry if I don't complain but... Take your time guys and get it right. If people want to bitch, moan, and rush things give them the account number to send cash to. After the check clears they can have the complaint-dept@X.org email address.
Having to work for a living is the root of all evil.
>> [...] it lacks the 'coolness' factor of the Linux kernel.
Being a software developer, I know quite well that nobody likes to do maintenance and documentation and that there is always some other, more 'cool' project to work on, but my greatest respect to the devs who stick with something like X.
A while back X began a modularization effort.
On most some distros, this was manifested as an increased number of small x-related packages instead of a huge monolithic one.
Today, the work continues, and you can bet that this is where the going gets tough.
So I send my respect to the X project developers for keeping on it, even though it is one of the hardest things to accomplish - modularizing something so big.
I don't know the meaning of the word 'don't' - J
The problem *I* have with it is that people usually offer a pittance. This is particularly frustrating when it's someone using your work commercially.
Offering someone $50 for a feature that'll take them weeks or months to implement isn't a bribe, it's an insult. It says "I think your time is worthless".
I'm sure people don't intend it that way, but it still exposes their attitudes and values.
I like to be charitable and assume that either (a) $50 is a lot of money to them or (b) they simply have no idea how hard what they're asking is and how long it'll take. I respect an offer of $50 from someone in Brazil rather more than $50 from someone in France, because from the person in Brazil it says "I'm offering what I to me is a significant sum that, if it was me doing the work, I might accept as payment for the job". From the person in France it says "I consider days of your work worth no more than what I get paid in an hour or two." Similarly, I respect an offer of $50 from an individual almost infinitely more than $50 from a company using my work in a product.
It's not a matter of expecting people to somehow suffer or make a sacrifice; rather it's the expectation that they be willing to offer something that, if the positions were reversed, they'd be willing to accept. It's saying "I consider your time around about as valuable as my own".
Using VNC avoids the latency problem, and this option is even available for Mac users: in System Preferences, go to Sharing, and enable Screen Sharing; you can then connect to it using Chicken of the VNC (from a Mac) or RealVNC free edition (from Windows or Linux), and probably using other VNC clients as well. In RealVNC, you have to make sure to set the encoding to "Hextile" before connecting; also, when logging in, the connection will be dropped when you go from the login screen to the desktop... Minor annoyances as far as I'm concerned; I can use my Mac desktop from my home laptop, and that's the main thing.
I use it every day just because it is so convenient.
More seriously, think about development. You can have the program running on one X server and the development environment on another, letting you debug without interactions via the servers.
>>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
i thought i read somewhere that a program was being integrated into x.org that would allow multiple mice/cursor input... is it true?
the most problematic piece of software on Linux in terms of usability and reliability.
It was a cool idea back in the day, but even the vaunted network transparency is much slower than the competition (it is uncompressed, and doesn't have standard widgets that the client knows how to draw without being told).
My question is, would it be possible to keep the existing X drivers, throw away the rest of the legacy code, and build a modern window server on top of it?
There's no real reason to retain compatibility with X at the API level, as it's easy enough to build X as a rootless window server on top of a foreign window server i.e. the way OSX runs X11 applications.
I'd like a GNOME based window server. Something that exports GTK as the primary interface, and integrates with gconf for easy configuration changes that don't require restarting the window server. As it stands, X is too low level and maintains an artificial separation between toolkit and window manager that other desktops have shown isn't particularly beneficial. Instead, I'd like a high level of integration.
(posting to undo my mismoderation of parent)
Now that X Windows was split up into modular chunks, wouldn't it in theory by easier to try and pull it apart?
Why rewrite it from scratch right now when the solution might be simply to assemble fewer of the chunks?
Most people don't need an X windowing server per se. They just need to be able to communicate with the graphics and input hardware. I'd like to see someone assemble a stripped-down, minimalist version of X windows.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
So much work is duplicated between X and Qt, like the anti-aliasing engine. Now I admit that I don't know this stuff well and never worked on this sort of code. That's why the title of my post is a question. However, I'm very interested the answer!
Meta: Clicking on "Continue Editing" discards what has currently been entered.
I think we've pushed this "anyone can grow up to be president" thing too far.
KeithP and and Jim Gettys wrote a paper on X network performance and the bottlenecks being seen a few years ago. Unfortunately I can't currently find a document discussing what the overhead of X's network transparency is (but I have a feeling it wasn't excessively high).
... but what's stopping me is that I'm not a programmer, which is an unfortunate condition that I expect most of even the Slashdot-reading population suffers from. Some of us also have to deal with things like "work" and "family".
I'm not trying to give anyone a hard time here, but it's important to realize that not that many people have the time or experience/education necessary to do this work... so when you're competing for the labor of a relatively small pool of people, it's important that the work be made as attractive as possible. I'm frankly not all that informed about the state of the X.org project, but it sounds like they have some issues with that.
Yes, some bugs do go unfixed (and basically remain open) forever. However my experience is that well described bugs are fixed more often than not. Here's a list of bugs in Ubuntu reported by me (Sitsofe Wheeler). Many of these bugs have been fixed (I've reported bugs elsewhere too, that was just a handy example).
It is worth noting that there are different types of bugs. Some are design decision suggestions ("you should move this to the left because it adheres to this style guide"). Some are requests for improvements ("You should implement this feature"). What happens with these styles of bugs varies from project to project and I can well believe that they may not be fixed (but they may well be resolved by closing them).
I always thought that was a pr0no site. Wow, now i"m really disillusioned.
Comment removed based on user account deletion
Needless to mention that to compile (properly configured) Linux kernel (with subset of drivers and features you really need) only few minutes
This was not true in, say, 1995 when I started using Linux, and when quite a lot of coders were enthused about joining the project. At that time the instructions for compiling the kernel suggested you go get a cup of coffee after you typed "make" and come back in an hour. I recall being very pleased when my spanking new Pentium 133 was able to compile the kernel in 20-30 minutes, if I recall correctly.
But it sounds like some of them are seemingly so well known. You've mentioned Dave Airlied and Keith Packard but what about Eric Anholt (Intel), Carl Worth (Red Hat), Daniel Stone (Nokia), Adam Jackson (Red Hat), David Reveman (Novell), Matthias Hopf (Novell), Alex Deucher (AMD), Ian Romanick (IBM), Alan Coopersmith (Sun). I believe that Tungsten Graphics also employ people who work on X (or X related infrastructure).
However do projects have to have paid devs to succeed? If there is the manpower perhaps paid people are not so key?
I think I'm starting to understand kind of how the 70's computer geeks felt when their friends came over asking for help with their Windows boxes.
Windows 1.0 was released in November 1985, and the first really successful version (Windows 3.0) was released in 1990. Heck, MS-DOS was released in 1981.
In the 1970s everyone mostly worked on mainframes, and the newest thing was the minicomputer, which only took up the space of one tall bookcase, instead of half a room. The cool development in operating systems was the concept of time-sharing, so that multiple users could use the hardware at the same time, mostly from 9600-baud hardwired VT-100 terminals in the "terminal room." We didn't have windows, because they tended to boost the air-conditioning bill when it was sunny out.
Really.
I've spent some time grokking the Xorg codebase, and although I can see what it does, even simple changes tend to break things in unpredictable ways.
Personally, I'd go for an Xorg9 or even an X12. I'd base it off programming tools that are designed to handle projects of this size. i.e. Have the code done in several higher level programming languages whose compilers were designed to handle this sort of complexity.
I have to give the Xorg guys credit for taking the X11 monolith this far. But seriously, isn't it getting to be about time for an upgrade?
Tools. UML, Expert Systems for code analysis, etc... We now have the technology to make it work. Yes?
You're saying more people would code if coding were easier?
Um, yes. But I think part of the point here is that putting together a functioning software project is not just about coding. A good part of it is good management, organization, documentation, internal conflict management, timely and robust decision-making. These are exactly the things that make that "barrier to entry" lower, and make it possible to just get started programming.
If you're working for Microsoft or Sun, say, you might be able, as a programmer, to concentrate on your coding and let the strange people in suits take care of that angle for you. But there are no suits in an open software project. Usually, the same people who code have to take care of it, too. Which can be a problem, as it's not often their strong point.
Wouldn't be a half-bad thing if this whole discussion led to a new respect among programmers for good managers, which do exist, and which serve, as it turns out, a very necessary function in software development.
What about Y Window System? It is new and should be able to fix the problems in X.Org, like setting up a standard for it...etc.
A lot less overhead and with support for gtk.
"Whereas the X server is somewhere in the middle. It isn't well known, even geeks might not know exactly what it does (i.e., where the separation is between X, the window manager, and so forth), and for some reason it lacks the 'coolness' factor of the Linux kernel. "
Well, instead of calling it a server, or some such nonsense, call it "THROAT": between the head and chest, you simply can NOT do with out it... (unless you think you have a redundant brain in the chest..., then the analogy falls apart...)
Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
"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!
When all is lost and there's no hope left, there's only one thing left to do.
Just fork it. Fork it all!
"Most people, I think, don't even know what a rootkit is, so why should they care about it?"
Some of the happiest coding I ever did was working on the X server at E&S. I was their rep to the X consortium. (Hi Keith!) Left there to go to start up where I supervised the X consortium rep. In total I spent almost 6 years inside the X server and its libraries.
:-) ROFLMAO!!!!
Of course that was a long time ago, 15 or 16 years. After the start up cratered I tried to find other jobs working on X. I tried to get on with the DRI folks. It didn't work out. By the middle 90s there were very few paid X server development jobs left. Between Windows and XFree the demand for X server developers pretty much went the way of the dodos.
I do open source development. I'm a committer on a fairly well known project. I think I get open source. OTOH, as much as much fun as I had working on the server I understand how much work it is. How much concentration, and how much hardware you have to invest to fix bugs in the server. That is not something I, personally, would do for fun. Especially when what I do helps video card and computer companies make money with out putting any money in my pocket.
So hey, if they are really willing to pay, and that means a salary and benefits, not these hokey bounties that pay less than third world wages, then I will sign up in a minute.
Oh well, after 30+ years as a software developer I have become very cynical about this sort of things. I'll believe when I get the offer letter
Stonewolf
The problem is that they were being honest. I spent a long time fixing bugs in the X server and I can tell you that there were bugs I was able to fix in a day or two and one that months to fix. So, how are they going to give you an estimate and a deadline? And don't try to say that they "should" be able to give you and estimate. By the time they know enough to estimate a bug fix time they have already fixed the bug.
So, how much was it worth to you? Were you willing to sign a contract and post a bond to ensure that the person doing the work would be paid at a reasonable rate for the hours they put into the project? Were you ready to do that even if they could not guarantee that they would be able to fix the bug?
You attitude shows that you don't know anything about software development.
Stonewolf
http://www.youtube.com/v/-oFxhqYn-g0
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/
Kill X. Replace it with an EGL/OpenGL based windowing framework.
It would provide:
A unified driver architecture, already implemented by all major vendors (the ability to run GL commands). This replaces the 3000 different weird ways to do X 3D drivers these days (alternate libGL implementations vs DRI/DRM, Chromium, etc.)
A programming environment many developers are already familiar with, with a far less steep learning curve than the bare X protocol (which sucks).
Easy, native, non kludgy 3D interfaces and OMG 3D EFFECTS like Compiz, which seem to be the must have linux feature of today.
And, X could easily be implemented on top of this framework for backwards compatibility. The XGL project even already started, with the XGl EGL backend (which was sadly abandoned, because the main aim of both the userbase and developers of XGl was to get support for OMG 3D EFFECTS on ATI/AMD cards, which because of the kludginess of X and the sketchiness of AMD linux drivers came waaay late).
Network transparency would still be possible, and maybe even easier to optimize.
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...
of this new threat from X.Org.
Utilizing the synergization of benchmark e-solutions to pre-workaround action items!
There is an Ubuntu Brainstorm idea addressing this very thing, asking for Canonical to hire / fund an X.org developer (and a Gnome developer).
They have money, vote and support.Read all about it here.
Love or hate Ubuntu, they are quite a boon to Linux.
|plastic....or gasoline?|
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
I think most people don't realize what X does or how it's useful...why do we need it
when we have KDE or GNOME?
People don't log into consoles so much, so they never have to start X-managers locally or remotely -- its all handled by desktop software or worse -- its desktop software that doesn't work over X and doesn't support remoting...but people see remoting with windows and similar with VNC, so why do we need X again?...
As a light weight network or local display protocol, it's just 'fades' into the background.