BSDVault.net has published the transcript of a Q&A chat with Jordan Hubbard, the prominent FreeBSD leader who also works for Apple’s kernel team. The chat took place at the #freebsd IRC channel on the OPN server. In the very interesting chat, Jordan talks about MacOSX, BSD, SMPng and X11: “Well, I certainly have been using the X window system for a long time and have written a fair amount of software for it; for what it does, it rocks, but for what it doesn’t do, it really sucks too. Don’t even talk to me about font handling or printing. So I think that before you’re going to see X really get some decent applications, you’re going to have to finish the missing 5% of X, the part that was scheduled to take 90% of the time and so nobody got around to it. Plus, the whole UI war thing needs to end. Adobe is never going to port photoshop while nobody can answer “Which GUI environment is dominant and therefore recommended for use?” So I think X will probably remain the DOS of window systems. It is used for a lot longer than anyone predicted, deeply loved by its adherants who know how to do absolutely anything with it, ignored by the mainstream who will have moved on.”
> So I think X will probably remain the DOS of window systems.
The difference is that at some point M$ finally trashed DOS for the NT kernel…
(hope it’s not flame-material here 🙂
If X were to be replaced then all of the GUI apps that were written to X stop working. You can’t just dump X. No X no GUI.
If you all want to replace X then could you suggest a replacement?
Not a vapor web page, but a free opensource ready to use right now product.
well, not ready and finished, but DirectFB isn’t bad, but then as far as i’m concerned there’s nothing wrong with X, it does what i need it to, it’s hardware accelecated where it can be and is generally pretty good.
I’m not ‘THE’ OS design guru and this may sound a bit dumb, but, can’t you just build the GUI so it talks directly to the kernel? I don’ know anything about it really, I just assumed an OS, like BeOS as an example, had an interface kit that just talked to the main bit of the OS without a form of buffer, if you get what I mean.
It seems from a laymans point of veiw that if you had a Gui, say KDE, and made it talk directly to the kernel then it might be a more efficent way. Is that at all possible?
-G
Of course you can dump X and still run your old X apps. Have you noticed how Windows, MacOS, BeOS, etc, are able to run X apps, even though they don’t use X? All you have to do is put in (new and cool windowing system) for use with the new apps, and keep X around as a separate application for a few years, to support legacy apps.
As for a replacement, there are a few promising candidates… W, Berlin, or GnuStep come to mind.
I truly do not understand all the fuss about DirectFB. DirectFB is very useful in some *specific* projects (mostly embedded stuff), but not on the Desktop. DirectFB is about ‘grabbing’ the framebuffer. In other words, same what VESA 2.0 does performance-wise. In other words, slow and unaccelerated. I don’t get it. There are so many people raving about DirectFB and they have no bloody clue what it really is. They are just following the wave and they are raving as they raving about Linux being the best unix-like OS ever while they have never used FreeBSD or Solaris.
From the DirectFB web site: “It is a complete hardware abstraction layer with *software fallbacks* for every graphics operation that is not supported by the underlying hardware. DirectFB adds graphical power to embedded systems and sets a new standard for graphics under Linux.”
In other words, VESA with a library on top for abstraction. I don’t see how is that better than X when it comes to the *desktop*.
As my husband says: “Pure direct framebuffer access, *by definition*, has no hardware acceleration. So, either their name is very misleading, or they are liars.”
I may believe that X should be re-written or should be “fixed” or whatever, but I certainly do not go raving about DirectFB and other fashionable words without making some small research first.
Jeremy, I agree. X can be dumbed and still run the legacy apps, via an X server that will run as a “daemon” on the new GUI system. BTW, do you have a link for W?
Eugenia, you’re wrong here. DirectFB is more than just a dumb VESA framebuffer, it supports hardware acceleration for many operations. Quote from directfb.org
Hardware accelerated graphics
DirectFB provides the following graphics operations:
* Rectangle filling/drawing
* Triangle filling/drawing
* Line drawing
* Flat shaded triangles
* (Stretched) blitting
* Blending with an alphachannel (a.k.a. texture alpha)
* Blending with a constant alpha blend factor (a.k.a. alpha modulation)
* Nine different blending functions respectively for source and destination, so all Porter/Duff rules are supported
* Colorizing (a.k.a. color modulation)
* Source color keying
* Destination color keying
Yes, it does supports all that. But the question is: in software or in hardware mode?
But I must admit, the term “DirectFB” also confused me at first until I did some research on it. Now it seems to be a cleaner approach than XFree86 to me – I don’t like it when user-space software (X server) has direct access to hardware.
“The API and structure of DirectFB is designed to provide an easy way of implementing the following parts:
* Graphics acceleration (currently Matrox G200/G400, ATI128, Voodoo 3, NeoMagic and CyberPro)”
Doesn’t GNUStep run ontop of X?
Why not extend X to contain a selection of standard widgets (Button, List, TextArea etc)?
mlk
I surely hope X’s original creator isnt reading what’s been put up here, and if he’s dead he’d be rolling in his grave right now. I question the fact of whether many of you even know what X really does. X is a windowing system, its job is in fact rather simple, take messages from clients (applications) and do something with it, and send messages to clients for their input.
Here is the problem with X. Its OLD, X11R6 specs are like 10years old or something. That shouldnt be a problem though. The main problem is that it was made for high end servers to dish out graphical shell accounts via terminals, it was not made for desktop PCs where the Xserver is on the same box as the Xclients. Why is that? Well like i said, it works with a messaging system, where the client sends a message saying “draw me a square of this size in my window please”. The Xserver, being anywhere on the network responds by putting a square on the screen. Xlib is the most basic of widget sets, you could build an app that uses only that (example: xcalc). Xlib also uses the message system, so: Your apps sends a message to Xlib and Xlib sends a message to the Xserver. 2messages to do the simplest thing (with a widget in mind). Qt and GTK+ are other widget sets and work in a similar fashion. Xlib was made ugly because when it was created i doubt anyone had a graphics card that could do anything but grayscale (BTW X in grayscale can look pretty darn sweet).
3D acceleration on a network NOT a good idea. Like i showed above, the messaging system gets tiresome real fast. How can it all be made faster? Ditch the messaging system (im pretty sure the technical term isnt message but queue or something or rather). Use the video driver directly, which is what DRI is for, but still has X there to slow it the hell down where possible.
Yes, GNUStep runs ontop of X, therefor is not a competitor to X. People seem to mistake that about GNUStep. Its a NeXTStep knockoff (dont take me wrong, i love GNUStep and use WindowMaker), and since NeXTStep didnt use X many think that GNUStep doesnt use X either, thats not true.
Anything that uses a framebuffer cant be all that fast IMHO. Graphic chip makers are building more and more functions into their chips every day, you could basically make a spinning cube with compressed jpegs as textures, lighting and shading all in hardware.
While there are *many* graphic user interface projects out there, i dont see any of them stand out and begging to become the next big thing.
Whoever said X apps cant run without X should be SMACKED! You can compile The GIMP for Windows, if that isnt a good enough example for you, i dont know what is. Its written in C, all you need to do is change the libraries abit so that the app thinks its dealing with the same OS that the programmer made it for.
I’ve got all that to say and im not even a graphics guru, read up people.
May anyone elaborate on the possibilities of http://kgi.sourceforge.net“>this as a potential XFree86
replacement?
The GIMP is based on GTK+, which from what I can work out is an abstract set of GUI compents.
All I’m suggeting is moving each of those to a single X message, hence speeding X for the desktop user up.
Expand X beond a Windows System to a Desktop Envorment.
You need more than that to speed X up. For X to be good for the desktop, you would have to take out what is X about it, the network possibilities. Instead of using sockets for everything, have API calls for functions..etc… Using a socket to the local machine really doesnt help its case.
As far as KGI goes, from what i could see, yes it could be a replacement, but it really seems in its infancy and i would place a bet on it being the big replacement.
But all those who complain that Apple takes but never ever gives back…
[23:00] <_jkh> and some code has flowed in both directions
[23:00] <_jkh> like the cool filesystem exerciser that Apple had which the FreeBSD folks were able to use to turn up about 4-5 really bad and long-term bugs in NFS
[23:00] <_jkh> and even one in the soft updates code that Kirk had been chasing for months
[23:01] <_jkh> that was a very simple thing to do, but it had major effects
I’d say that puts that to rest. I’d like to see Apple do more but you cant complain that they dont do anything anymore.
If big ones like IBM, HP and even Intel are going Linux and we see capital ventures like Linux Global Partners invest in projects like Ximian and Xandros, and Red Hat seems to make some cash, and so do Mandrake and Suse, and so on…if there is so much money coming to Linux, and some trying to go to the BSDs, how come no one cares about replacing Xfree??? What’s the point of Gnome2 or KDE3 with this X? What Hubbard said about the DOS of window systems is not new.
Nobody really cares about the KGI or Berlin projects, and we have people that actually say X is fast and most of the trouble is in the code running on top, and that kernel changes like the new scheduler and the preemptive patch are going to speed things up in Linux (without a GUI I guess)… I can understand that obfuscation in people that don’t risk their capitals, but I just can’t figure why isn’t there some kind of coalition of Linux investors solving the X problem for good.
he mentioned printer & fonts, not speed.
said this 5% features needs 90% coding, but _are_ needed.
he wants printing looks like on the screen, and if not, its not usable.
My last “fight” with upgrading X to the “latest and greatest version” resulted in:
1. Mouse pointer disappearing (had to use software emulation rather than hardware sprite to fix it).
2. Only 256 colors being available (older versions of X had no such problem with my card, but due to some new fancy architecture of X, bye bye colors).
3. No improvements in truetype font support (after half a day of reading pages and pages of documentation and struggling with libraries and font servers and whatever else). Even if I got this font stuff working, I suspect only 2% of existing apps would use it anyway. It’s just *ugly*.
One sunny day, I just decided I have better things to do with my time, so I went out and got an iBook and installed OS X from scratch. I’m quite happy to leave all those X problems behind. Perhaps one day the X developers will overcome these problems, and I wish them well. I can now return to being productive, and let my OS worry about how to display pretty fonts, handle printing, or give me a uniform GUI.
….What shem said. But then download fink and have it install X and all the goodies for you. Need that GTK+ app? no problem. Do you miss Xeyes? No problem…. Want MSOffice (or was it your boss that wanted you to use it) noooo problem. Want to run Quake natively, Diablo2, Alice? noooo… problem.
shem put it best: “give me a uniform GUI”. X does not provide this, yet OSX, Windows, NeXTStep/OpenStep, Nanosistemas, and almost every other GUI i can think of do. What made X neat and revolutionary is now become a huge problem. Application developers now have to decide: GTK+? Qt? or use a custom widget set? And its come to a point where its not only the look of the program that its depending on, its how its coded. The result: An application who’s future relies on the success of another project.
Raptor-32, I was browsing through http://uuu.sourceforge.net“>the and reading your http://uuu.sourceforge.net/docs/video_specs.txt“>Uuu and I still wonder how far you want to take it. Do you really want to inplement a GUI for it?
The first time I came across that project I thought it was more done for researching than aiming for a usable os.
Hope I read more from you at osnews.com soon.
I know some of the former V2OS developers are in http://uuu.sourceforge.net“>UUU MenuetOS” rel=”nofollow”>http://www.menuetos.org”>MenuetOS project or the <a href=”http://www2.wku.edu/~barceed“>Nanosistemas one that you cited.
thx.