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."
Anything else out there? (Score:5, Interesting)
Re:Anything else out there? (Score:5, Informative)
Re:Anything else out there? (Score:5, Interesting)
On the one hand we have things like GNOME and KDE, Firefox, Blender, etc. etc. - software that the user knows by name and interacts with directly. People happily join such projects and contribute code to them.
On the other hand you have software that the typical user might not not even know exists, like the Linux kernel. However, for geeks the kernel is perhaps the pinnacle of programming, and furthermore by lucky coincidence (or unhappy, if you are GNU) the name of the kernel has become synonymous with the entire OS, making it high-profile just like the more obvious software projects mentioned in the previous paragraph.
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.
All of this is unjustified, and a shame. Perhaps more stories on Slashdot like this one will raise awareness? Maybe we should also motivate people, by e.g. telling them that hacking X is even harder than hacking the kernel
Re:Anything else out there? (Score:5, Informative)
Then, once you have decided to work on it and have fully absorbed X11 protocol into your being, you basically need a vmware license in order to develop. It's almost as hard to try out the changes you made as it is for kernel developers... slightly easier, especially for debugging, but you still need to either shut down everything you are doing to run a new build or have multiple development systems.
So basically it is a really step hill to overcome just to start developing X. Perhaps steeper since the kernel at least has excellent, 'simple', modular code to work with.
Re:Anything else out there? (Score:5, Interesting)
Re:Anything else out there? (Score:4, Interesting)
Re:Anything else out there? (Score:4, Informative)
A better comparison is: do you keep sailing a ship that floats just fine, but is butt-ugly, slightly slow, has some odd quirks, and is missing some nice features found in the most modern ships, or do you build a new one? If you have plenty of resources at your disposal, you might as well build a new one. If you're resource-constrained, however, you better stick with what you have and just continue to patch it up.
Re:How close are we to being able to leave out X? (Score:4, Informative)
Re:How close are we to being able to leave out X? (Score:4, Informative)
1) As another poster said, remote displays are still in common use. I use ssh with X forwarding every day at work so I can have my desktop on one machine while running apps on other machines. It's a lot easier to do this than messing around with multiple VNC windows. You simply can't do this without X.
2) Qt still needs some type of display device drivers to interface to hardware. Presumably, those smart devices had streamlined display drivers linking Qt directly to the display hardware, but that's a lot easier to do on a small device with only one possible hardware configuration. In addition to all the display abstraction stuff, X is also a framework for display drivers. Even if you dump X, you'll still have to fork off all the display drivers it comes with, and come up with a new framework to deal with these and interface them to the kernel and apps.
Personally, I think there's definitely some stuff in X which just isn't needed any more, such as the print server. But those things aren't central parts of X anyway, and are already easily omitted.
Re:Anything else out there? (Score:4, Informative)
You can safely run more instances of the Xorg server on linux - just start on another screen (ex. Xorg :1). It's just that easy - the server will run in another
virtual console. If you know you made changes that could lock up your screen/keyboard,
you could conveniently schedule an at(1) process to kill it after 2 minutes (or
ssh into the box from another machine).
And if your messing with video card driver code, then again vmware won't be of any use. Unless you're working on the special driver for the vmware virtual video card itself.
And finally, at least for debugging and testing purposes, qemu (which is free) works just as well as vmware.
Re:Anything else out there? (Score:4, Interesting)
MOD PARENT UP - HE MAKES A GOOD POINT (Score:4, Interesting)
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.
Re:MOD PARENT UP - HE MAKES A GOOD POINT (Score:4, Interesting)
It's also been my experience that this is typical of community projects and software, ESPECIALLY GPL stuff, people work on the exciting stuff and leave the mundane parts of the system to rot and trail behind more modern systems.
There is no other explanation for me for why Xorg and X11 in general are so poor, no one is being paid to develop them like other competing systems.
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)
>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:4, Informative)
Re:Anything else out there? (Score:5, Interesting)
By contrast, the linux kernel can define both its driver interface (how it interacts with hardware) and its API (how software interacts with it). The kernel pushes complexity into the driver space. X is stuck managing that complexity.
X also suffers from having a complicated function. Managing graphical relations is computationally intensive and difficult. That's why the GPU is separate from the CPU -- to allow for specialization of these complex functions.
A third problem is that X is more general purpose than many drivers. It would be easier if it only had to work with one monitor and graphics card, but the reality is that it is expected to work with all of them. This is also true of the kernel, but the kernel has greater ability to push the heavy lifting into the hardware's driver than X does.
Finally, I think that one of the biggest advantages that the kernel has over X is that it is adjacent to more things. X lies between the kernel, the graphics hardware, and the window manager. Generally, X uses the kernel rather than the other way around. Therefore, it's only people that are working on graphics hardware and the window manager who are interacting with X and therefore likely to find something that they want to change. By contrast, any program might make a kernel call.
Similarly, KDE/Qt and Gnome are accessed directly by many programs. Programs should be accessing X through the window manager.
All that said, you are probably correct about X needing to split itself into smaller, more elegantly abstracted pieces. However, even if X does that, it is still likely that it will be under documented with relatively less participation than other projects. While fundamental, it's simply not adjacent to enough other software to recruit easily. Without recruits, who is going to write the documentation and tutorials needed to gather more recruits?
Of course, we may simply be confusing words here. You may be using complicated to refer to what I would call inelegant or non-modular.
Re:Anything else out there? (Score:5, Funny)
Re:Anything else out there? (Score:5, Informative)
Re:Anything else out there? (Score:5, Insightful)
Re:Anything else out there? (Score:5, Insightful)
Re:Anything else out there? (Score:5, Insightful)
Re:Anything else out there? (Score:5, Funny)
Re:Anything else out there? (Score:5, Funny)
Re:Anything else out there? (Score:5, Funny)
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:4, Funny)
Re:Anything else out there? (Score:5, Funny)
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, Funny)
We should revive XFree86. To start, we should generate a list of features for the next release. We'll spread some rumors about what we're doing, let the world see how hard we're working on it.
This should get some attention from
Now for phase II. About this time next year we announce a release date, delay it a few times, then release it about two years from now. Make it a big deal. Major release. Get everybody talking about it.
For the release we'll drop all of the major new features on the list. We'll fix a bug or two, something major like a spelling error in a log report. Of course, we'll add a few new bugs. We could drop support for some hardware. For new features we could change a few things in the conf file. Instead of "Section" you now have to use "Block". We could totally change the format of the ModeLine to something totally crazy (crazier?)
If this follows the corporate model we have today it should drive major innovation and more frequent releases from X.Org, though our XFree86 project would unfortunately take away most of X.Org's market share.
Open source projects would probably earn the respect of more businesses and government agencies if it would just follow these common sense models from the corporate world.
Re:Anything else out there? (Score:5, Informative)
Developers where complaining about xfree86 for years before the fork, When the license changed it was just enough to push the fork. X.org began a long boring process of breaking X into smaller modules which will accelerate overall development. The problem is that process is still on going, and will take a few more years before any major upgrades can take place.
Think about the Mozilla project. They spent years cleaning out the core codebase and upgrading the core gecko engine from Netscape before they even had a decent beta. X.org is doing the same to something far larger, and uglier.
Re:Anything else out there? (Score:5, Interesting)
Re:Anything else out there? (Score:5, Informative)
[...]
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.
X11 already provides desktop Linux with you need to run high performance graphics.
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:5, Interesting)
Comment removed (Score:4, Insightful)
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:Anything else out there? (Score:5, Funny)
The X server should be mostly scrapped and rewritten in Java. Java is a language that is suited for managing information like that, while still being high-performance (enough). The server could be rewritten in C++, but C++ is messy and is a complicated and archaic language at this point anyway.
Take a look at for instance weirdx [jcraft.com] which basically one person did. It handles most of the core functions of X and plenty fast (of course it is incomplete since it is one person's hobby). Or see Sun's Project Looking Glass, an opengl X server written in Java -- that was also written in one guy's spare time. With more development on these they could be real competitors to X.org while being more approachable, and I'll bet faster than the C code.
Re:Anything else out there? (Score:5, Funny)
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: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:Anything else out there? (Score:5, Informative)
Re:Anything else out there? (Score:4, Funny)
X.org should scrap the network transparency cruft. It's never worked well, been a slow performer and is used by a small portion of the user population. It's been supplanted by better tools such as vnc and nx (better as in faster, easier to use, more widely accepted). Scrap that and it would make X.org a lot easier to maintain and use. It doesn't have to implement everything in the protocol specification and that's one thing that could go the way of the dodo.
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:5, Insightful)
Re:Anything else out there? (Score:4, Informative)
Now, if you have to deal with xlib for the X protocol, that can be a pain. But that is why XCB [freedesktop.org] (X C Bindings) was invented.
XCB is apparently very nice to work with, and it has "a small footprint, latency hiding, direct access to the protocol, improved threading support, and extensibility". The most recent distros are using XCB/xlib which uses XCB internal, while allowing xlib apps to function without changing anything. When XCB is standard in enough installed systems, apps and toolkits can begin migrating to native XCB. When the Awesome window manager 3.0 comes out, it will be the first WM to use XCB directly.
As for NX, it is really just compresses the X protocol and encrypts it. If you remove X network transparency, NX is useless. I, and I suspect many *nix admins, vastly prefer NX or X over SSH to VNC, RDP, etc (of course plain ssh probably gets used more than all of those put together on *nix).
Re: (Score:3, Funny)
Re: (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: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:Anything else out there? (Score:4, Informative)
Re:Anything else out there? (Score:5, Interesting)
We're using X as our windowing system because it's what we have, and we need it. But I don't think anybody (or not many people) really *believe* in it.
That is to say, I doubt anybody takes a look at it and says "this is it! This is the way we should do Windowing!" And so the followup, "...and if it this thing worked, then it'd be more awesome."
What people actually say when they start looking at it looks more like this.
"Okay! X.org is a good project! I think maybe I'll contribute my time to it! Hold on...what is this? Why does it have all these features that nobody cares about? Why the nonstandard build system? What's with all the crazy legacy code? This thing is way too complex for me to spend my time on, and what I learn won't transfer to any other work. I'll pick something else."
Re:Anything else out there? (Score:5, Interesting)
I've tried to help the project two years ago, I did dome work on input hotplugging and while not much of the code I wrote finally made it to the upstream (Daniel Stone, the man behind the input subsystem, finally decided for a different solution than what I was thinking about - maybe that was a good decision, I'm not the one to judge), I could experience myself how difficult developing X is. Besides skills and experience, you need to be able to keep track of such a big structure mentally, all the time. Not every programmer can do that, even skilled and experienced.
And, no, you can't always abstract everything out and make a nice, clean structure for the code to adhere to. Maybe the X code could be a bit easier to modify, but just a bit. Trying to force that, you would end up with an Xserver counterpart of GNU Hurd, if you know what I mean...
Re:Anything else out there? (Score:5, Informative)
I'd say all the old, device-dependent xfree86 code is to blame for most of the needless complexity and while it is being rewritten, it's a slow process that requires more developers than are involved with the project. Working with the new X.org code, while still demanding, wasn't really bad, just required thinking and getting "the bigger picture" well.
Actually, the new code is perfectly capable of dropping network transparency, integration of needless extensions and so on *when it's appropriate*, just take a look at Kdrive. But still too many important things remain in the xfree86 part.
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: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!
Network transparency (Score:4, Interesting)
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*
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:Anything else out there? (Score:4, Insightful)
Re:Anything else out there? (Score:4, Informative)
Re:Anything else out there? (Score:4, Informative)
Re:Anything else out there? (Score:4, Informative)
Not yet. (Score:4, Insightful)
Martin
Re:You Are (Score:5, Interesting)
Your "provocative" posts are probably counterproductive if your intent is to get X.org some more community contribution. Legitimate complaints met with 'fix it yourself' are what push people to OSX.
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 ?
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.
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:Finally, developers' ignorance and childish (Score:5, Informative)
Everyone who suggests changing the architecture of X by removing network transparency is arguing from a position of ignorance. There isn't a faster mechanism for doing a GUI server without either building the windows server into each app (allowing only one app at a time), or building the window server into the kernel (bad idea).
Re:Finally, developers' ignorance and childish (Score:4, Informative)
It doesn't uses shared memory, I think. There's a "shared memory" extension, but there's not a "shared memory transport" for the X11 protocol. Sun's propietary server has a shared memory transport, and it was said that they'd opensource and port it for X.org, but so far nothing has happened. It'd be an interesting thing to have, i think - today, when an application wants to display a image in the server it must send the whole image to the server (the protocol is network-oriented so it can't send a "reference" like a file, it has to send the whole data of the image). If the client app keeps the image in its memory after sending it to the server, the image is using 2x its memory size (one in the server, one in the client). With a shared memory transport, client and server could shared the memory that the image is using. Or so I've heard.
Re:Finally, developers' ignorance and childish (Score:4, Informative)
There have been several proprietary shared memory transports added by vendors over the years, including Sun, so the poster is correct. And once upon a time Precision Insight wrote an implementation for XFree86 as well.
However the conclusion after benchmarking various operations was that there was little to no benefit over the unix domain socket transport since it doesn't speed up render-bound operations at all the most significant transport-bound operations are already optimized using the SHM extension. Though performance was improved slightly on some hardware the recommendation after initial implementation and optimization was to abandon the effort.
Re:Finally, developers' ignorance and childish (Score:5, Informative)
As for the protocol, only a few parts are actually poorly designed. Grabs need to be reworked as they can result in subtle race conditions and lock-ups. There's a lot of old cruft that nobody uses that could go away, but isn't really causing a problem by remaining in the protocol. The main historical problem was Xlib, which did a lot of stupid things with the protocol, resulting in reduced performance, especially over the network. XCB fixes that, although no toolkits have been ported to pure XCB yet (and it may be a while).
Ultimately what's going to be happening is the move towards Composite/EXA, OpenGL and DRI(2) for everything, which should negate a lot of the existing problems with X's rendering infrastructure. Again, the lack of manpower is going to prevent these projects from making much forward progress.
Re:Finally, developers' ignorance and childish (Score:4, Interesting)
The fact that you even remotely consider communicating larger objects than drawing commands to the server, such as widgets, is proof that you have never even thought seriously about how these things are programmed. It will not work, it would be unbelievably complex. In X this is where the horror of the ICCCM window manager hints and protocol come from (basically it is an attempt to put a complex "window+frame" object over the api). Windows and OSX do not do this at all, all communication that leaves the app's local address space is pretty low-level drawing commands.
Client-side fonts are done by sending the bitmaps of the fonts over. It is a huge win, because no longer is there a "font object" that is attempted to be communicated. It is exactly the OPPOSITE of your proposal.
What's the problem? (Score:5, Insightful)
Phoronix will pay to fix X (Score:5, Informative)
From the article:
Re: (Score:3, 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: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.
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: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:Phoronix will pay to fix X (Score:4, Funny)
Haven't really noticed any reduced quality .. (Score:3, Interesting)
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 360 [free-toys.co.uk]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:Haven't really noticed any reduced quality .. (Score:5, Informative)
Re:Haven't really noticed any reduced quality .. (Score:4, Informative)
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.
Typical of Microsoft (Score:5, Funny)
Gots to pay people... (Score:5, Insightful)
With maturity is this a problem (Score:3, Interesting)
ID games? (Score:5, Funny)
Paid developers? (Score:5, Interesting)
Re:Paid developers? (Score:5, Informative)
That what's wrong with Open Source (Score:3, Funny)
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 !
Maybe it's time to dump X (Score:5, Interesting)
Perhaps X should be replaced, not improved.
How X got to where it is (Score:5, Informative)
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.
Re:I don't like this (Score:5, Insightful)
The salient question would be: What's stopping us from fixing the bugs in it.
Duh (Score:5, Funny)
Re:Lazy Developers (Score:4, Insightful)
Well, excuuuse me! (Score:5, Funny)
Re:Lazy Developers (Score:5, Insightful)
Re:What exactly is X.Org missing ? (Score:4, Interesting)
Re:As good as Xorg is... (Score:4, Insightful)