Slashdot Mirror


Xfree86 4.2.0 Out

According to david_eliasson, Xfree86 v4.2.0 is out, but it'll probably be awhile before all the mirror sites have sycned up with the release, so you may want to just enjoy reading that changelog for a couple days before you bother getting the whole archive.

46 of 438 comments (clear)

  1. 4.2.0, huh? by Anonymous Coward · · Score: 4, Funny

    So, who wants to smoke a bowl and celebrate?

  2. ICBW but this looks like primarily bugfixes by StandardDeviant · · Score: 5, Insightful

    ... lots and lots of bugfixes. Glancing through the changelog extract linked to from the story, nothing really *new* jumped out at me. Not that this is a bad thing, bugfixes and increased stability/driver support is always nice. :-) I noticed a lot of things having to do with the Xprt server and having to do with 3d accel (drm, OpenGL man pages, nv driver tuning, etc.).

    1. Re:ICBW but this looks like primarily bugfixes by Anonymous Coward · · Score: 3, Interesting

      XFree86 lacks support for the hardware command buffering features found on nearly ALL modern graphics cards. These buffers can be very deep ( roughly 1 million entries). This allows you to batch up all your drawing operations in memory and tell the card to read and execute them without host CPU intervention. In the time you are waiting for the card to finish, you can call something like usleep, etc. to wait for completion. Many of the XFree86 drivers I've looked at do not do this. The driver just has a while() loop (or equivalent) to wait until the card has finished drawing. This sucks up CPU cycles and eliminates any possibility of concurrency.

      With XFree, it's like having a dual CPU system when only one CPU can work at a time.

      On the S3 Savage chips there's no need for DMA to do this, the hardware will buffer it in Video RAM. So it should not need a kernel module. I still don't understand why they haven't enabled it in the XFree86 driver. Once it's enabled, all you do is just write the commands to the BCI area (in register space, 128KB long) and the card will handle the FIFO in video RAM automatically.

  3. Moving away from X by demaria · · Score: 5, Interesting

    Here's a question that I want to address carefully, because it does sound a bit like flamebait.

    Should the Unix/Linux world move away from X? Redesign a graphical layer from the ground up, supporting antialiasing, transparency, enhanced programming environment, and a new, well defined and examined user interface? This would be going the Mac OS X route. In this model, I am not advocating abandoning X completely, but instead for backwards compatability run a rootless X server.

    1. Re:Moving away from X by psavo · · Score: 5, Insightful

      I think we have had our share of this discussion.. =)

      But what the hell, let's do it again!

      There's nothing wrong with your suggestion. That'd be probably the right thing to to.. If we didn't have such a shitload of X11 applications.
      Actually there is nothing _fundamentally_ wrong with X11. As you can observe, even that old architecture has lived far,far longer than anyone would have expected. What it is, 20-30 years now?

      The power of X11 is in it's extensibility, XRENDER was added and traparency & antialization is now possible, Even over network, any network. TrueType fonts were needed and were added. XFree86 even had sub-pixel antialization before Windows ever had (those loonies just forgot to mention it anywhere).
      X11 is perfect example of OO separation between different tasks. Server does drawing and client does it's own things. And message passing comes 'builtin'.

      So what is really wrong with X11? You tell me.

      --
      fucktard is a tenderhearted description
    2. Re:Moving away from X by redhog · · Score: 3, Interesting

      You do not want to merge the widgetset and the windowing engine, as (drawing) area clipping and buffering has absolutely nothing to do with each other. In addition, do you honestly think that would help the adoption of the new system? It would just be a new war such as the Gtk/Qt/Athena/Motif/Tk one. But including the windowing engine. Imagine if you could not run a KDE app inside your GNOME desktop!

      I see the need for two things:

      a) a new windowing server supporting partial transparency, anti-aliased text, non-horisontal text, virtual colour-depths (that is, that the app wouldn't know what the real colour-deph was, so that they could be moved between displays with different depths without noticing it) and moving of clients bweteen servers.

      b) a client-server (or just back-end/front-end) aproach to the widget-set too, so that the programmer could use any widgetset library he/she wants, and the user still be able to switch the look and feel of the app to match the rest of his/her apps.

      --
      --The knowledge that you are an idiot, is what distinguishes you from one.
    3. Re:Moving away from X by stripes · · Score: 5, Informative
      Should the Unix/Linux world move away from X? Redesign a graphical layer from the ground up, supporting antialiasing, transparency

      There are people working on adding a new rendering model that does antialiasing and sub-pixel addressing. "People" being mostly Keith Packard.

      enhanced programming environment

      There is no reason you can't do that to X, in fact if you compare things like xlib to Gtk--, or Xt to Qt there has been huge progress. Oh, and there is GNUStep too, which is mostly like NeXTStep which is what OS X is based on...

      and a new, well defined and examined user interface?

      That is the hard part. In part because backwards compatibility works against you.

      This would be going the Mac OS X route

      I think OS X has a lot going for it, but the biggest thing really is that the apps do mostly work alike, which is rather unlike X11. I know I'm partly at fault since the X11 apps I worked on (xtank and w3juke) are not much alike :-)

    4. Re:Moving away from X by demaria · · Score: 3, Interesting

      In my original post I failed to mention that, yes all of those features do exist today as extensions or whatnots (except a new programming environment obiviously).

      Yes, I want what would be today's X + ext + wm, but is this a good and efficient architecture, or piles of backwards compatability on top of each other? How about color matching of various displays and printers?

    5. Re:Moving away from X by po8 · · Score: 4, Informative
      Should the Unix/Linux world move away from X? Redesign a graphical layer from the ground up, supporting antialiasing, transparency, enhanced programming environment, and a new, well defined and examined user interface?

      No. Antialiasing and transparency are most of the way into the X server already. Any enhanced programming environment or better user interface is unlikely to be more difficult to implement on top of the X server than atop some from-scratch thing.

      Basically, the X protocol does all the hard parts of a window system fairly nicely. Its rendering functionality was until recently unfortunate, but Packard's client-side rendering via the Render extension appears to be adequate for anything anyone wants to do with GUIs these days.

      The current client-side libraries are not so good, but this can be fixed without changing the X server or protocol. See XCB for one proposed step in that direction.

      IMHO, if one-tenth the energy that was put into whining about X and flailing at never-quite-ready replacement rendering systems went into these sorts of things instead, we'd have a nicer-than-Mac/Windows desktop GUI for free by now.

    6. Re:Moving away from X by larien · · Score: 3, Insightful
      The problem with X11 is, in part, the separation of client/server; this causes extra latency and a heap of context switches. It probably also has a lot of extra cruft that a new drawing model could avoid.

      As everyone says, though, trying to get away from X11 is very difficult as practically every GUI application on linux/Unix uses X11, so it's got a lot of momentum.

    7. Re:Moving away from X by leandrod · · Score: 3, Insightful

      New programming environment is also there already -- and alternatives too: the GNU standard is GTK++, if you thing C++ is the ultimate truth you choose Qt, if you're into Objective C or Mac compatibility you have GNUStep... I only miss a Lisp or Scheme alternative, but it's probably I who didn't look hard enough. If you are thinking imaging, then there's Display GhostScript, DisplayPDF and Display PostScript.

      And what makes you think it is bad and inefficient?

      It is no backwards compatibility cruft -- there is a core API and architecture, and extensions; any part besides the core (which is clean and efficient) can be substituted, and even the core can be rewritten for efficiency if you like.

      Color matching is also an extension.

      --
      Leandro Guimarães Faria Corcete DUTRA
      DA, DBA, SysAdmin, Data Modeller
      GNU Project, Debian GNU/Lin
    8. Re:Moving away from X by pthisis · · Score: 5, Informative

      The problem with X11 is, in part, the separation of client/server; this causes extra latency and a heap of context switches

      The context switches aren't a significant overhead. They weren't even a significant overhead in 1986 when Sun first started spreading FUD about this (at the time, Sun was trying to push NeWs over X11). See e.g. Jim Gettys' posts in the "rendering model in X" thread in the Xrender mailing list archives

      It's not all sunshine, he's willing to own up to places where X needs improvement (exposure lists are a big one, througput for e.g. texture mapping is another), but it's way better than a lot of people claim. And Xrender and DRI address the vast majority of the problem cases very effectively.

      Sumner

      --
      rage, rage against the dying of the light
    9. Re:Moving away from X by AegisKnight · · Score: 5, Insightful

      Here's what's wrong: Deployment. The reason X has a bad image is that most Linux distros by default *don't* have good fonts. Not every app has antialiased text (although with Mozilla and KDE desktops, things are starting to change). There are a lot of technologies out there that, while technologically sound, have a bad image just because they're deployed poorly. If some upstart Linux distributor built a completely solid desktop experience (WITH *good* TrueType fonts, not just allowing you to import them from your Windows install), the whole image of X would change.

    10. Re:Moving away from X by kilrogg · · Score: 4, Informative
      most Linux distros by default *don't* have good fonts

      Its really easy to fix: webfonts-1-3.noarch.rpm

      Make sure to read the MS Eula included.

    11. Re:Moving away from X by bero-rh · · Score: 3, Informative

      The reason X has a bad image is that most Linux distros by default *don't* have good fonts.

      The reason for this is that there are simply no good fonts under a sane license out there.

      If you find any good fonts that are at least freely redistributable for both commercial and noncommercial purposes, please let me know and I'll make sure they get into some distros.

      --
      This message is provided under the terms outlined at http://www.bero.org/terms.html
    12. Re:Moving away from X by pthisis · · Score: 5, Interesting
      X extensions shouldn't be thought of as just being tacked on, they're a good and efficient way of doing things. The whole point was that the rendering engine would be replaced via an extension, this was anticipated and designed for.

      In fact, when X was originally developed Jim Gettys et al considered putting _all_ graphics rendering in an extension (leaving just the core windowing w/o rendering in the core). They fully expected the original rendering model to be replaced fairly soon, but that's taken a long time. XRender hopes to do that and probably will largely supplant the old rendering primitives for new apps in a few years. Maybe sooner for gtk/Qt/other whizzbang bleeding-edge stuff.


      We toyed with leaving graphics entirely to an extension, but the argument that a window system without any graphics would be useless won out pretty fast :-).

      We never thought the existing rendering would last as long as it did: we expected significant extensions would have occurred long since.

      --Jim Gettys, 2001


      We can't get rid of the core X11 primitives because they are a part of the X11 specification and all apps use it and it isn't going to go away any time soon. Once render is complete and stabilized we can just encourge people to not use the core primitives. Eventually we can care less about making them fast and concentrate on making them unobtrusive.

      --Keith Packard, 2001

      From the thread
      Proposal for server-side Anti-Aliased fonts

      Sumner
      --
      rage, rage against the dying of the light
    13. Re:Moving away from X by bero-rh · · Score: 3, Informative

      We're already shipping those - they're in the
      "ttfonts" package in Red Hat Linux. (Taken from
      OpenOffice CVS a while back).

      --
      This message is provided under the terms outlined at http://www.bero.org/terms.html
    14. Re:Moving away from X by Arandir · · Score: 4, Insightful

      There's nothing wrong with X11. Nothing other than what a bit of tweaking can't fix. It works and it works well.

      There is one major reason people bitch about X: t's big.

      They're right that it is big and complex. That's they way it's supposed to be. X is a network GUI. You can run your application on one machine and have it display on another (or multiple machines). This is a very powerful feature. It's awesome. But it makes X big and complex.

      If you're running a standalone desktop it doesn't do you any good. If you've come from the Windows world and think that standalone desktops are the only thing that exist, then you begin to question the sanity of using X at all. But Unix (including Linux) is not a standalone desktop OS. You simply CANNOT replace X11 because to many people are dependent upon it.

      Adobe Framemaker doesn't exist on Linux or FreeBSD. But I use it on my FreeBSD box anyway. How? By logging in remotely to my Solaris box at work. Now I get to use the world's best desktop publisher at home on my PC. All because of X.

      X11 isn't going to be replaced. But there is something that could happen. There could be an XFree86-Lite. An X with the same API as all the other X's, but designed and optimized for a non-networked standalone desktop. Strip out all the stuff that home PCs would never use. But make it compatible with the existing X. Hell, you could write it all as a kernel mod for all I care. But at least you would get your tiny weakling X for your desktop and I would still have my big and powerful X for my workstation and we could still use the same X applications.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    15. Re:Moving away from X by stripes · · Score: 3, Informative
      i see, so there's no capability for X itself to render the fonts to the screen, it has to pass the bitmaps back to the client and then the client has to pass the bitmaps back to the server?

      Actually there is, as long as you don't want to rotate the text or anything like that. However there is a font server that the X server normally uses to get fonts, that only supports bitmaps. That could be fixed without impacting too many apps.

      There is an X extension to do antialsiased text, in part to get sub-pixel addressing, and in part (I assume) to avoid finding some long dead application that would break... (like something that relies on XOR to erase things, or...)

  4. Re:3.x by psavo · · Score: 4, Informative

    Is anyone still maintaining XFree86 3.3.x?

    I know that Debian people are patching 3.3.6 continuously. I get -v3 updates pretty often. And that is good, because 4.0.2 didn't support my crappy TP560+trident. (AFAIK Debian people fix X themselves, and port fixes from XFree86 CVS).

    --
    fucktard is a tenderhearted description
  5. At the top of the change log by fireboy1919 · · Score: 3, Informative

    I think its pretty significant that they've finally made the system work with the old Rage cards. They still sell those (for about $12), and they have a strong hold on the non-gamer market. Heck, I have one on the workstation I'm working on now (don't worry, I've got a game station too). It could help convince businessmen with old Pentiums that they should use Linux if they can get it to work with their typical hardware on the first try.

    --
    Mod me down and I will become more powerful than you can possibly imagine!
  6. Great news for laptop users! by Adrian+Voinea · · Score: 4, Informative

    One of the major problems I had running XFree86 on my laptop was having to switch between a port replicator (aka docking station) and using the laptop's display. For those of you that don't know, a port replicator lets you use a standard monitor, keyboard, mouse, etc. Switching between various XF86Config files got to be a royal pain in the arse.

    So... those with laptops give this option a try in XF86Config:
    Option "UseBIOSDisplay"

  7. Re:Yessss!!!! (What about trident?) by Jacek+Poplawski · · Score: 3, Informative

    Anybody try what was in CVS?

    I compile CVS version about every week or two. Not many tdfx related changes (I have Voodoo3), but 4.1.0 was worse (Xv _and_ OpenGL). You should upgrade if you have ATI card (for example Radeon VE works only with CVS). There are still problems with Radeon - for example - anyone tried to run RTCW multiplayer demo 1.1 on Radeon? Whole system hangs (every time) !

  8. README, Release notes, etc. by Lac · · Score: 5, Informative

    I found additional documents looking through the website. These are much more interesting to read than the changelog.

    The README
    The release notes
    Installation details
    Driver status

    Enjoy!

    1. Re:README, Release notes, etc. by Some+Dumbass... · · Score: 3, Informative

      Driver status is actually at:

      Driver status

  9. Xfree is sufferring from poor PR by Error27 · · Score: 5, Insightful
    I think it is interesting to compare kernel development with X development.

    LKML has 1-2k emails per week. We have Kernel Traffic, Linux Weekly News kernel summary, kerneltrap.com, #kernelnewbies and there is generally one kernel update per day on linuxtoday.com. There are tons and tons of other articles about kernel development on Linux websites.

    Compiling and installing a new kernel is easy enough that people are doing it on linuxnewbie.org

    As a result the Linux kernel is one of the greatest pieces of software that exists today. People are willing to do a phenomenal amount of work to have their code included into the kernel.
    We are at the point where even the most excelent code has to compete to be included. There were at least three different scheduler implementations for 2.5, two different VMs, and two different asynchronous io implementations. It is very good to be in the position where you can pick and choose what code will go into the kernel at this level.

    On the other hand for Xfree had a closed email list until a year or so ago. There are about 250 emails per week to the Xpert mailing list. There are few websites with Xfree development articles.

    Compiling and installing Xfree is difficult.

    People constantly complain about X needing to be replaced. While there are real problems with Xfree, most of the stuff that people complain about to slashdot is complete crap.

    To me this suggests that Xfree needs to concentrate on their PR skills. Xfree guys need to make development easier for newbies. Key developers need to have more interviews. They need to prove that developing X is just as cool as developing the kernel. There need to be more frequent updates--posted to linuxtoday hopefully.

    Compiling and installing Xfree needs to be easier. I think about it this way, once you compile something, you are only one step away from developing. All it takes after that is to open up an editor and change something.

    To me Xfree is as important as the kernel. Without it I would not use Linux. This is true for the great majority of Linux users. Xfree deserves more attention and credit than it currently gets.

    1. Re:Xfree is sufferring from poor PR by Jah-Wren+Ryel · · Score: 3, Informative

      As a minor player in the original XFree86 work (back when it was X386) I can say you are wrong. The work started before linux was a viable platform, instead it was SVR4 on 386's - but one of the earliest goals of the project was, and continues to be, mutli-platform compatibility. That's why you can run XFree86 on SCO, SVR4, *BSD, Solaris and Linux. Just because they don't focus *ALL* their efforts on linux doesn't mean they were stuck up snobs - if anything you are the stuck up snob for suggesting that they should dedicate themselves to Linux alone. A monoculture - whether it is microsoft or Linux is not a healthy environment.

      --
      When information is power, privacy is freedom.
    2. Re:Xfree is sufferring from poor PR by JollyTX · · Score: 5, Informative

      The XFree86 source tree looks absolutely horrible the first time you try to find out how to compile it.

      I looked at the make files for a _long_ time before I though "hell, let's just do make World and see what happens".

      X built without a single hickup. Why doesn't the README say "If you're using Linux, just do make World and it'll work" ? ;)

      --
      Can you hear me, Major Tom? I'm not the man they think I am at home...
    3. Re:Xfree is sufferring from poor PR by stripes · · Score: 3, Interesting
      for one, they don't have mouse events, they just read from the mouse file (which is multiplexed over the network).

      I like a lot of things aobut Plan9, and eight-and-a-half (the windowing system). However I do want to point out one disadvantage of how they handle mouse events. If all you care about is "has the mouse moved into/out of this box" you still have to use a ton of bandwidth to track the mouse. In X11 if you make that box a sub-window you can ask for enter/leave events and not consume 56+Kbits watching the user twiddle the mouse around.

      Other then that eight-and-a-half rules. I really like that the same devices it offers to client apps are the ones that appear on the bare machine so (a) you can run a window app full screen without the other stuff, and (b) you can run eight-and-a-half inside eight-and-a-half without doing anything special like you need to with XonX or the like.

      Plus Plan9 is cool, so I am compelled to like everything about it :-)

  10. Mr. Taco Effect by Andrew+Dvorak · · Score: 3

    Mr. Taco just wants us to hold of on our little /. effect ritual until further notice, after he has downloaded all of the archives!

    --Andy

  11. Re:MS Windows vs. X, same hardware by pthisis · · Score: 5, Informative

    There are VERY obvious performance differences between any version of Windows and as new of version of X as you want. X Windows programs flicker like mad when moving or resizing, objects aren't responsive


    If you had read the thread I mentioned in the article you replied to, you'd see the anser to this one:


    > > Not to be too non-technical...
    > > > > If the protocol overhead is so small, why can't my 1200 mips (600mhzPIII)
    > > machine resize windows without widgets streaking? My 486 could do
    > > this fine running MS Windows. Is this because many widget toolkits (GTK,
    > > QT) use XPutImage? There must be some way to speed things up.

    blame your widget set. basically (sorry owen and co on the list) gtk a
    (and i presume qt) dont render optimially at all. the do a semi-decent
    job.. EXCEPt for opaque resizing, and when redrawing is more than a few
    lines and boxes... this is a toolkit issue and imho the current set of
    toolkits (motif, qt, gtk etc.) do a god-awful job of this kind of
    stuff. right now i have silky smooth "opaque resize" stuff working here
    with enlightenment 17 - but i do the rendering completely differently
    to gtk/qt - its all a canvas and thus the rendering happens in a
    "backing" so updates are smooth. on todays hardware this is the best
    way to do it and have almots no artifacts ANd retain speed.

    > "Streaking"? Are these opaque resizes? Alot of apps aren't doing
    > event compression. They repaint the whole damn window every time they
    > get an event. They could have at least checked that there weren't
    > more events in the queue and got rid of them instead of handling each
    > one in turn.

    true. its a very bad thing that there are a LOT of apps that behave like
    this... a LOT. some of the most commonly used are guilty of this
    (netscape for one....)



    the mouse frame rate is low


    If you enable Silken Mouse in XFree86 4.0 and later, this should be fixed. Certainly an implementation issue and not an architectural issue (i.e. not a reason to throw out X and start over)

    applications all have inconsistent look and feel, keyboard support is lacking...


    These aren't X11 problems but GUI problems, GUI standardization is certainly a huge issue. But, gtk-2.0's accessibility enhancements include excellent keyboard support and some steps toward simplifying and unifying look&feel. KDE is moving in that direction as well. Obviously you need to use a single unified UI on your desktop, but having two decent ones available to choose from is not a bad thing (not to say that either is decent yet, but they're both heading there rapidly).

    Sumner
    --
    rage, rage against the dying of the light
  12. Drivers for my laptop! by Mike+Hicks · · Score: 3

    Heh, cool. I picked up a copy of the CVS version yesterday. I knew that as soon as I did that, a new version would come out..

    I need this version, as it should have accelerated drivers for the Radeon Mobility chip that came in my Dell Inspiron 4100 laptop.

    I just wonder how long it'll take to whip up a Debian package for it ;-)

    1. Re:Drivers for my laptop! by Bob+The+Cowboy · · Score: 4, Funny
      I picked up a copy of the CVS version yesterday. I knew that as soon as I did that, a new version would come out..


      Could you possibly download the CVS of Enlightenment 17?

      ;o)
  13. Are you kidding me? by NitsujTPU · · Score: 5, Interesting

    1) Irix is not a microsoft product. Score 1 for SGI.
    2) The truely high-end stuff tends to be done on unix type workstations. Perhaps this graphics card garbage is true in the home market, but not on the professional one.
    3) If you're willing to pay for X (you're willing to pay for windows aren't you?) You can always buy implementations that support the latest hardware.
    4) There are X-Servers/Clients with extremely advanced graphics features. Again, you generally have to fork up some cash, but you're willing to pay for windows, aren't you?

  14. (Sigh) here we go again ... by Space+cowboy · · Score: 4, Informative

    This is of course completely dependent on whether your window manager "grabs" the X server while doing a 'move window'. Switch that off, and your windows will update asynchronously. There is a minor performance hit on some (mainly older) graphics cards when this option is selected. Personally I can't tell the difference on my G450.

    The other thing of note is how ...

    A great idea, but difficult to do given the direction Xfree has gone in this regard. IMO Xfree needs replacing, people need better choices for windowing systems. Xfree can't cut it for highly demanding stuff, and no number of extentions are going to change that.

    (above) appears to sound knowledgeable whilst being completely and utterly wrong. (S)he is simply spreading FUD (why, I don't know - perhaps (s)he likes to appear clever when (s)he isn't). Don't you just love it when people try to use stuff they don't know about to advance their personal agenda ?

    Almost as much foot-in-mouth as
    Ich bin ein Berliner
    Simon.
    --
    Physicists get Hadrons!
  15. Re:Radeon support by Odinson · · Score: 3, Funny
    Or just use an nVidia card. They provide full-featured, fast drivers that knock the socks off even the Windows drivers of ATI cards.

    In the future they may even come with DRM build right in. Think instant compliance no effort or even choice on the Linux users part.

    They may not be open source, but I'll take features, speed, and stability over source anyday (if you really want source, you can always use the nv driver, too).

    Microsoft and nVidia on Xbox:
    nVidia: "But we don't want to change the Linux PC drivers to include drm. This wasn't part of the deal."
    Microsoft:"Pray I do not alter the deal any further."

    Is anyone else getting the feeling that ATI and their helpful specs are all talk?

    Now that is a good question AC.

    Aditionally does anyone know what state the open source driver is in? Is it developed more quickly or more slowly becasue of it's closed counterpart.

  16. Re:MS Windows vs. X, same hardware by Fnkmaster · · Score: 4, Interesting
    Very interesting post - I agree that Gtk and Qt are probably culprits for not properly playing nice with X Windows and its rules. I think part of the problem is the fact that there never seems to have been any coherent work done on this. The windowing system oriented people who work on X say "the toolkit authors fault". The toolkit authors would say "it's your drivers or the limitations of X Windows".


    While I do appreciate the flexibility of X Windows, I honestly DON'T think the windowing system and toolkits should be these totally orthogonal projects, and the toolkits just "draw as they see fit" on a canvas that they expect the windowing system to render dumbly. This is the X model, inherited from the dumb terminal days. I have had this argument out several other times here on /., I am not a newbie or a moron, and I AM a professional software executive with over 8 years of programming experience (though admittedly not writing windowing systems or toolkits).


    I certainly believe firmly in the benefits of choice and competition, and agree with most /.ers on that. I just don't think that the toolkit is the right place for it. Linux is competition for Windows. Berlin (could be) competition for X (someday). But Gnome/Gtk and KDE/Qt as competing toolkits, desktop environments, etc. that are totally decoupled from the Windowing system? It should honestly be enough to have competing apps built on the same toolkit. A somewhat similar aesthetic for the desktop.


    I appreciate what X Windows does for us, I just don't think it's the right solution for a desktop operating environment. Because of all the X apps out there, I think anything that comes out needs X compatibility as a backwards compatible route, but I don't feel that we should look to X Windows for the future. Just my opinion.

  17. Re:MS Windows vs. X, same hardware by pthisis · · Score: 5, Interesting

    I think part of the problem is the fact that there never seems to have been any coherent work done on this. The windowing system oriented people who work on X say "the toolkit authors fault". The toolkit authors would say "it's your drivers or the limitations of X Windows"

    Nope, read the thread I quoted and you'll see that gtk developer Owen Taylor agrees and that gtk 2.0 includes some of the optimization mentioned. The toolkit and X11 authors do work together on these things, and the toolkit authors have had a huge amount of input into the design of the XRender extension and the DRI infrastructure.

    While I do appreciate the flexibility of X Windows, I honestly DON'T think the windowing system and toolkits should be these totally orthogonal projects, and the toolkits just "draw as they see fit" on a canvas that they expect the windowing system to render dumbly. This is the X model, inherited from the dumb terminal days.

    Actually that's not the X model (BTW, X wouldn't run on a dumb terminal--even vi wouldn't run on a true dumb terminal (ie glass tty)). The X model is to provide high-level graphics primitives to the application, which then submits them to the server which can turn them into whichever low-level calls are most efficient on the hardware in question. Not only that, but the library used to submit those request can (and does) batch them together so that the application writer can have a simpler model and still get efficient code--for instance, multiple XDrawLine calls are batched by XLib into a single XDrawLines call that's sent on to the server, saving on round-trips and in some cases saving on bus traffic to the video card by eliminating redundant traffic. Or servicing those high-level requests in whatever manner is most efficient for the hardware in use.

    Highly efficient graphics can be done this way. Witness SGI, who were for years the undisputed leaders in the graphics field. They used X11.

    But think of X as being more of a device-driver with a unified API, the GUI is to be built on top of that. It's a highly reasonable and well considered model that is ideal for building the high-performance GUIS of the future on. Far better than e.g. a framebuffer, which is already obsolete (doesn't handle many 2D features like overlays & alpha blending, doesn't do 3D acceleration, doesn't allow for hardware security a la SGI, doesn't handle hardware video decoding, etc) and is low-level enough that you can't have the driver do intelligent optimizations without rewriting the apps. And designed with the foresight to be extremely flexible.

    Sumner

    --
    rage, rage against the dying of the light
  18. Re:Silken Mouse? by pthisis · · Score: 3, Informative

    Check the docu, you need to have it compiled into your X server and might need an Option line in XF86Config-4. If it's on, you'll get:

    (==) R128(0): Silken mouse enabled

    or similar in the XFree86 output.

    If you're running a kernel with good latency (e.g. 2.4.17 + Andrew Morton's LL patches, I use 2.4.17-jl11) you'll no longer see any mouse cursor dragging/skipping/etc problems. If the kernel has bad latency, there's nothing X can do about it.

    Sumner

    --
    rage, rage against the dying of the light
  19. One thing omitted in the Release notes... by Junta · · Score: 3, Informative

    Unless they royally screwed something up in the past few months, a show stopping XVideo bug with tdfx that was in 4.1.0 was fixed. I've been running CVS for months because of the bug. Basicly, if UYUV or YUY2 colorspace overlays were opened with the tdfx driver, the whole thing would crash out.... Shortly after then it was fixed in CVS, but it takes so long for them to release, I just had to use CVS. So if you use tdfx and certain media programs crash your X (particularly DivX videos are notable...), this is a *very* cool update...

    --
    XML is like violence. If it doesn't solve the problem, use more.
  20. only poorly written applications are affected by markj02 · · Score: 3, Interesting
    X11 batches requests, so the overhead of context switches compared to the overhead of drawing stuff is negligible. In fact, X11 is better off than, say, Windows GDI, which incurs similar context switches but hasn't been designed from the ground up with context switching in mind.

    Now, about latency. If you compare local access to X11 with local access to, say, Windows or OSX, I don't think you'll see practically significant differences. (Well-written applications will use shared memory for any kind of bulk data transfer.)

    About the graphics model. The X11 graphics model is complex. It really does expose a lot about the underlying graphics hardware to you and it gives you pixel accurate rendering. That was crucially important in the 1980's and has served X11 extremely well for nearly two decades. Today, it's less important, since you don't get a lot of low-depth screens anymore. I would expect that in the future, the RENDER extension will become the predominant graphics API and the core X11 graphics APIs will receive less attention. Implementing the core X11 graphics doesn't need to be a lot of code, and you don't have to worry about all the oddball bitmap formats if you don't want your applications to run with oddball display devices. But in some markets, that kind of control is important, and X11 provides it in a portable and network transparent manner.

    Overall, X11 is an old system and has accumulated some cruft. It's also a complex system because it does some really nifty things that neither Windows nor MacOSX have really tackled well. On balance, I think it's still a very modern network transparent windowing system, and if you were to design something with similar functionality today, it wouldn't look all that different or be all that much simpler. So, I vote for keeping X11, not because it's widely used, but because it's actually quite good. And I hope people will spend the time to understand X11 better. The people who designed it were very good; give them the benefit of the doubt.

  21. Re:MS Windows vs. X, same hardware by markj02 · · Score: 3, Interesting
    There are VERY obvious performance differences between any version of Windows and as new of version of X as you want. X Windows programs flicker like mad when moving or resizing, objects aren't responsive, the mouse frame rate is low,

    Those are problems with the toolkits. None of the modern toolkits (Gtk+, Qt, wxWindows, FLTK, Mozilla, etc.) use X11 very efficiently. The redraw logic in Gtk+, Qt, and Mozilla is, in fact, in violation of X11 guidelines. The reason is that these toolkits are mostly written with a Windows GDI mindset, either because that's what their authors are familiar with, or because they want to achieve cross-platform compatibility and it's easier to treat X11 as a second-class citizen.

    applications all have inconsistent look and feel,

    X11 is not a user interface or desktop, it's a network transparent windowing system. If your user interface is inconsistent, you only have yourself to blame for it: don't run X11 applications written for different toolkits or desktops. You get similar inconsistencies if you start running Motif or FLTK or wxWindows or Mozilla applications on Windows or MacOS.

    And if you say that I need to tweek it to get it as fast as MS, then MS wins.

    I'm posting this from Galeon running on a vanilla Debian installation on a 200MHz Pentium with 64M of RAM and a 5 year old graphics card. Windows wouldn't even boot on this configuration without excessive paging, and IE is a dog. In the past, all the graphics benchmarks I have done ran faster on good X11 implementations than on Windows. So, I challenge your implicit the claim that Linux+X11 is less efficient than Windows. But even if that were the case, on 1GHz machines with 512M of RAM, any such differences are academic.

    However, the Gnome and KDE desktops are comparatively slow and resource intensive, probably similar to recent versions of Windows. I couldn't run them very well on this machine (although they do run). That is something you will have to take up with the authors of those desktops. But they, too, are designed for modern machines, where it really doesn't matter.

  22. Vi is *for* dumb terminals by fm6 · · Score: 3, Informative
    This is the worst kind of offtopic nitpick, but I have to point out that Vi does run on a dumb terminal. There's still an entry in /etc/termcap for the LSI ADM3. In fact, "Dumb Terminal" was originally an LSI trademark for the ADM series.

    Of course, even on a fast connection, it's painful to run vi on a terminal that lacks cursor addressing. But there's a slightly improved version of the ADM3 (the ADM3a) that has this feature. And it just so happens that the ADM3a was the standard terminal at UCB when Bill Joy was there. Which is why the first version of Vi only ran on the ADM3a. And Vi still has minor ADM3a-specific features, such as using the h, j, k, and l keys for cursor control (the ADM3a had little arrows painted on these keys).

    Come to think of it, here we find the whole origin of the Vi/EMACS divide. Twenty years ago, UCB was a state institution with cheap "dumb" terminals, and MIT was a private institution with expensive "smart" terminals. Each institute produced a corresponding text editor.

  23. Re:With all respect by Wdomburg · · Score: 4, Insightful

    >So the option is, wait a few more years for
    >Xrender to be completed, or check out stuff like
    >directfb and berlin which claim to do what
    >Xrender will do years from now.

    Well, Berlin is at 0.2.2, and requires some sort of underlying graphic system - directfb, ggi, sdl or glut.

    Both sdl and glut require an underlying graphics system as well, usually X. So those two are out if you want to do away with X.

    Now on to GGI - at least the library (libGGI) is release quality. This is actually just a userspace graphics library that sits on top of an underlying system - X, svgalib, fbcon or glide.

    We'll assume you want acceleration, freedom from X, and reasonable hardware support. So out go X, svgalib, and glibe. FBcon can be accelerated, as long as it used kggi, which is currently only available from CVS.

    DirectFB also depends on FBcon, but it is does at least have what looks like a near final release.

    So, our choices are:

    Berlin on DirectFB on FBcon
    Berlin on GGI on FBcon
    DirectFB on FBcon

    We may want to nix Berlin on GGI on FBcon, if only for the sake of having something which is SOMEWHAT near completion.

    I'm not sure where you're getting this figure of "a few years" for Xrender to be completed, as Keith doesn't have timeline information on his website at all, but alpha compositing, anti-aliasing, and sub-pixel positioning are all written and included in the current XFree86 distribution. As the primary author states, the big pieces left are polygons and image transformation. Given that the initial discussions were at the 2000 USENIX Technical Conference, I'd say their progress is remarkable.

    >Whats the best option? People want alpha
    >channeling, scaling and OSX like effects,
    >alternatives claim to be able to do it now, they
    >port GTK and QT, and they claim to be compatible
    >with X.

    Xrender is already able to do alpha channeling and anti-aliased text, which are a major part of the deficiencies. Image transformation for things like scaling are forthcoming.

    The alternatives, as discussed above, are not at a final release stage, rely on a linux only graphics layer (FBcon), have a narrower range of hardware supported (or supported well), and have a signifigantly different paradigm, thus complicating porting existing toolkits.

    So is moving to a completely different toolkit, possibly with an unsolidified API, with the added headache of bringing all the drivers up to the same level of stability and performance as XFree86 already enjoys the "best option"? Or is the best option really updating toolkits to take advantage of the features available in XRender now, and planning on supporting the upcoming portions of the extension as they become available?

    Matt

  24. Re:Backing store vs Double buffering by spitzak · · Score: 3, Informative
    No, backing store is different than double buffering. Both have an off-screen image that corresponds to a part of an on-screen window.

    Backing store (as used by X) copies the part of the screen that is being hidden by a new window to an off-screen area. It can then copy parts of it back when that obscuring window is moved or removed.

    Double buffering lets the program draw into the offscreen area, and then it copies that offscreen area to the screen (either automatically or on a program command).

    Backing store sounded like a good idea when most overlapping windows were assummed to be pop-up menus. It does not work if the underlying window changes (which almost all modern toolkits do, due to them copying Windows's highlighting of menu titles, or due to the focus moving to the window). If the underlying area is drawn to, X is supposed to forget the backing store, but XFree86 seems to not do this, this indicates how little backing store is used that nobody bothers to fix this.

    Double buffering is much more useful, though it uses a lot more memory. If the entire image of the window is stored then transparency of the windows is possible without having to draw them all from back to front. For this reason all X and Windows hacks that produce transparency of all windows use double-buffering, also OSX uses it. NeXT used it too. It is also possible and useful to double-buffer only the visible portion of the window, this is what OpenGL and probably DirectX and all other 3D systems do because the offscreen area is the same size as the screen, but you lose the ability to move or composite transparent windows without redrawing.