XFree86 10 Years Old
ChazeFroy writes "XFree86 is now 10 years old. To quote from the page, 'What makes this particularly eventful is that it is fully backwards compatible; this is a true testament to the spirit of the original X protocol of which XFree86 is its finest implementation.'" Ten years and
still binary compatible. Very cool.
Congrats to X on it's birthday. I've noticed in the past on /. that everyone has opinions on what should be changed in X. I havn't had any problems with it and I'm quite pleased with it's performance. But i'm wondering what do you guys thing should be changed/added/taken out etc?
ahh, the egg in the basket..
Stupid like a fox!
It should be possible to change colordepth in runtime!
MS windows retains compatibility with 20 year old DOS programs and they are considered behind the times, but XFree86 retains compatibility for 10 years and it is "impressive"?
I mean we really should celebrate ten years of a system that by design is a bad solution for todays desktop, but which everone sticks by "for backward compatibility", f*#% backward compatibility and go with somthing that does what BeOS does (I had to change did to does there :-( ) "responsive gui first, then let the application do their jobs". Directfb is an atempt in the right direction. For a modern (alpha blending, antialiased) desktop you need to be the most efficient comunication between the hardware acceleration of the graphics chip and the application that uses it and the x-protocol just is not that.
;-)
Don`t get me wrong, having remote x terminals is a realy boutifull thing, but *not* at the cost of a single machine desktop speed, I am back getting the leaked BeOS dano to work to celebrate this birthday
Last time I tried Linux (Slackware, sometime around 1996) I gave up trying to get X work, because it wanted all sorts of arcane details about my video card and monitor and kept warning me that it could permanently damage my hardware if I guessed wrong. So I went back to Windows, which auto-detected the information correctly.
But if XFree can auto-detect now, perhaps I should give it another try...
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
X is a model showcase for the popularity of the BSD license. It triumphs in both commercial and academic settings, just like BSD itself.
Only if your Linux system supports the old a.out exec format and the ancient libc installed, no?! :-)
/tmp/bin$ file xload
Go ahead, grab XF86-2.1-bin.tar.gz and see if any of the binaries run
xload: Linux/i386 demand-paged executable ZMAGIC), stripped
-adnans
"In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people." --Linus Torvalds
But first, someone has to implement even rudimentary hardware acceleration into the framebuffer.
Then someone would start to complain about lackine network transparency.
Come on, X is here now, and it works beautifully! Nor is it slow, as seen by the mailer Sylpheed, or Dillo. Or Qt Designer. It's obvious that the perceived slowness of X lies neither in the toolkits or the windowing system, but somewhere else.
For KDE and GNOME that slowness rather stems from the kparts/bonobo component architectures
I've seen many flame wars over how X sucks and it needs to die, and all the counters, the primary being X works here and now why change? I personally don't care for using X much, but I don't advocate it's death. My question is why others are so hostile towards projects that seek to try to make something better. ANYTHING can be done better, especially after ten years. And I'm not saying people should abandon X at all, but I don't see the point in harassing the projects that seek to make their own windowing environment. I keep seeing people complain about lack of support and such and they need to remember that when XFree86 was younger it didn't have much support either. Why are so many people opposed to giving new ideas a chance? I thought the entire point of a GPL community was so that new ideas can grow in the first place?
So, you run Gtk+ right on the bare metal. Well, that's fine as long as you don't mind running full-screen. If you want to have more than one application running at once, someone has to arbitrate. That means you need a window manager. Then someone has to keep track of the mouse pointer - individual applications would otherwise fight over it. That includes drawing it, moving it around, changing it to the right sizes, shapes and colors on demand. I guess that would go into the window manager as well. Same goes for keyboard focus - applications can't all think they have the keyboard at the same time, now, can they? What the hey, throw that into the window manager too.
Cut 'n' paste between applications? Need some sort of message passing server. Throw that into the window manager as well, why don't we. Drag 'n' drop? More messages - have to support that in the new window manager. Session management (i.e. login, logout, and which applications to start up when you re-log-in)? Need something for that too. 3D calls to the graphics card? Someone had better arbitrate - you only want one application doing that sort of thing at a time. I guess the kernel could probably handle that, since it is already arbitrating the frame buffer.
By now you have a new "window manager" which has subsumed a lot of the complexity of the X server. Sure, you are no longer passing messages between two processes just to display 2D graphics, but I'm not really sure how much of a speedup you get just from that. As Jim Gettys (you're posting technical comments about X11, so I hope you know that name!) is fond of pointing out, lots of people think X is old, clunky and bloated, but nobody seems to be able to produce an alternative windowing system with equivalent (or even adequate) feature set but without comparable complexity.
"How can you claim that you are anti-crack, while still writing a window manager?" — Metacity README
Can u give me a URL for full accelerated driver for my Geforce 2 card? how about some fast 3D graphics please? good XvMC support? umm, perhaps XFT-2 support please?
http://www.nvidia.com/
So? The point remains that it's significantly slower than other windowing systems that aren't network transparant.
;-). As I said the slowness seem to be in the component-libraries of the major desktop environment. This has nothing to do with X. X apps which do not use these services run fine and fast. Even though they use Qt or GTK+. As I said, the slowness isn't on part of X or the toolkit.
Well, no
Actually KDE and GNOME would surely suffer from the same slowness in startup times even if implented (sp?) on Windows (the horror).
Then, of course, there's the utter lack of standardized widgets for doing just about anything. Which is where kparts, gtk, etc. come in.
GTK+ and Qt provides widgets, neither of these are slow if used as widgetlibrary, on the contrary, especially GTK is plenty fast. Qt suffer some from the gcc C++ linker.
But it's a sad statement that a GUI that is WELL over 10 years old (X11 predates XFree86) is just starting to get some decent standardized widgets (sorry, no, CDE, OpenWindows, Motif, etc. didn't cut the mustard even when they were new).
If only you weren't right...
Seriously what the various _UNIX_ desktop environments lack compared to Windows is a speedy component architecture. This is as stated above and in previous post not dependant on X. X handles the display and only the display. What the applications actually do behind the scenes are of no interest for X. Only what they display.
And with a well setup accelerated display, you shouldn't be suffering from artifacts or flickering.
On the problem of server for X, why do many seem to think the framebuffer would be better supported? I have no experience coding X-servers, nor any experience coding framebuffer support, so I ask: why should any one of those be easier? Enlighten me!
All "mother" needs is a sufficient good frontend. Those infact exist for X.
I've never seen one on linux[1] that I'd want to use everyday.
Sure KDE and GNOME et. al. are interesting toys, but their numerous kludges, bugs, inconsistencies, slowdowns, crashes, and poor GUI design annoy the hell out of me.
C-X C-S
[1] SGI's desktop wasn't bad, for a UNIX/X desktop.
Bit on the ugly, CDE-ish side, but at least everything seemed to work "right".
Will we be able to say the same about Perl in a few years?
If I understand the idea behind Perl 6 right, it won't quite run Perl 5 unless you compile the P5 code and decompile it to P6. If this happened to XFree86, wouldn't we see it as a stain on its history?
Let's try to make sure we can run this announcement (backward compat for 10 years) for all our projects.
-twb
Fuck you! X can't just take out everything, because if it did, it wouldn't be X. X is a standard protocol, and as such, The XFree86 Team has a standard to conform to.
You say the old code is for legacy's sake, and want to take it out for newness sake. Code before 1995 can't POSSIBLY be good, can it?
You want an X server re-org? You want it to be more modular? Sorry, we already did that. It's called XFree86 4.0.
PII266mhz with 96MB. XP runs faster than Win98 did on this same hardware. No smoking, seriously. The only slowdown I have is with the transparent selection box in Explorer, which I disabled anyway.
I'm also on a 33.6 modem. I guess I'm "old school."
"And the opposite attidute--'we don't need to stinkin' manuals'--is why the number solution to any Windows problem is to reinstall."
:-) I used to be a complete Slackware devotee and despised Windows on principle. Then I got into the real world and saw how silly and hindering such polarized viewpoints can be. Linux has its place, but not on the desktop. Not just yet.
I'm not afraid to say it--the fact that to use Windows requires little to no reading of HOW-TOs and thick manuals is a point in its favor.
"Yeah, but I bet you didn't pass your driver's test without reading the manual."
Read no manual, I learned from my dad.
"You don't need to be an auto mechanic to know how to drive, but you should at least know how to change a tire."
What would be the Windows equivalent to that? Adding/removing a program? These are simple operations compared to what I was referring to, things like making the GUI preemptive by using some command at the bash prompt. And such knowledge may be trivial to you and me, but to someone inexperienced with Linux, they'll just say "Well, that's stupid," and move on to to something that works for them outright. Why shouldn't they?
"The common Windows perception is that you don't need to know how to maintain your car."
Ideally, a computer should be able to maintain itself. And people don't credit Windows enough for how well it works. I'm not talking about the 9x line, either--I know how bad it was.
We have the ability to make things easier on the user. You seem to be suggesting that it doesn't matter, and that the user *should* be forced to manually maintain their computers on principle. That seems a step backwards, like a halt on progress. Should we get rid of automatic transmissions, power steering, and more, because drivers *should* drive it raw just to know how and what it's like? Why should computers be complex? Most other industries consider it a good thing to simplify and make their products more efficient.
"If you get a blowout you'll just call up your neighbor Marge who knows even less about computers than you do. Unfortunately that doesn't work when your blowout occurs on I15 in the middle of the Mojave Desert."
So I guess users should be forced to memorize refresh rates and command-line parameters to launch their GUIs as preemptive in high resolutions, simply because elitists feel they should take time out of their lives to learn such things as the format of a xf86config file or the correct timings for their monitor or which version of XFree86 uses their video card without crashing. Never mind that there is an equivalent car that takes care of most of that automatically.
Most developers, including in other industries, take the time to make their products user-friendly. Only in the Linux community have I encountered people who tell me it is good to keep things complex and time-consuming because it's supposed to be better that way. This is why I personally consider Linux to still be just a server OS, although KDE is really starting to look good.
This is all my opinion, of course.