The State of X.Org 618
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."
Finally, developers' ignorance and childish (Score:3, Insightful)
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 ?
What's the problem? (Score:5, Insightful)
Re:Anything else out there? (Score:3, Insightful)
is that a good thing? it is not! i think applications that require an x-window-system should be just agnostic enough to allow for the older alternative to xorg, [eg] http://www.xfree86.org/ [xfree86.org]
Re:I don't like this (Score:5, Insightful)
The salient question would be: What's stopping us from fixing the bugs in it.
Re:Finally, developers' ignorance and childish (Score:5, Insightful)
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.
Gots to pay people... (Score:5, Insightful)
Lazy Developers (Score:2, Insightful)
"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.
Re:Haven't really noticed any reduced quality .. (Score:5, Insightful)
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.
Re:Anything else out there? (Score:5, Insightful)
Re:Haven't really noticed any reduced quality .. (Score:4, Insightful)
On the other hand, I realize that Ubuntu is a good thing for Linux adoption because Linux needs a critical mass of people using it before it can start making inroads into the home and gaming markets. That critical mass is much larger than the number of people interested in --funroll-loops, so a system that's plug-and-play is important.
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.
Re:Anything else out there? (Score:4, Insightful)
Simply getting xfree to compile was a chore, even on the (few and far between) stable releases.
Personally, I'm still unconvinced that X is a particularly "good idea." 15 years later, and the promises of simplicity and compatibility are still unrealized, as every single implementation of the protocol has suffered from numerous problems. Perhaps it would be best to start from scratch, and revise X11 to be a more realistic/practical specification.
Even back in 1994, it was being called [art.net] the Iran-Contra of user-interfaces.
Re:Phoronix will pay to fix X (Score:3, Insightful)
Yeah, doesn't it suck when people are safe and happy enough that they can't be bribed, and they just sit around labouring to use their talents according to their own interests and desires and sharing the things they create?
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?
Re:Finally, developers' ignorance and childish (Score:5, Insightful)
export DISPLAY=skarabrae:0.0
and get actual work done fast!
Network transparency is *the* feature of X.
Re:Anything else out there? (Score:5, Insightful)
Re:Anything else out there? (Score:3, Insightful)
(GP was joking, I think he knows the history)
Re:Anything else out there? (Score:3, Insightful)
Developers need (new) money.
Developers need (new) ideas.
Developers need (update) documentation.
It could be also time for a brand new project, but those points still hold true, in my opinion.
Re:Lazy Developers (Score:4, Insightful)
Re:Lazy Developers (Score:3, Insightful)
Re:Anything else out there? (Score:5, Insightful)
Re:Phoronix will pay to fix X (Score:5, Insightful)
BattleCat needs to have a bug fixed. He approaches coders who, for free and in their spare time, code.
"Hey there, coderman. I see that you do this sort of thing for free and for fun, but what would you say to doing that coding thing that you love to do, hitting this one bug that I really need fixed, and ending up with all the satisfaction that you normally get from your work and a shiny nickel on top of it?"
"ZOMGBRIBERYYOUCALLOUSBASTARD!"
Really? Is that what you call bribery? Where I come from, bribery entails a breach of ethics. All BattleCat wanted was to add a little icing to the job that people were already doing for free in an effort to have something fixed that was a priority for him. That's about as straight-up, ethical, and non-bribery a way to get things done as I can imagine.
Re:Anything else out there? (Score:5, Insightful)
Now, let me just open an application on another machine, and show it on this one's X server... hmmm... what's that - I need to be running Windows 2008 Server, and have a terminal server license?
How about running multiple display managers, so that I can have more then one person using the machine with seperate monitors and input... no. Thought not.
I could go on, but I think you'll get the point.
Re:I don't like this (Score:1, Insightful)
Re:Phoronix will pay to fix X (Score:1, Insightful)
If someone is going to pursue a task because the task is its own reward, and you attempt to relieve them of outside pressures and distractions by offering them money so they can focus on the task they already intended to do, that's support.
If someone is comfortable, safe, secure and happy, you won't be able to control them with bribery, but you might be able to assist them with support.
The fact that you don't perceive anything wrong with living in a world that normalizes the first example is a testament to how far we have collectively fallen. In my opinion.
Re:Lazy Developers (Score:2, Insightful)
You don't understand open source projects at all. You think they just mean that you can get whatever you want for free. Do something to help and then your whining will mean something.
Xorg (Score:3, Insightful)
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 (Score:4, Insightful)
Re:Finally, developers' ignorance and childish (Score:3, Insightful)
Re:Phoronix will pay to fix X (Score:3, Insightful)
If someone is going to pursue a task because the task is its own reward, and you attempt to relieve them of outside pressures and distractions by offering them money so they can focus on the task they already intended to do, that's support.
Re:Phoronix will pay to fix X (Score:4, Insightful)
'I will pay you to make my problem your top priority' is among the many things that people are saying about how a FOSS economy is supposed to work. Paying people to do work for you that you can't/don't want to do dates back to at least the bronze age, and probably farther. I would go so far as to say that it's one of the cornerstones of civilization.
I think the OP went about it the perfect way:
Essentially, he tried to hire a programmer/programmers to fix his problem from the pool of programmers who know the code the best - the active developers. Anyone with a serious intent to fix a software problem is going to go the same route - grabbing a coder off the street isn't going to be nearly as productive as grabbing the guy who wrote it in the first place.
Not yet. (Score:4, Insightful)
Martin
Re:Anything else out there? (Score:5, Insightful)
Yes, it was - hence rapid development things like mpx, xrandr, xrender, composite xinput 2.0 and so forth. Have people really forgotten so fast that a couple of years ago linux
Really, the
Emacs' release schedule recently slipped too - but it was because they're merging ECB and window groups into Emacs 23, not because emacs devel has stopped!
Re:Phoronix will pay to fix X (Score:4, Insightful)
Your problem here is fixing bugs in X is consistent with the duties of that person. In fact, you could even go so far as to saying writing code is consistent with the duties of that person.
What you are attempting to call bribery is what damn near everyone else in the world calls a job offer. He was attempting to hire someone, not to bribe them. If that was indeed bribery the job market would be a very scary place where employers could be convicted for making job offers for perfectly legitimate work.
Re:Anything else out there? (Score:4, Insightful)
Re:Phoronix will pay to fix X (Score:4, Insightful)
Sounds good to me. Working for money is the antithesis of integrity, and the social systems that make it necessary are constructed for the purpose of overcoming the integrity of the individual so they can be put to use like some inert tool. Personally, I consider every job I accept to be a moral compromise.
Re:I don't like this (Score:1, Insightful)
The salient question would be: What's stopping us from fixing the bugs in it.
I find that rather daunting, but I'm not a coder per se. I'm a retired software QC engineer who spent a lot of time testing complex systems, but digging around inside of something as complex as X wasn't required. I'd love to help out - I know Ajax has been working hard on this stuff, but I wouldn't even know where to begin - i.e. how to set up a system with the appropriate scaffolding in place so as to poke at the code in a controlled manner to try to isolate symptoms and potentially identify which modules might be causing a given problem.
If someone were to document how the code is structured and how to approach problem isolation, I'd be very glad to give it a go. But, in the meanwhile, the best I can do is to carefully document my problems in various Bugzilla systems.
Re:Anything else out there? (Score:4, Insightful)
Not entirely true, IMO. Even though no money is directly involved, a team of open-source developers will still want their project to be successful over competing projects as a matter of personal pride and potential business opportunities.
If there's no competition, they have one less motivation to keep up work.
Re:Anything else out there? (Score:5, Insightful)
They aren't.
Well, the drivers are. But obviously at this stage they DO have to be coupled to the server for a variety of reasons, not least that no one else wants to take over.
But let's face it, twm hasn't had any major work in a long time, and the window managers we all use on a daily basis are nowhere near the X.Org codebase.
Yes, we do need network transparency. I use it all the time. It's a major feature. Keep your hands off my network transparency!
Re:Lazy Developers (Score:2, Insightful)
"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.
I have been a Linux user for eleven years and have contributed *zero* code (being neither a developer nor even in IT). When I come across Free software that does not work properly I complain. I have a right to complain. I do not have a right to force you to fix the problem; I could learn to program and, perhaps, how to fix the problems I encounter. But choosing not to learn how to write programs does not disqualify me from complaining. Does that mean I am simply a mouthy freeloader? Perhaps, but who really thinks the xorg developers really only write code for themselves and their fellow xorg developers?
Re:Phoronix will pay to fix X (Score:2, Insightful)
It isn't. There's a world of difference between coding new features, and fixing other people's bugs.
For comparison, take an artist who loves to paint landscapes and modern art:
Would they do their own interior decorating? Maybe.
Would they paint *your* house? Unlikely.
As to bribery: there's nothing wrong with offering artists money to paint your house - just don't be surprised when they turn you down without a flicker or interest...
Re:Finally, developers' ignorance and childish (Score:3, Insightful)
Here is a small dose of reality: If X had done this, they would have done it in 1985, and the widgets and api would look like Athena. And they would still look like Athena today, with absolutely no change (ignoring the fact that X would have been abandoned long ago). There would have been MILLIONS of assuptions about the design of the widgets that programs would make or would be neglected in the api they designed. It would never have been modifiable in the way your fantasy believes. And don't go thinking that "we know how to do it today". Even five years from now some ideas we have in GUI today will be considered ridiculously incorrect.
The fact is that X lasted for 30 years and can run stuff that was not considered in the least when it was invented is proof that it's design was at the correct level.
Re:As good as Xorg is... (Score:3, Insightful)
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.
Mac OS X is technically a *BSD (Score:3, Insightful)
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.
Re:Anything else out there? (Score:4, Insightful)
Don't optimize before you've proven where the bottleneck is.
Re:Anything else out there? (Score:4, Insightful)
If you're talking about the desktop space, there's really little to nothing that a user interacts with that wouldn't run on any of those platforms. Linux just happens to have the most traction (which has a multiplying effect since it encourages vendor support and attracts new developers).
Re:Anything else out there? (Score:3, Insightful)
I used to buy XiG XAccel in high school because it was worth $150 to not have to fuck with XFree86 to me.
I like X -- it does exactly what I want. However, for the people who switch to Linux 'cause the hate Windows, but are used to being greated with some smiley little graphical login prompt (yes, I know most distributions of linux have gdm/kdm/xdm set to run automagically), not having to think about the graphical interface really "starting" or as being separate from the os, etc - confusion can arise.
A lot of Mac's success *IS* because its gui framework.
it appears to be managed in frame buffer, with custom rom that makes sure you never see bios info -- just pretty pictures.
the removal of large swaths of abstraction make it load and "talk" faster.
the use of pdf rendering and enforcing policy rather than just providing tools means that things like cut and paste work from app to app, every app.
That is the sort of thing that X fails on for the casual or home user.
different tool kits and object models mean that apps all work differently. choosing between KDE and GNOME means that if you want a "seemless" environment, you're pretty much limited to their set of apps, which normal people are used to on Windows/Mac, but the fact that they can co-exist on a linux system, and often do, can lead to issues.
Then what do I know, I'm using WindowMaker and xterm these days.
Just saying, *I* like X, but if you're one of those who finds it necessary to "convert" people for whatever reason, it leaves a lot to be desired for people who expect "free windows" or "all the flash of leopard without the mac hardware"
Re:Phoronix will pay to fix X (Score:2, Insightful)
I've always said no thanks.
If anyone wanted to provide some 'incentive' to work on feature 'x' I'd have to say their heart is probably in the right place but I would consider this offensive. Here's why:
1. I love to create and interact with people. I love the feedback in the emails and the forums and in the blogs other people write. I've found my happy place in this world. If I were to accept money to build or improve feature 'X' it now becomes a J... O... B... and I lack the time to explain how utterly demoralizing that is. There is a not so insignificant caveat to this:
2. How much are you going to 'freely offer' me? $50 would probably be the upper end of a wonderfully giving offer, and yet it won't change my life in any positive fashion. If someone just gave me $50 because 'I love you man'. Well, that's awesome. But if I now have a 'J... O... B...' to do well, I don't have the time to explain just how stressed out the thought of that makes me.
I think folks forget that open source devs are talented individuals who are already stressed out enough from work. Doing open source work provides balance - it allows us to be creative, work with a community of users and love what we do. At work it's all too often the opposite.
There is an alternative. It's obvious and I think fair but no service exists (that I'm aware of) to make this happen: easily allow the users of the software to pool together cash to pay the developer to fix/enhance/create JOB task X. Make this feature integrated with Bugzilla.
There I've said it. The cat's out of the bag. The current cash incentives are so small they are irrelevant and not an incentive at all.
If you read this and think, "how dare you disregard my $50 incentive!" then I've failed to make you understand the _cost_ of turning something you love doing into a J...O...B...
Peace.
Ummm, no, it's not (Score:3, Insightful)
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.
Re:You Are (Score:3, Insightful)
Then how else do you want to solve the problem? *Someone* has to do the work.
Re:Phoronix will pay to fix X (Score:2, Insightful)
Re:Anything else out there? (Score:3, Insightful)
Yes, booting linux takes time, I'm sure Ubuntu can come up with a splash screen without touching X. Actually starting X is nearly instantaneous on any machine I've tried in years, starting KDE or gnome takes forever.
Yes, there are many toolkits on linux that work slightly differently. That has nothing to do with X. There's nothing you could do to "fix X" that would affect the toolkit situation.
You may have a point with cut & paste. I haven't tried to copy a graph from gnumeric and paste it into koffice or anything like that recently. But I'm still not sure that's the job of X. We have standards from freedesktop.org that should allow interoperability of clipboards. It's up to the application authors to follow those standards.
So I stand by my point, X is very good at what it does. The problems people think they have with X are mostly problems with the software that runs on X, or the software that X runs on top of.
Re:Anything else out there? (Score:5, Insightful)
The GUI framework on the Mac is Cocoa. The equivalent of Cocoa is Gnome (or KDE). The underlying display server, the equivalent of X11, is Quartz.
it appears to be managed in frame buffer
But it isn't. OS X has the same client/server display architecture as a Gnome desktop.
with custom rom that makes sure you never see bios info -- just pretty pictures.
What you see on OS X is that the boot loader quickly throws up a gray screen to keep you from seeing the boot loader text; the text itself is still there. If you like, you can boot OS X completely in text mode, just like a Linux system.
the removal of large swaths of abstraction make it load and "talk" faster.
The OS X display server has at least as many layers of abstraction as X11. It is not intrinsically faster than X11 (if anything, it's slower). Mostly what you perceive as speed on OS X is massive amounts of backing store.
the use of pdf rendering
OS X doesn't really use PDF rendering.
and enforcing policy rather than just providing tools means that things like cut and paste work from app to app, every app.
I own several Macs. The notion that "cut and paste work from app to app, every app" is laughable, and Apple couldn't enforce that if they tried.
Furthermore, if anything, policy is determined by the GUI framework, not the display server.
That is the sort of thing that X fails on for the casual or home user.
Whatever problems you think the Linux desktop may have, they have nothing to do with X11; consistency and policy is determined by the desktop environment, not the display server.
Re:Anything else out there? (Score:3, Insightful)
Re:As good as Xorg is... (Score:4, Insightful)
Re:Well, excuuuse me! (Score:3, Insightful)
Even if the source code is available, the developer tools are freely available, and the knowledge about the necessary languages and tools is free for the taking, there is still a lot that is specific to a given project. Who do you need to contact, who can you ask questions to, how is the source code organized, how do you build it, how should you submit patches, what are the things you absolutely must or must not do, etc. etc. All this is usually poorly documented, if at all. Contributing to an open-source project is a daunting task.
I think X.org has done a lot to make contributing easier, but "easier" doesn't mean easy.
Re:Lazy Developers (Score:5, Insightful)
Re:Anything else out there? (Score:5, Insightful)
My personal bet is that X is overly complicated.
E.g. it takes 20-30 minutes to start doing something with Linux kernel. Entry bar is set low - many people like to participate. Needless to mention that to compile (properly configured) Linux kernel (with subset of drivers and features you really need) only few minutes. There are piles and piles of documentation and forums where you can find anything.
E.g. KDE + Qt. To compile KDE - you might need days. Or just grab precompiled binary packages. But after that you can in 5 minutes create something useful and interesting. Documentation is near perfect and complete. Also reading source code is quite easy, since most of the code is human readable.
But X is different beast. Even compiling it is challenge on itself. There is literally no documentation on its innards. There is no "Hello World" for X. There are bunch of example modules which you need to spend hours after hours to only understand where they plug into the all X mess.
I'd say main X problem is its strive to be cool and sit on all chairs. I'd say they need to scale down the project and split it into smaller independent pieces. Forget large releases (installing apt-get would help! kidding). The smaller sub-projects would have more chances attracting people, since (at least theoretically) then entry barrier would be lower.
Re:Anything else out there? (Score:5, Insightful)
Re:Anything else out there? (Score:2, Insightful)
Whereas on Windows I have a nice accelerated display by default. I can Ctrl+C and Ctrl+V to cut'n'paste between applications. Decent windows applications have accelerators so I don't need to move my hands off the keyboard. And because Windows is a look and feel rather than just a toolkit I can see how to use a Windows app pretty much instantly. And Windows has had True Type since 3.1 so the fonts look right to me.
Now it used to be that X Windows had network transparency and Windows didn't. But now there's Remote Desktop and VNC to handle that. And it was a far better idea to optimize for the common case where the application is running locally than across the network. It meant that 16 Windows apps could run quite well on Windows 3.1 on a 286 at 12Mhz.
These days a 32 or 64 bit Windows app in C or C++ is seriously simple to write and it very efficient since you build the UI out of built in Windows classes. You subclass 'em and override the 1% of behaviour you want to change. And since you're only overriding 1%, everyone knows how to use it. You can make small exe files too, e.g. uTorrent.
There is a good alternative to X Windows, it's called Win32. From what I've read uTorrent on Wine is still pretty lightweight.
Re:Anything else out there? (Score:4, Insightful)
Doing one's taxes is FAR simpler, the IRS rules are more logical, less complex and more sane than those for writing Xlib applications.
Re:You Are (Score:3, Insightful)
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.
Re:Anything else out there? (Score:3, Insightful)
Re:X Performace (Score:3, Insightful)
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.
Re:Anything else out there? (Score:4, Insightful)
I agree 100%. I'm not an Xorg developer, but recently I put together a hackintosh and started playing with developing a framebuffer driver for my old Radeon X1400 Mobility. Comparing IOPCIDevice and IOFramebuffer with libpciaccess is night and day.
Firstly, and I don't really mean to be insulting here, but libpciaccess just sucks. It's a step in the right direction, but comparing this with IOPCIDevice is... well, it just doesn't speak well for the open source world. The API documentation [apple.com] tells the story pretty well. This is a stable API that hasn't changed in a good, long while. And why should it? It does everything you need to do to speak with a PCI device, it's easy to understand, and it works.
Secondly, IOFramebuffer [apple.com]. Again, an API that hasn't changed in a good, long while. It's simple, it publishes a framebuffer and lets everyone go on with their business. It completely separates modesetting and the publishing of a framebuffer from acceleration. This is a huge win.
The IOAccelerator header docs aren't published, but given what we've seen so far, we can infer that it's clean, it hasn't changed in a while, and it works. Why can't we have this sort of fundamental cleanliness accepted in the open source world? I feel like this stuff is about a decade ahead of Linux.
And the X protocol itself? Well, it sucks. I have an 802.11g network here at home, and X sessions are completely unusable over it. This is failure. It is abject, complete, utter failure. We're not talking long distances, we're talking both machines and the router all within 20 feet of each other. With compression, without compression, over ssh, not over ssh: FAIL. This is a common modern use case, gentlemen. If the X protocol fails it on a wireless home network, what the fuck is the point of it? Xlib is an anachronism. It is the single shittiest piece of the GUI development stack on Linux, and there's plenty of fail to go around. Ditch this bullshit, I beg you.
Follow the Apple model, provide a simple VESA modesetting driver and a software renderer and ship the fucking thing. Why has no one looked at the preeminent operating system for graphics professionals an said "hey, maybe these guys know what the hell they're doing? and omg, some of this stuff seems to be open source!" - I'll tell you why, not invented here syndrome. Those macfaggots created it and fuck them, we'll show 'em good with our 1980s network protocol and 600 pages of completely unreadable API documentation (joke's on you, it's out of date anyways!). How's that working out?
This unholy mess needs to be fixed if Linux is going to stand any real chance on the desktop.
I say we nuke it from orbit. It's the only way to be sure.
P.S., I know this seems critical but I hope it's interpreted as constructive. In case it isn't, props to the Xegl crew, David Airlied, and the whole RadeonHD team. You guys made a driver for a wide range of modern hardware that basically anyone (if I can, you can) can read through and get an understanding of pretty easily. No simple feat. A lot of truy extraordinary developers have contributed a lot to X, and I salute their efforts and could never hope to be half the programmer that they are, but I recognize that there's only so much lipstick you can put on this pig.
Re:Phoronix will pay to fix X (Score:2, Insightful)
I'm not trolling, I'm really interested to know where, in your view, we lost our integrity with regard to trading our ability to work for our ability to eat.
Re:Anything else out there? (Score:1, Insightful)
Re:Anything else out there? (Score:2, Insightful)
It is. The amazing thing about it is that even with a technologically subpar product (on paper), they still kick the living shit out of Linux in terms of responsiveness and usefulness. Here's a quick test: turn on 3D acceleration and use AIGLX on any card that supports 3D acceleration (we can limit ourselves to directX 10 cards to compare evenly with Vista). Open up firefox. Resize it. Watch in dismay as your much vaunted technological superiority falls flat on it's face.
You know what's really sad about Vista? The biggest flop that Microsoft has made in the past decade is still objectively better than any Linux distribution at this simple task. Go ahead, try it.
Network transparency is essentially useless. Why is it useless? Because there aren't any applications worth running remotely to get the benefit of increased processing power that would be usable over a network connection. Those you would run (heh, xeyes) would be best served if developed as as a client/server app. My laptop has a 2.3ghz dual core processor. Thin client computing sucks. It sucked in the 80s, it sucked in the 90s, and it sucks now.
Why don't you give me a REAL WORLD example of a showstopping application that you run that takes advantage of X's "network transparency" so I can laugh and point at 10 better ways to solve your problems on both Linux and OS X?
Re:Anything else out there? (Score:1, Insightful)
If anything, that would slow the pace of development further.
Re:Anything else out there? (Score:5, Insightful)
>doing something with Linux kernel.
That may be true in some cases...
>There are piles and piles of documentation and forums where you can find anything.
Ahah... ahaha. No. The Linux kernel is very poorly documented. Your comment should read "there's *out of date* and *useless* documentation, scattered around the internet where you will never find it."
Unless you consider the source itself documentation... which is hard to argue for a source tree that is millions of lines.
Re:Anything else out there? (Score:2, Insightful)
Why is it one or the other? I prefer to avoid false dilemmas couched in inappropriate analogies to physical constructs; there's a whole field of research and practice in software development dedicated to improving the design of working code without changing its behavior.
Re:Anything else out there? (Score:4, Insightful)
Have you guys ever actually tried Looking Glass? It doesn't stutter. There is no reason not to use Java for something like this except prejudice.
Re:Anything else out there? (Score:2, Insightful)
Re:Anything else out there? (Score:3, Insightful)
Oh, so by "X needs to fork", you meant "I have a brilliant idea that the experienced software developers working on X.org have surely not thought of, and all I need is to convince someone else to do it, and I'm going to respond to any criticism of my brilliant ideas with the insinuation that other people should do this work for me."
I have other projects to refactor, thank you. I'll leave the X.org developers to decide how best to approach their code.
Re:Anything else out there? (Score:3, Insightful)
Re:Anything else out there? (Score:3, Insightful)
Re:Anything else out there? (Score:2, Insightful)
It's slow because you have to aptget unfree-leachware-closed-source to get an accelerated driver which will probably fuck the machine up.
As opposed to a closed source driver from ATI that fucks your machine up on Windows?
ATI aren't that bad. My old machine had an ATI card and it was rock solid. I prefer NVidia's drivers though, the ATI .Net bloated control panel annoys me.
NVidia Windows drivers always seem to mature faster than ATI's for new cards or new Windows versions, usually they are stable in a couple of revisions. ATI sometimes go through bad patches for driver stability.
Or even better one of those noname brand cards that have better support on Linux than the crappy drivers on the CD that come with the card?
I don't buy cards like that.
2D acceleration is enabled for all major brands of video cards (ATI, Nvidia, Via, and Intel [and probably Matrox too, but I don't have a card to test it on]) in the default free Xorg drivers. Sometimes the X configurator in the distro decides to use a generic framebuffer for no good reason. It's easy to fix.
Really? Last time I tried it didn't support my card, the latest NVidia. Given that it takes people time to reverse engineer hardware in the free driver I suspect that the latest card will always be like that.
It was actually pretty hard to get X out of 320*200 256 colors, non accelerated. Eventually I nuked the system and put XP back on it.
And lets face it, if I have the latest and greatest graphics card, I really want accelerated 3D, not just 2D. Not that there are any games for X I'd actually play of course. But it seems like one of the stengths of Windows is that most games target DirectX. The drivers are stable and you can get fast hardware. The fact that DirectX is supported for most games mean the graphics cards are optimized to implement it efficiently. Of course, the NVidia Windows driver has accelerated OpenGL too.
All of which means that a Windows PC is still a tempting target for videogames.
I can Ctrl+C and Ctrl+V to cut'n'paste between applications.
The Windows clipboard beats any clipboard KDE or Gnome has. This is primarily an application level failure, since X doesn't even know what applications put on the clipboard (and none of the applications know what another application has put on, either). Just throwing a mime-type on the clipboard blob would probably do wonders for KDE/Gnome clipboard functionality. The content negotiation X supports is just not specific enough (and it's old formats).
See it's the "X doesn't know what the applications put on the clipboard" thing that makes me hate X. Clipboards are not a recent invention. The problem with X Windows is that its creators seems to have this hippy view of the world where the Windowing system shouldn't impose choices on application writers but rather leave them free to make their own choices. Fuck that, I want a machine with a fascist conformity where every application conforms to the style "guidelines" or it is sent to a digital death camp by brownshirts like me.
And the thing is most users are fascists like me. 90% buy Windows machines where applications have a high degree of conformity. Another 3% buy Macs which are even more fascist.
Now it used to be that X Windows had network transparency and Windows didn't. But now there's Remote Desktop and VNC to handle that. And it was a far better idea to optimize for the common case where the application is running locally than across the network.
Remote Desktop is not truly network transparency; it's just remote desktop. Same with VNC. X lets you run applications anywhere and view them anywhere.
Yeah, but I don't need that network transparency, I only need remote desktop. And having it there means you can't optimize for the common case where video memory is local. On Windows there are lots of neat ways for applications to get
Re:Anything else out there? (Score:2, Insightful)
If the X.org developers don't have the resources to maintain the current code base (and it's easy to make that argument, based on what's happened), how is splitting their developer efforts and likely spending several years adding back the features the current code supports going to make them go faster? Magic unicorn wish-land candy-flavored fairy glitter?
Irrelevant; express away. I only care if someone else takes your idea seriously without considering the drawbacks. I have no illusion that the X.org developers care about either of our opinions on what they should do.
Re:Anything else out there? (Score:3, Insightful)
I've never delved into the code in X (Score:3, Insightful)
Xorg is already a fork (Score:3, Insightful)
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?
I've a contributing opinion. (Score:3, Insightful)
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
Re:Quartz? (Score:3, Insightful)
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.