Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
GUI Graphics Programming Software IT Technology

Qt On DirectFB 417

Ashcrow writes "The feasibility for DirectFB to replace XFree86 just a little stronger thanks Maurizio Monge very first alpha release of Trolltech's Qt library for use in DirectFB. You can check out some screenshots or go straight to the source. And yes, it has been released as Free Software."
This discussion has been archived. No new comments can be posted.

Qt On DirectFB

Comments Filter:
  • by lakeland ( 218447 ) <lakeland@acm.org> on Monday July 21, 2003 @08:25PM (#6495374) Homepage
    Now I guess we get to find out how much KDE assumes X11. Because there aren't many QT only apps out there.
    • There's also an implementation of GDK, or something. (I don't completely understand GDK vs. GTK.) Take a look at the GTK+ [directfb.org] link on DirectFB's homepage. Apparently we can also run GNOME apps on DirectFB.

      Ian

      • GDK vs. GTK (Score:4, Informative)

        by roystgnr ( 4015 ) <roy&stogners,org> on Monday July 21, 2003 @09:50PM (#6495843) Homepage
        I think GDK is a replacement for XLib (draw line here; draw pixmap there), and GTK is all the higher level stuff (draw button here and hook it to this function; draw and operate spinbox there).
        • Re:GDK vs. GTK (Score:5, Informative)

          by ambrosius27 ( 251484 ) on Monday July 21, 2003 @11:06PM (#6496281)
          Not exactly. GDK is an *abstraction* layer with multiple backends, the X11 one being the most prominent. To quote from the GTK/GNOME developers' website: "Instead of directly building on top of the X Window System, GTK+ introduces an intermediate layer, GDK, which isolates GTK+ from the details of the windowing system. This simplifies things for the programmer and increases portability." See the webpage [gnome.org]. Through GDK backends, GTK has been ported to MSWindows [gimp.org] as well as DirectFB [gnome.org](see also here [directfb.org]).

          I hope that helps.
  • by mindstrm ( 20013 ) on Monday July 21, 2003 @08:25PM (#6495375)
    Consider this: What do you really NEED X for. Try to think bigger than unix for a minute.

    Yes, X has remote display. That's a really useful and flexible feature in some situations, no doubt about it. And from a technical point of view, it's extremely elegant.
    In reality, though, to a great many linux users, it's a neat trick that you don't necessairly NEED.

    We use QT or whatever and try to design desktop systems (KDE, Gnome) which really just use X as a way to load up graphics primitives... those same systems could equally work on something else, with some great benefits in terms of speed.

    From a GUI perspective, if you use all KDE apps, for instance, things have a very nice consistent feel to it. Same with gnome. When you start mixing things, plus mixing in old X apps, you just detract from an overall experience.. so let's come out with a fast, standard display system taht's NOT x.... and use X rootless for those legacy applications we need.

    • I would not be happy to give up remote display. Not going to happen.
      • by slyall ( 190056 ) on Monday July 21, 2003 @09:29PM (#6495736) Homepage
        I would not be happy to give up remote display. Not going to happen.

        There is no reason why you can't run a X server over the top of a directFB desktop. This would enable applications that support the new system to run fast locally while X based Apps (remote and local) can take to the X server.

        There are plenty [google.com] of X servers for Windows and MacOS [xdarwin.org] that plenty of people use already.
        • by Tyreth ( 523822 ) on Monday July 21, 2003 @09:32PM (#6495753)
          Fair enough. Good news then :)
        • by SN74S181 ( 581549 ) on Tuesday July 22, 2003 @12:50AM (#6496731)
          Yes, but I want to run the same apps on an X server on any other machine on my network. The directFB apps won't do that. Once we start down an 'applications bound to a single framebuffer' path we're all stuck using KVM switches, VNC, and similar kludges; or we have to plant our butt in front of each machine to run graphical software on it. And both options suck.

          I have found that people who hate the X Window System are people who don't understand it. Many come from a PeeCee background and still don't get the idea that the network means more than 'that drive over there on a server' and HTML.
    • The best solution (Score:4, Interesting)

      by Anonymous Coward on Monday July 21, 2003 @08:43PM (#6495486)
      Plan 9's. The graphics, mouse and keyboard devices are standard devices that can be mounted from a remote filesystem; the advantage being the windowing system does not need to handle the network layer. And since each process has its own filesystem namespace, you have a bunch of different consoles and each program accesses its one at /dev/cons.

      The entire system, including the default program that runs in the window the equivalent of xterm [Far89] with `cutting and pasting' between windows is well under 90 kilobytes of text on a Motorola 68020 processor, about half the size of the operating system kernel that supports it and a tenth the size of the X server [Sche86] without xterm.


      The components of Plan 9 are connected by a common protocol based on the sharing of files. All resources in the network are implemented as file servers; programs that wish to access them connect to them over the network and communicate using ordinary file operations. An unusual aspect of Plan 9 is that the name space of a process, the set of files that can be accessed by name (for example by an open system call) is not global to all processes on a machine; distinct processes may have distinct name spaces. The system provides methods by which processes may change their name spaces, such as the ability to mount a service upon an existing directory, making the files of the service visible in the directory. (This is a different operation from its UNIX namesake.) Multiple services may be mounted upon the same directory, allowing the files from multiple services to be accessed in the same directory. Options to the mount system call control the order of searching for files in such a union directory.

      8½ serves a set of files in the conventional directory /dev with names like cons, mouse, and screen. Clients of 8½ communicate with the window system by reading and writing these files. For example, a client program, such as a shell, can print text by writing its standard output, which is automatically connected to /dev/cons, or it may open and write that file explicitly. Unlike files served by a traditional file server, however, the instance of /dev/cons served in each window by 8½ is a distinct file; the per-process name spaces of Plan 9 allow 8½ to provide a unique /dev/cons to each client. This mechanism is best illustrated by the creation of a new 8½ client.
      From here [bell-labs.com]
    • by MbM ( 7065 ) on Monday July 21, 2003 @08:44PM (#6495495) Homepage
      When you do run a QT or GTK app over remote connection, the remote (server) library renders the widgets to x primitives which are then sent over to the local (client) computer to display.

      Why is it that (to my knowedge) nobody has done this at a higher level? If the client already has a QT library why not simply send over a 'draw widget' command to that library, creating a proxy out of the server's library.
      • by edwdig ( 47888 ) on Monday July 21, 2003 @09:15PM (#6495663)
        SGI's toolkit works like that. Next time you have access to an SGI, try running Jot remotely. Won't work unless you're on another SGI.

        I guess the problem is figuring out whether or not the library is remotely present, and falling back gracefully if it isn't.
      • by Anonymous Coward on Monday July 21, 2003 @09:56PM (#6495885)

        People have done things like that, and it sucked. The reason is that it requires any remote machine to have a compatible version of Qt and GTK and every other damned toolkit someone might want to use. This is an administration nightmare at best, and impossible at worst. (What if you have two apps, one on each machine, and they both require incompatible versions of some toolkit? Then you simply CAN'T display either app remotely without jacking up the other app, or adding some overwrought version management system. What if some app you use requires the very latest version of its toolkit for some interesting new widget it adds -- do you really want that to force an upgrade on every machine you might want to display that app on?)

        To make this a little more concrete, let me make a little analogy. Imagine you have a web site, and you want to push more processing to the client. So, you change your dynamic PHP code into JavaScript code. Since you now no longer have the power to just say "this must run under version X of PHP, so we're putting that on our server", you have a choice: either make your app run in every javascript implementation that you might encounter, or place restrictions on what version(s) of javascript can be used to visit your site. If you had left it in PHP, there would be some disadvantages (slower, etc), but at least you'd know it would work with any browser.

        Now, naturally, the "any browser" thing is a myth. There are quirks with different HTML implementations too. But this brings out an important point. Somewhat unlike HTML, the great thing about X11 is that it does something really simple. It doesn't concern itself with complex details like what a doubleclick means, what a button is, etc. It stays at a nice low level. As such, it's more easily possible to reach a point where it's matured and it's stable. The X11 that some person has on their machine will be compatible with everyone else's, by and large, because it's at a low level and can be stable and mostly unchanging.

        So, while X11 isn't a paragon of simple, elegant, modern, clean design, it or something like it (with the same goals of sticking only to universal primitives, but maybe also with support for changing resolutions, etc.) is a very beneficial thing for the reasons similar to why Swiss banks are a beneficial thing.

      • by Baki ( 72515 ) on Tuesday July 22, 2003 @02:25AM (#6497104)
        X has the extentions protocols/API's for that. For example 3D (openGL) was added later to extend the X protocol with more high level primitives, and there are many more.

        The drawback is that such X clients only work if the remote client has the appropriate extentions loaded.

        It is well possible to develop QT or GTK X extentions. However for normal uses on a LAN any 2D application is fast enough to make it totally superfluous, and thus it makes to sense to throw away compatability with all X servers. Only for 3D, for video streaming and other special applicaions it makes sense.
    • > Yes, X has remote display. That's a really useful and flexible feature in some situations, no doubt about it. And from a technical point of view, it's extremely elegant. In reality, though, to a great many linux users, it's a neat trick that you don't necessairly NEED.

      Sure, but what about the rest of us?

      > From a GUI perspective, if you use all KDE apps, for instance, things have a very nice consistent feel to it. Same with gnome. When you start mixing things, plus mixing in old X apps, you just

    • Network transparency is a beautiful thing. I admit, my needs are a little exotic, but I happily run my computer from several dumb terminals (stripped down laptops).

      Why maintain a stable of computers when you can have one ubermachine (and of course a few cruddy ones for DNS and webcaching.) The wife has a copy of Win4Lin for Quicken and Office. And I never have to worry about being booted off the "good" computer.

      Hell, with my cable tuner in the big computer I can actually watch TV over the wireless. That is of course, if I had cable. I'm practicing living on Internet and DVD's alone. Apparently I missed something called "Reality TV."

      • Apparently I missed something called "Reality TV.

        You missed nothing.
      • Why maintain a stable of computers when you can have one ubermachine

        The thing is, while this is excellent advocacy, almost no one actually does this. Most people, at home, in a small business, or in a large corporation, have desktop machines, not thin client GFX servers. And they want to keep them.

        There's a few legacy apps where X is required, but MS own's 90% of the desktop, and the desktop is not migrating to any *nix until the *nix's drop their 10 year old X server technology and move to something

        • by Baki ( 72515 ) on Tuesday July 22, 2003 @02:20AM (#6497078)
          Why do ex-windows users keept claiming this? It is utter nonsense. X window has nothing to do with slow spread of unix on the desktop.

          Do you really think business users are disturbed by too little FPS for 3 D shootere?!?

          Yes, Motif is ugly. But it is not ugly because of X, but just because it is ugly. X is just a way to draw on a screen (locally or remotely). It is more than fast enough for any 2D needs one might have nowadays, even through a LAN. There are enough alternatives to Motif nowadays, but no single de facto standard has established itself yet. Do you think that by removing X and its network transparency, some elegant GUI toolkit suddenly establishes itself as de facto standard? Also on a direct FB it is possible to run many GUI toolkits.

          There are more than enough hardware supported (2D) X windows drivers. How can you claim that X was designed for and ran well on a 8 Mhz 68000 CPU, and does not run well on current machines which are 100 times as fast?

          As for people wanting desktop machines: "people" in fact want windows machines, because that is what they know and most are not interested in computers. However most incentives for introducing unix on the desktop in companies is to save cost, therefore the IT department/architecture forces the users whether they like it or not. Thus "thin clients" are introduced. Not the pure thin clients that are only a network terminal, but those that have the apps that are used most (office suite) installed locally and all other apps remotely, and running remotely via X.

          That is a great solution, because it saves the IT department loads of local support and configuration. New version? No need to distribute software to 10000 desktops, just upgrade on a couple of servers. Why do you think even Microsoft has introduced "terminal server" after years of denial? Only when citrix got really popular they had to discover that many clients (i.e. large corporations) do want a mixture of desktop and thin clients.

          Summary: it is an illusion and unfounded claim that X somehow prevents a migration to desktop unix. It is not because of, but rather in spite of X windows that migration to desktop unix is slow.
          • by mark_space2001 ( 570644 ) on Tuesday July 22, 2003 @03:09AM (#6497235)
            Yes, Motif is ugly. But it is not ugly because of X, but just because it is ugly. X is just a way to draw on a screen (locally or remotely).

            The guy who chimed in on the xfree86.org mailing list said Motif looked like it did because it was designed to use the X protocol efficiently. Everyone else on the list seemed to agree that when a "modern style" GUI is used (i.e., one that looks more like Windows), the number of draw primatives just skyrockets, and performance suffers.

            It is more than fast enough for any 2D needs one might have nowadays, even through a LAN.

            I've used an X server running GUI apps through a lan and performance sucked.

            There are more than enough hardware supported (2D) X windows drivers.

            Alan Cox on the XFree86.org list said in his experience laggy GUIs were caused by lack of 2D hardware accelleration in the drivers being used. Many 2D accelleration techniques are apparently proprietary. Someone mentioned a couple of drivers (I think for ATI) where the author had reverse engineered the 2D hardware accelleration by hand tracing through the binary Windows drivers.

            Needless to say, reverse engineering drivers by reading assembly language is a tedious process that doesn't happen for every card. There are lots of drivers out there. There are not a lot of good hardware accellerated drivers.

            How can you claim that X was designed for and ran well on a 8 Mhz 68000 CPU,

            Don't bug me, that's what the guy from DEC said on the list. One of their targets for a server was a Macintosh Plus (remember those?), that was a new machine at the time in the lab, circa 1986 or so IIRC. When they got X performance as good as the native Mac GUI, they felt the were doing well.

            and does not run well on current machines which are 100 times as fast?

            The whole list agreed here that the X desktop under both Gnome (GTK) and KDE (Qt) "feels laggy". I'm still running Windows becuase of this crap, I have no idea what a heavily loaded X server currently runs like.

            As for people wanting desktop machines: "people" in fact want windows machines,

            People (users, whatever) will notice a difference in performance however. If you go from a fast 2GHz machine that is at your beck and call, to a server that everyone shares, you are going to hit more slowdowns on that server. The server gets loaded with lots of people, usually at crunch time. For us it was running compile jobs. The server slows down just when you need it most, repsonse time decreases, users get frustrated, and upgrading the server is a major expense and hassle.

            Adding users with a PC is easy. You buy them a new PC. No other users are impacted. There's a flat per seat charge, you never have to buy extra capacity until you actually need it. Performance never varies for each user. It's predicable and therefore people just like it better.

            Yes, IT suffers with PCs, but that appears to be their lot in life. ;)

    • by fm6 ( 162816 )
      Well, there is the odd moment when it's a nuisance to not be able to run a remote X application. Like when you want to log into another system and run GVIM. But yeah, you're right, it's not worth keeping X around just for those rare circumstances, all of which have another solution.

      It's worth remembering why X is a network-based system in the first place. The X server software we use now was originally meant to run only on a dedicated terminal. Some of these were actually manufactured (I think there might

      • "Well, there is the odd moment when it's a nuisance to not be able to run a remote X application."
        For you maybe. I've worked in some very heterogenous environments where X was indispensible. I'd like to see more use of X. For example, I think it would be great if I could redirect the Tivo GUI to my desktop.

        "It's worth remembering why X is a network-based system in the first place. The X server software we use now was originally meant to run only on a dedicated terminal."
        X is a network based syste
      • by mwa ( 26272 )
        Like when you want to log into another system and run GVIM.

        Slightly OT, but in GVIM

        • :e scp://remotehost//path/to/file
        Same with http, ftp, rcp. Try :help scp

        Great when you don't want to maintail gvim for Solaris, HP-UX, AIX, ....

    • From a GUI perspective, if you use all KDE apps, for instance, things have a very nice consistent feel to it. Same with gnome. When you start mixing things, plus mixing in old X apps, you just detract from an overall experience..

      Umm here's an idea for you then... don't mix them! No one's forcing you to.

      Instead you want to advocate a system where those of us that disagree can't mix them? Why is that?

      Anyway, as you should realise but apparently don't, it won't work, because you can't force us to use it

    • In reality, though, to a great many linux users, it's a neat trick that you don't necessairly NEED.

      (glancing down at my taskbar with the 17 or so remote X sessions)
      Yeah, you don't really need anything except food and shelter, but this is one thing I won't give up without hurting people.

      (of course they are all on servers where there is no rush - or any reason at all - to replace X, so it's not really relevant to the discussion at hand)

    • Yes, I'd much rather have alpha channel transparency than remote display. I assume DirectFB has an alpha channel because it is so prominant on their screenshoot, but is it really or is it the fake freeX86 transparency?

      This is the only piece of "eye candy" that I miss from XP/2000 and I find that it is actually useful. And why after all this time hasn't X gotten an alpha channel? It seems like a lot of poeple would like this feature. Plus it makes using a terminal soooo much easier on the eyes.
    • I don't get it, why do so many people think that

      1. remote displays are the thing that makes X "slow" and "bloated"
      2. That X is slow and bloated in the first place (put GTK or QT on top of DirectFB and you'll see the same "slow" "bloated" behaviour)
      3. That remote displays are some obsolete technology that no one really uses any more? (If that's the case, then how come even Microsoft have finaly started putting the functionality into it's desktop operating systems?)
    • by Arandir ( 19206 ) on Monday July 21, 2003 @09:43PM (#6495808) Homepage Journal
      In reality, though, to a great many linux users, it's a neat trick that you don't necessairly NEED.

      In the midst of citing reality, you're ignoring reality. First of all, Linux isn't the only OS that uses XFree86, X11R6, or another X11 based windowing system. Heck, it ain't even the only free OS that uses it.

      Second, even supposing Linux will achieve it's goal of "World Domination", where everyone must use Linux or be branded a luser, it's still ignoring the fact that Linux is a Unix-like operating system, and to confine it to only the home based game machine is to deny it 95% of its potential.

      Third, that "neat trick" doesn't cost you a damn thing if you don't need it. The only thing holding back XFree86 performance is the fact that it must operate in userland.

      I've heard the phrase "why keep it of 95% of the people don't use it", referring to the remote network capabilities of X11. Well, why not turn that statement on its head? Why support SMP in Linux, if 95% of the users don't use it? Heck, why do I need snowchains for my car if 95% of the time I won't be driving in snow?

      Fact of the matter is, most people using Linux, BSD or UNIX outside of the home will want and need the networking capabilities of XFree86. If you want Linux to be confined to home game machines, then go roll your own distro. But in the meantime a lot of us want the capabilities of XFree86.

    • by caseih ( 160668 ) on Monday July 21, 2003 @09:58PM (#6495899)
      Isn't this backwards, going back to a dumb (albeit accelerated) framebuffer? X does much more than just push pixels. If you take a look at how Microsoft does their gui these days, you'll find that it's a lot more like X these days than a framebuffer.

      I own a zaurus and was initially impressed with the Qtopia/OPIE user interface. That is until I hit that one design flaw: They write directly to the framebuffer. This means I can't mix and match gtk programs with qt programs. This means I can't develop any non-free apps at all, since QT is GPL and that's the only thing you can run on Qtopia.

      As I disected QT/E, I found that it pretty much had to duplicate many things that X does well, like windowing. Yep. And event handling and exposure stuff. Personally I think the Qtopia guys would have been much better off using the mini KDrive X server and use a modified version of QT/X11.

      As soon as I can, I'm blowing away Qtopia and not going to OPIE but rather to GPE, which is based on X. A much better solution. Check out their screenshots if you don't believe me how well X fits a handheld.

      My point here is that I don't think this directfb idea gives me any more advantage than X does. Sorry. Furthermore, we'd just need an X server on top of directfb anyway to run our main apps, and that is essentially duplicating the drivers that X11 already uses to talk to the framebuffer.

      The best improvement I think we could bring to X11 would be a special mode where each window is a live opengl surface. That way we wouldn't need to do "exposure" events and other things. Window dragging would be silky smooth. Other 3d effects could follow. Forget the frame buffer.
  • err (Score:4, Funny)

    by Anonymous Coward on Monday July 21, 2003 @08:26PM (#6495376)
    What's up with all the "Hot Babe" backgrounds? Makes all Open Source developers look like horny teenagers. Do you want a horny teenager writing your production Apache server??
    • Re:err (Score:2, Funny)

      by tds67 ( 670584 )
      Do you want a horny teenager writing your production Apache server??

      No, just my DeCSS software! [eff.org]

    • Re:err (Score:2, Insightful)

      by Doug Neal ( 195160 )
      Do you want a horny teenager writing your production Apache server??

      If he writes good code, sure, why not? Anyway, we're all human, and we're all sexual, in one way or another... what's the big deal?

    • Re:err (Score:2, Funny)

      by Pflipp ( 130638 )
      Long as the horny teenager is a "Hot Babe", I'd have no problem with that.
    • Re:err (Score:4, Funny)

      by Arker ( 91948 ) on Monday July 21, 2003 @09:15PM (#6495662) Homepage

      Do you want a horny teenager writing your production Apache server??

      Abso-freakin-lutely. I remember when I was a horny teenager dammit! Lots of energy, sharp mind, just the sort of person you need hacking code.

      Plus, if he's off hacking my server, that means I have a window to hit on his hot horny teenager girlfriend. %^}

    • For shame! (Score:5, Funny)

      by UnknowingFool ( 672806 ) on Monday July 21, 2003 @10:32PM (#6496099)
      How dare he exploit that young woman like that?! Does he really think that putting a picture of a young, attractive, nubile woman in a suggestive pose is going to attract the attention of a bunch of nerds?

      . . .

      Never mind.

  • Wowsa! (Score:5, Funny)

    by tds67 ( 670584 ) on Monday July 21, 2003 @08:27PM (#6495380)
    The screenshot looks HOT!!! And oh, yeah, the desktop looks okay, too...I guess...
  • Don't think so.... (Score:2, Insightful)

    by sdriver ( 126467 )
    This is unlikly. The avarage X user (hell even the KDE fanactics) won't want to give up all the nice features of an X server. Who wants to use only QT applications? That cuts out most commerical software for linux, and most OSS.

    This is most likely to help TrollTech in the embedded space.
    • by Svartalf ( 2997 ) on Monday July 21, 2003 @08:31PM (#6495406) Homepage
      1) DirectFB supports GTK+ as well- I suspect Fltk's on the way as well.

      2) You CAN have X apps under DirectFB with XDirectFB.

      3) They're posting rather impressive framerates under Quake III:Arena with the DirectFBGL layer code.

      4) Qt's ALREADY in the embedded space- QtEmbedded is what they're using on the Zaurus.
    • by DreadSpoon ( 653424 ) on Monday July 21, 2003 @08:33PM (#6495429) Journal
      DirectFB has a multi-application core, and also a specialized X server that runs on it. You can run GNOME on it already, adding Qt/KDE to the mix only _increases_ the number of apps that can be run on it natively.

      And so far as the "features" of X... the only feature X has that DirectFB doesn't is network independence, which very few users need, and those who do can use VNC or the DirectFB X server.
  • Sounds like a plan. (Score:5, Interesting)

    by Meat Blaster ( 578650 ) on Monday July 21, 2003 @08:27PM (#6495382)
    While I've grown accustomed to X-Windows' ideosynchronities, I've always thought that it would be a good idea to reengineer the whole system from scratch to take advantage of today's hardware and UI concepts. X-Windows 4 has been a vast improvement, but I'm talking about something more like OS X where the whole thing is rewritten to be very smooth and responsive to user input.

    If this is a step in that direction, and it sounds like it is, I'm all for a decent alternative that isn't slowed down by having to be a swiss army knife. Especially if it makes resolution switching, 3D graphics, and direct screen drawing less of a hassle.

    • by aussersterne ( 212916 ) on Monday July 21, 2003 @08:31PM (#6495415) Homepage
      The X Window System is at version 11, release 6.6.

      XFree86 is the one that's at version 4.0. Restrictions on smoothness and responsiveness to user input are due more to driver and kernel performance characteristics than issues with X itself.
      • by Natalie's Hot Grits ( 241348 ) on Monday July 21, 2003 @10:15PM (#6496008) Homepage
        Restrictions on smoothness and responsiveness to user input are due more to driver and kernel performance characteristics than issues with X itself

        This is a myth, and an XFree86 developer, board member, and one of the founders seems to agree:
        I've even pissed off Keith and many others on the Core Team by pointing out that X is obsolescent. I've been working in the Windows world for years now, and client-server display systems are utterly irrelvent to the majority of real-world computer users. X needs to be replaced by a direct-rendered model, on which a backwards-compatible X server can be reasonably trivially implemented. [xfree86.org]

        Nobody except people who use X over the network extensively are making claims such as yours. There are many people who do extensive GUI research and programing contradicting what you are saying. the KDE and GNOME projects have both showed interest in direct rendering models. There is a HUGE project of people doing exactly what the above link says. Implementing a direct rendered GUI with an X layer atop for remote display. There is no reason that X should treat everything (including local rendering) as a network socket connection when it can talk to the hardware directly. It is just too much overhead.

        People making claims that the UNIX SOCKETS for local display don't involve overhead haven't made their evidence available. if this is true, explain yourself. There is real world proof that the DirectFB model is faster for local rendering, and until XFree86 either gets its own direct rendering model built into it for 2d rendering, and all the bells and whistles that DirectFB has (alpha blending with hardware acceleration, desktop/screen resloution switching on the fly, etc), you people claiming X's faults aren't with the protocol and implementation but with drivers are all blowing hot air.

        the unix desktop CAN be faster. But X/XFree86 either needs to grow with the modern desktops, or it needs to be replaced on the desktop with something that works better. Either way, competition is a good thing, and I'm glad that DirectFB is making some headway. Porting QT/Free edition to DirectFB is going to make this competition even better, and the users will win out in the end.

        I'm not bashing X here. I'm simply saying that there are better methods to locally render 2D applications. They do exist. They are being developed. The X protocol and XFree86 was designed for UNIX in a client/server networked environment. This is not how most modern computers use on their 2D desktop. I'm not saying XFree86 or the X Protocol needs to go. But if it wants to be _THE_ unix desktop for everyone, it needs to take into account the growing popularity of pure-local rendering environments. (There is no argument from me against it being _THE_ unix desktop in a client/server networked environment)
        • by Arker ( 91948 )

          People making claims that the UNIX SOCKETS for local display don't involve overhead haven't made their evidence available.

          I don't think anyone has claimed that at all.

          Of course there is overhead involved in that abstraction, but there is overhead plenty of places. With modern hardware it's trivial. You can run X on a 486 just fine, and if the overhead isn't too much there then why would you worry about it on a newer 'puter?

          Lots of people complain about X in ignorance, because what they're complaining a

        • by IamTheRealMike ( 537420 ) on Tuesday July 22, 2003 @05:07AM (#6497515)
          This is a myth, and an XFree86 developer, board member, and one of the founders seems to agree:

          As has already been pointed out to you, said XFree86 developer has been out of touch for so long that he thought Red Hat hadn't contributed to X, and now works on Windows entirely doing AOL stuff. When he took part in the XFree-forum list, he got flamed, badly.

          Nobody except people who use X over the network extensively are making claims such as yours.

          Don't be so short sighted. Maybe the reason nobody uses network transparency on Windows is because it blows so many goats? Have you thought of that? Yet, Microsoft have still taken architectural backflips to make it work, see W2K Terminal Services etc. It's a lame, poor imitation of actual network transparency, but they sell it anyway.

          Simply having worked in tech support, I can think of MANY times when being able to have an xterm launched to me, would have been a godsend, especially as said person could continue working while I also worked.

          There is a HUGE project of people doing exactly what the above link says. Implementing a direct rendered GUI with an X layer atop for remote display

          Which desktop uses that then? Cos AFAIK both MacOS X and Windows use a model similar to that of X internally. None of them are direct rendered.

          People making claims that the UNIX SOCKETS for local display don't involve overhead haven't made their evidence available. if this is true, explain yourself.

          Why don't you find out for yourself, instead of ranting on Slashdot? You know, there are indeed studies, performed under controlled conditions, that show the overhead of UNIX domain sockets is negligable. They even tried replacing them entirely with SHM segments at one point, but it made no difference. Domain sockets are one of the most heavily optimized IPC primitives in the kernel, and you are quite free to perform speed tests yourself. The only area that it makes any difference is when throwing large amounts of data through them, such as pixmaps (which is why we use the XSHM pixmap extension), and the memcpy may not be completed in the available timeslice. For small messages, ie the bulk of X traffic, there is no speed gain to be had.

          There is real world proof that the DirectFB model is faster for local rendering

          Er, that's so wrong. For most people, ie anybody without a Matrox G series card, it's far far slower.

          until XFree86 either gets its own direct rendering model built into it for 2d rendering

          .... which it has....

          and all the bells and whistles that DirectFB has (alpha blending with hardware acceleration, desktop/screen resloution switching on the fly, etc)

          ..... which it also has .... oh, unless you mean the ability to pointlessly make entire windows semi-transparent so you can't read what's on them, an ability that's useful primarily for screenshots with hot babes in the background

          you people claiming X's faults aren't with the protocol and implementation but with drivers are all blowing hot air.

          There are faults in every area of XFree/X11, nothing is perfect. The protocol needs some changes, which are being worked on, the driver interface needs to be broken to support proper save unders, and the scheduler is a dog. Needless to say however, DirectFB isn't a perfect work of art either. It's certainly useful, but right now it's not even competitive in terms of speed or features for 90% of users.

          I'm not bashing X here

          LMFAO. Yes you are. You've made many, many assertions, that you would know were wrong if you had actually sat down for a couple of weekends and done some basic research into the matter, like I have done. I have read boring reports, mailing lists archives, and chatted to various people involved, and so I'm pretty sure the impressions I have are accurate. There is nothing wrong with X as a local rendering mode

    • by Snoopy77 ( 229731 ) on Monday July 21, 2003 @08:38PM (#6495462) Homepage
      Yeah, I'm currently running X-Windows 4 on my Linux 9.0 box.
    • by warrior ( 15708 ) on Monday July 21, 2003 @08:57PM (#6495575) Homepage
      I've always thought that it would be a good idea to reengineer the whole system from scratch to take advantage of today's hardware and UI concepts.

      Good idea, I've thought the same thing. I wrote a GUI toolkit for X, and a window manager, so I've got a good idea of how the whole thing works. I quit working on it as I was frustrated that I couldn't do some of the neat things I see in OS-X on X (that sounds funny, doesn't it?). Soooo...

      I started from scratch writing an OpenGL based display server. I'm using a lot of ideas from X, but throwing out a lot of cruft and adding lots of enhancements. All of the drawing is double-buffered -- no more Expose events!!!! :) All of the drawing is also hardware accelerated. I've figured out a way to do this very well, without context switching the gfx hardware. One possible method will allow many clients to draw at once and keep a constant framerate (by not context switching/swapping buffers within a certain timeslice, these are very costly operations).

      Some of the ideas I am keeping are the idea of "internalizing" graphics buffers to the server where they can be shared among other applications. I'm also keeping the idea of a replacable window-manager like shell.

      For fonts I'm using Freetype. Standard image format is png. The display is also hardware-resolution independent and colordepth independent. Right now I'm being setback by the fact that I can't get X working on my new laptop (anyone know a modeline for WUXGA+ 1920x1200@60Hz, for Compaq X1000?). For communication I'm using named pipes/shared mem.

      So far, my numbers are better than these [apple.com].

      I'd also like to implement creating server-side macros so a client can pass one command to the server and execute a whole set of drawing routines atomically. Oh, and the source is definately going to be open. Any of this sound like a good/bad idea?

      Cheers,
      Mike
  • Background (Score:4, Insightful)

    by quasi_steller ( 539538 ) <(moc.liamg) (ta) (reltuC.nimajneB)> on Monday July 21, 2003 @08:29PM (#6495398)

    Boy, with that girl in the background, I about forgot to look at the transparency effects!

    On a more serious note: this is good. Not that I want X replaced or anything, but a little copetition is always good. (Besides, why can't there be X-Free distro's and DirectFB distro's?)

  • directfb (Score:4, Interesting)

    by Pflipp ( 130638 ) on Monday July 21, 2003 @08:31PM (#6495411)
    Maybe it's just the nature of the post, but I looked at the DirectFB screenshots (on DirectFB.org), and I see everything from GNOME 2 to WindowMaker to the GIMP, translucency, etc., etc., while I've never heard of DirectFB before.

    Great. Now let's see how I get this on my Debian... hmm... I guess it would take a whole other Debian "port".

    Hey; it would be cool to combine Linux + DirectFB + GNUstep (+ "3rd party" Free SW) into a MacOSX wannabe distro. It's not a problem if that would still mean it's lacking more than half of the basic OSX functionality; it's the other, Free half that makes the thought interesting!
  • one of my biggest issues with linux is that X is slow and bulky. You can compare it to any other major OS is terms of Memory footprint(which is bad) The Ability to run Qt and eventually all of KDE on DirectFB is great. Should also push other toolkits to this, or maybee to evas or something.
    • Re:nice (Score:3, Insightful)

      by codepunk ( 167897 )
      Well did you ever consider that some of us run over 150 desktop clients off of one server using nothing but X to get the job done. X might not be the fastest rendering display in the world but it is the most powerful.
      • Re:nice (Score:3, Interesting)

        by DaBj ( 168491 )
        Yes, and for running desktop clients off of one server X is excellent.
        Running it as a local desktop it is, however, not that excellent.

        So basicly, the same people who whine that Windows sucks, especially all the legacy code from the Windii of old are now whining when the *nix legacy code that is X is beeing replaced?
        Did I miss something? I think it's a great idea.
  • Mirror (Score:5, Informative)

    by keesh ( 202812 ) on Monday July 21, 2003 @08:36PM (#6495450) Homepage
    Site is kinda slow... one [firedrop.org.uk], two [firedrop.org.uk], three [firedrop.org.uk], karma please?
  • by istartedi ( 132515 ) on Monday July 21, 2003 @08:42PM (#6495480) Journal

    Not being familiar with it, the first thing I did was read the FAQ:

    Q: Whenever I try to start a DirectFB application, I get the error message

    Error opening /dev/tty0
    A: You have to be root to run DirectFB apps. The main reason is that only root is allowed to change virtual terminals.

    So. In order to get the supposed benefits of DFB, you have to run apps as root? I guess maybe you could log on as a user and su the DFB apps, but that's a pain. Why should a graphics lib muck up security? That seems inherently broken to me. If it really just abstracts graphics then there should be no problem with user apps running it.

    This isn't really my area of expertise. Perhaps there's something I'm missing. Can anybody clue me in?

    • Hmm wonder how X does it?
      • It's setuid/setgid root:

        -rwsr-sr-x 1 root root 6988 2003-04-16 13:20 /usr/X11R6/bin/X

        X goes a long way to preserving its integrity in spite of this. Presumably QT/DirectFB could provide similar priviledge separation.

        Hope that helps.
      • In OpenBSD, Matthieu Herrb patched XFree86 to use privilege separation [umich.edu] so that the main X process can drop root privileges and run as a normal _x11 user. The privileged portion just grants it the ability to open devices it needs and send certain signals.

        There's no reason why these guys couldn't do the same if they care about security ... it's not hard, just requires the OS to support descriptor passing.
    • by RelentlessWeevilHowl ( 451367 ) <weevilhowl&celia,serv,net> on Monday July 21, 2003 @09:12PM (#6495651)

      Your X server also needs root access, and for much the same reasons. X needs to muck with the registers on your video card, for example. Nowadays, there's a little setuid program called "XWrapper" that gets access to everything it needs, then drops its privileges and loads the main X server on top of itself.

      There is at least one project (KGI) that attempts to rationalize all this. It puts the privileged functionality in kernel space, then exposes it all in a safe manner. Linus has not been receptive to this design in the past, preferring the X mechanism.

    • Well, unless you want to make a major hack to the kernel itself, the only way you are going to access the Linux framebuffer is to do so as root. Just look at how X works... It has to run as root so it can spawn a basic graphical display for you to use.

      I suspect (since I have not tried it myself) that the problem with the DFB apps is that they don't come with the rendering abstraction layer that X provides (think client-server model). So every application needs to be root to write directly to the framebuffe
  • Hee hee (Score:2, Funny)

    by drinkypoo ( 153816 )
    Ashcrow writes "The feasibility for DirectFB to replace XFree86 just a little stronger thanks Maurizio Monge very first alpha release of Trolltech's Qt library for use in DirectFB

    drinkypoo says this comment very amusing thanks ashcrow very funny comment missing several important parts of speech.

  • by Yaa 101 ( 664725 ) on Monday July 21, 2003 @08:49PM (#6495527) Journal
    This reminds me of a long going project that was once called Berlin and is renamed Fresco along the way...
    Though their ambitions were higher with making a new windowing system...

    They still exsist at:

    http://www2.fresco.org/

  • Does anybody know how DirectFB handles key-input for languages other than US-english? Something like the stuff that gets configured with the "XkbLayout" and other similar options in the XF86Config file.
    Does it use the keymap from the console, or is it just hardcoded to use US-english keyboard layouts?
    • <sarcasm>
      Since everyone wants to get rid of the X11 remote networking because "95% of people don't use it", then the obvious answer to your question is "if 95% of the people can get by with US-English keyboards, then the rest of you can go suck wind".
      </sarcasm>
  • Anna Falachi half naked in a wet T-Shirt, what's NOT To like??

    Wait, looking closer ...

    AND TETRIS!! Chicks and Tetris, what more do you need for a computer?

    Though if I didn't know any better there might be a valid alternative to X real soon. All-in-all, looks good.

  • by unoengborg ( 209251 ) on Monday July 21, 2003 @10:09PM (#6495969) Homepage
    The screenshots are great, the technology is cool, but the one thing that prevents the free desktop to come true on the machine of Average Joe is the lack of applications.

    Changeing the direction of the graphics environment right now isn't productive. It will delay the common use of Linux/FreeBSD on the desktop. As applications will need to be ported to the new system, instead of using that developer effort to produce new and better applications.
    Perhaps even that killer app that makes the difference.

    One other thing, one of the the most attractive features in the X11 desktop to corporate user is the remote display facilities. This is a major advantage over windows. It makes system administration a lot cheaper as application can be installed in one place. The admin cost is much more important to this group than the cost of hardware. Even if they needed twice as fast/memoryrich hardware to get the same performance on X11 they would prefer X11.

    Once free software have higher market penetration on the Desktop we can change to better technology. But first we need to kill the competition from MS and Apple. X11 is good enough to do that, especially since the average desktop PC gets more and more memory and processing power.

    The technology could still prove interesting for emedded devices where memory and processing power constraints still are more common.

  • by DaCool42 ( 525559 ) on Monday July 21, 2003 @10:10PM (#6495982) Homepage
    1) As many have said over and over, XFree86 is not slow. It runs great on a 486. Try using a faster WM.

    2) Transparancy/hardware rendering. For some reason people think XFree86 needs to be tossed out completely in order to get this. Check out this interview statement from David Dawes (XFree86 developer):

    David Dawes: There has been some work on a new rendering model for XFree86 that provides some more advance composition techniques (including transparency), this currently being implemented in software. For XFree86 5.0 we'll be investigating this as part of our review of rendering models, and seeing if a hardware implementation would not be more appropriate.
  • X in itself is very fast and pretty slick. Try yourself by kicking gnome/kde and trying OpenBox or some other fast WM. The difference on slower machines is pretty big.

    I have a feeling that some n00bs confuse X with their Window Manager and Docks and Panels etc.

  • by Tony.Tang ( 164961 ) <slashdot@@@sleek...hn...org> on Monday July 21, 2003 @11:13PM (#6496326) Homepage Journal
    I never really understood why people thought transparent windows were so cool.

    Now I understand why it should be a priority 1 feature in all applications.
  • by TheNarrator ( 200498 ) on Monday July 21, 2003 @11:41PM (#6496482)
    Ok guys. I really have to tell you, I have been using Unix on the desktop 8 hours a day everyday for about the last 3 years and though things have gotten better there is one issue I have with X and the whole Linux desktop that everybody ignores but fundamentally makes it inferior to Mac and Windows. Not that it's not good enough to be quite usefull but this is just a glaringly huge hole in the UI that doesn't get enough press.


    The problem is The Clipboard (Drag And Drop, Cut and Paste Etc). It only does text! I can't cut and paste from Gimp to Open Office or Mozilla to Open Office. Here we have the two most important linux desktop application and dragging a gif from mozilla to open office doesn't work. It's just text!

    I know this would be tough to implement with X Remote desktop since two applications being displayed on your X Server might be on different machines but can't we set up a drag and drop daemon on each machine that lets them talk to each other so open office on machine a could except some paste information from the machine that was running Mozilla via a xclient to xclient connection or from a low level cut and paste service that communicated from server to server? Anyway.. I hope somebody in KDE or Gnome land is listening here.

    • by John Meacham ( 1112 ) on Tuesday July 22, 2003 @12:03AM (#6496564) Homepage
      um. actually X selections are more powerful than other systems at allowing cut-n-paste and drag-n-drop of non-text. X selections let the pastee and paster negotiate on a prefered file format based on what they have to offer and what they can accept.

      Just because people who write apps for X don't seem to use this functionality, don't blame X11. if the app writers are too lazy to use the power of X selections, I don't see why they would suddenly for some new system.
  • by PotatoHead ( 12771 ) <doug.opengeek@org> on Tuesday July 22, 2003 @04:21AM (#6497407) Homepage Journal
    just like the UNIX underneath.

    Personally, I consider the true multi-user nature of UNIX systems to be their greatest strength.

    Getting rid of X means giving that up. It also means making our OS just like the other multi-tasking, but not mulit-user ones out there.

    It is just not worth it.

    I use X every day. For gaming, remote support, and various other things. The current XFree works better than any other X server I have used.

    Look at OS X. It has a frame buffer. It also can have a rootless X server. All the apps for the machine target the frame buffer. None of them work well over the network.

    Sure you have VNC, but that just moves the ONE desktop around.

    In an X environment, you get to move anything anywhere you want to. This is where the strength of UNIX is.

    Multi-user computing is valuable. It makes older hardware continue to be useful. It also allows for different computing models and resource usage.

    The other Operating systems do not do this. Linux / UNIX does and it is our killer feature.

    What happens when a win32 server has trouble? You get a few admins looking at the machine while one operates it. With UNIX, you get a few admins all poking at the machine at the same time working together to work through the problem!

    X is not slow. DRI has fixed the 3D part of things. 2D has always been fast. The transparent windows are nice, but do we really need them more than we need to continue to build on the software base we have now?

    Look at Open Office. It runs nicely over X. One machine can serve many others. Install one copy of the software, setup the environment for the end-users once and you are done! No local installs, no hassle. Upgrade once and everybody is done.

    If we do a frame buffer, it needs to be truely multi-user or it is not work doing. VNC is not the same as remote application display.

    For those who say most people do not use the features of X, I say you are right. Why? It's because they don't know better, not because the tech sucks.

    I have several machines that all perform their various functions. Some are Linux, some are IRIX and one other one is win2k. On my Linux desktop, the IRIX and Linux are perfectly intergrated. All the machines act as one. The odd man out is win2k. I have to bring up a silly VNC window for it.

    Things are getting faster in a hurry folks. X is there already. The toolkits and window managers and desktop stuff is progressing nicely.

    Choice is a big part of what OSS is all about. X provides more choice and power than any other display system ever has. That is why it is still around. That is also why it should stay.

    Anyone who really wants to replace X does not understand just what it does. They just want the simple system their old OS had without realizing it is part of the problem.

  • by aonifer ( 64619 ) on Tuesday July 22, 2003 @05:31AM (#6497583)
    Anna Flalabalalooy isn't really my type. I won't run this until it has Alyson Hannigan on the desktop.
  • by SailorBob ( 146385 ) on Tuesday July 22, 2003 @08:26AM (#6498143) Homepage Journal
    For anyone who doesn't understand why you would use anything other than X, take a look at ByzantineOS [sourceforge.net], which uses DirectFB [directfb.org] for rendering in low powered Internet and home entertainment appliances.

If you think the system is working, ask someone who's waiting for a prompt.

Working...