Slashdot Mirror


RandR Support on XFree86 4.3

Gentu writes "Great news from our favorite windowing system: [Hewlett-Packard] engineers committed a new extension to XFree86, called RandR. XFree86 4.3 (to be released in late 2002/early 2003), will have the ability to truly resize (not via the pseudo-resize CNTRL+[+/-] command), rotate, reflect and change the refresh rate of each screen of an X display on the fly. And KDE seems to be the first desktop environment to add support for the RandR extension."

74 of 503 comments (clear)

  1. What? No more hacking XF86Config by mhesseltine · · Score: 3, Funny

    Now how will I prove my 3733T skillz?

    --
    Overrated / Underrated : Moderation :: Anonymous Coward : Posting
    1. Re:What? No more hacking XF86Config by Anonymous Coward · · Score: 5, Funny
      Now how will I prove my 3733T skillz?

      Your eteet skills?

      The trolls aren't what they used to be.

    2. Re:What? No more hacking XF86Config by Libor+Vanek · · Score: 3, Funny

      Hack /etc/sendfile.cf!

  2. 'doze like "Apply" button? by The-Dork · · Score: 3, Interesting
    So in effect, we can have a windoze like app where we could just change the resolution, refresh rate etc. and click "Apply" ?

    ...

    And it will work?

    --
    The statement below is true.
    The statement above is false.
  3. so what? by siliconwafer · · Score: 4, Interesting

    Hrm, neat. so what though? What does this really mean? Will it make Linux/BSD closer to being "ready for the desktop?" How is this going to affect your average user?

    1. Re:so what? by eatenn · · Score: 4, Insightful
      Hrm, neat. so what though? What does this really mean? Will it make Linux/BSD closer to being "ready for the desktop?" How is this going to affect your average user?

      Personally, I don't really care what affect this will have in bringing Linux to the desktop. I don't care about the "average user" either.

      I care about me, and I'm glad I'll be able to switch resolutions without having to hack at a config file. I'm sure most people will be too, whether they're chatting with friends or coding. It's good for everyone.

      --
      "But the cars are all flashing me, bright lights are passing me, I feel life passing me by" - Stiff Little Fingers
    2. Re:so what? by geekster · · Score: 5, Interesting

      Games.
      Being able to change resolution and color depth dynamicly, you no longer have to see a game designed for a lower resolution than your desktop run with in a small window with a black border around it. Resolution could be changed before, but not on all chipsets.
      Also running in a different color depth required emulation wich is slow. And this could'nt be changed dynamicly before.

      This is the only thing I've hated about X, so I'm quite happy now.

    3. Re:so what? by msevior · · Score: 3, Insightful

      This absolutely vital for doing presentation graphics with your laptop. Video project resolutions hardly ever match your laptops.

      This is absolutely critical for Linx to be a useful desktop/laptop OS.

      Scientists the world over have to use windows for presentations because of this limitation.

      Cheers

      Martin

    4. Re:so what? by dvdeug · · Score: 4, Informative

      I just keep around an XF86Config file that's all set up for the XGA resolution,

      Or you could add another layout section to your current file, and just call startx -- -layout blah. (Only tried on Debian with X4.)

  4. KDE not first! by Anonymous Coward · · Score: 4, Informative

    Keith Packard provided GNOME patches a couple weeks ago.

    ChangeLogs:

    2002-10-04 Havoc Pennington

    * src/display.c (event_callback): do XRRUpdateConfiguration()
    if we have RandR extension, else poke in Xlib's screen struct to
    update the screen size.

    * configure.in: fix a bogus overwrite of cppflags,
    add a check for RandR extension

    2002-10-07 Mark McLoughlin

    Support RandR extension by resizing the toplevel panels
    if the screen size has changed. Based on patch from
    Keith Packard - #94561. Requires gtk+ HEAD.

    * basep-widget.[ch]: (basep_widget_screen_size_changed):
    * foobar-widget.[ch]: (foobar_widget_screen_size_changed):
    resize the toplevels when the screen size changed.

    * multiscreen-stuff.c:
    (multiscreen_screen_size_changed): re-initialise and request
    a resize on the toplevels.
    (multiscreen_support_init): connect to the "size_changed"
    signal on all screens.
    (multiscreen_reinit): re-initialise the monitor geometries.

    1. Re:KDE not first! by luge · · Score: 5, Informative

      It's important to note that these are not just 'ooh, we have a frontend that twiddles X settings'- it's support at the WM and panel level. GTK changes are (I'm told) in too. So GNOME has support that actually works, for the six or so people bold enough to run CVS GNOME on top of CVS X ;)

      --

      IAAL,BIANLY

  5. The change I want to see... by ajuda · · Score: 5, Interesting

    I would like to be able to redirect running xwindows applications. Let's say I am running a copy of bzFlag, or some other type of productivity application. Wouldn't it be good to be able to transfer the running application to a different computer if I suddenly have to change terminals?

    1. Re:The change I want to see... by leoboiko · · Score: 5, Informative

      Tried xmove?

      --
      Prescriptive grammar:linguistics :: alchemy:chemistry. Stop being a nazi and learn some science.
    2. Re:The change I want to see... by Graymalkin · · Score: 4, Interesting

      Because Mozilla crashed before I submitted my original response to you this one will be shorter.

      Sun already does this with their Sun Ray terminals. Your X session is attached to an ID card you stick in the terminal and when you move to another machine your session state moves with you. When you plug your card in your screen pops up where you left it and how you left it.

      I don't have an Enterprise 45 and some Sun Rays lying around but I'll make a guess that in order to do this they just did a little transparent tweaking on top of X. The session could be attached not to a network address but instead to an alias. The terminals could send out an alias release packet to the alias manager on the server with the X client whe na card is removed and an alias set packet when the card is inserted. All the server would then need to do is reassign the alias wherever you moved to and your screen would show up on the next screen update.

      X is already maintaining your state on the machine hosting the client. The tricky part is just attaching the session to something other than a specific network address or physical port. Resolution and colour depth can be translated by the server running on your terminal. I've never seen an open source implementation of whatever Sun does, maybe someone else can correct me if I was wrong about that or how it works. Just because I haven't seen it doesn't mean it doesn't exist.

      --
      I'm a loner Dottie, a Rebel.
    3. Re:The change I want to see... by skaya · · Score: 3, Informative

      xmove allows to do this.
      Tt creates a "virtual" Xserver ; you run your apps in the virtual server, and then you can attach the virtual server to a real Xserver, and detach/reattach it to another real Xserver.
      There are some limitations (real servers must have same bpp, for instance...).

  6. What about bits per plane (bpp)? by Archie+Steel · · Score: 5, Interesting

    Is changing bpp on-the-fly also covered by this new (très cool) extension? I skimmed through the announcement but could not find anything about this. Anybody know if color depth switching is planned?

    --

    Reminder: find a new sig
    1. Re:What about bits per plane (bpp)? by rodgerd · · Score: 3, Informative

      Not according to Jim Gettys - this is TBD.

    2. Re:What about bits per plane (bpp)? by listen · · Score: 5, Informative

      The RandR extension seems to.
      It will then emulate, using the Render extensions compositing features, any visuals used by apps that are no longer accelerated. ( eg switch from 16 to 32, emulate 16 bit visuals.)
      This means clients which don't know about RandR, and don't change visuals, will not break.

    3. Re:What about bits per plane (bpp)? by jg · · Score: 5, Informative

      Unfortunately not. From the spec as implemented.

      RandR as implemented and integrated into the XFree86 server differs in
      one substantial fashion from the design discussed in that paper: that
      is, RandR 1.0 does not implement the depth switching described in that
      document, and the support described for that in the protocol in that
      document and in the XFree86 implementationhas been removed from the
      protocol described here, as it has been overtaken by events.

      These events include:
      o Modern toolkits (in this case, GTK+ 2.x) have progressed to the point
      of implementing migration between screens of arbitrary depths
      o The continued advance of Moore's law has made limited amounts of VRAM
      less of an issue, reducing the pressure to implement depth switching
      on laptops or desktop systems
      o The continued decline of legacy toolkits whose design would have
      required depth switching to support migration
      o The lack of depth switchin implementation experience in the
      intervening time, due to events beyond our control

      Additionally, the requirement to support depth switching might
      complicate other re-engineering of the device independent part of the
      X server that is currently being contemplated.

      Rather than further delaying RandR's widespread deployment for a
      feature long wanted by the community (resizing of screens,
      particularly on laptops), or the deployment of a protocol design that
      might be flawed due to lack of implementation experience, we decided
      to remove depth switching from the protocol. It may be implementated
      at a later time if resources and interests permit as a revision to the
      protocol described here, which will remain a stable base for
      applications. The protocol described here has been implemented in the
      main XFree86 server, and more fully in the TinyX implementation in the
      XFree86 distribution, which fully implements resizing, rotation and
      reflection.

  7. Re:This is not a rhetorical question. by rodgerd · · Score: 5, Insightful

    The rotation is for people with pivoting monitors which can swap between landscape and portait views, I assume.

    Mirroring may be reflection, but it could also be mirrored video for multihead setups.

  8. Re:This is not a rhetorical question. by Trusty+Penfold · · Score: 3, Funny

    It brings new life to tired, old, porn?

  9. Re:Just how bad is X? by rodgerd · · Score: 5, Insightful

    X is a lot better than many competing efforts. For starters, it works, is in wide distribution, and has a huge suite of apps. Unlike, say, Berlin, or any of the other "Let's replace X" projects (Berlin, to its credit, at least works. Most alternatives are SourceForgeWare with a few Beavis and Buttheads dissing X withou anything to replace it).

    X gives you a base. You can reimplement everything X already does to get the features X doesn't have, or you can implement extensions to X, or rewrite core parts, to correct the faults X has. Guess which is less work?

  10. Re:Just how bad is X? by PissingInTheWind · · Score: 3, Insightful

    > Is faults seeem to overshadow its many features.

    Well, that sounds like pretty gratuitous judgement to me. Would you please care to enumerate 'Is faults'[sic] ?

    X might not be perfect, but it does the job. We can't allways break things so they get better easily.

    Propose a better solution, implement it, make an easy migration path, become rich and popular and get all the chicks. (That's the Profit!!! part)

    --

    A message from the system administrator: 'I've upped my priority. Now up yours.'
  11. Re:This is not a rhetorical question. by theLOUDroom · · Score: 3, Insightful

    IF your monitor was on it's side it could be pretty handy. Also if you were using a mirror to view you screen it could be useful too.
    I'm not saying most people will do this, but most people don't run multiple monitors either.

    --
    Life is too short to proofread.
  12. Huh by Graspee_Leemoor · · Score: 5, Funny

    What a rip off! Turns out this rotate feature is not a free rotate but fixed 90 degree increments!

    Pfff! And I wanted to have my aterm at a weird angle.

    graspee

  13. Re:Just how bad is X? by aussersterne · · Score: 5, Insightful

    Why do these "when will we replace X" trolls resurface every time there is an X story? And why do people keep modding them up?

    So far, we have great 3D acceleration, direct video, anti-aliasing, and now dynamic sizing/resizing in X. And all with excellent performance that is equal to or better than the performance offered by Windows. And we retain the network-centric features and flexible, modular configuration that make X so powerful. And all of this while maintaining backward compatibility over a decade-and-a-half of software.

    We'll replace X when it makes sense to do so and not before. Right now, there is no better (or even close to equal) solution.

    --
    STOP . AMERICA . NOW
  14. Re:Just how bad is X? by md17 · · Score: 5, Insightful

    How did this comment get to a 5? This person does not understand software development. If you need some more information on why we should not "replace the X windowing system alltogether", read this.

  15. Re:Just how bad is X? by CTho9305 · · Score: 5, Insightful

    What does Mac OS X use? Something different. Maybe we (the rest of the *nix world) should see HOW MUCH they gained from doing that - it may be that rewriting a lot of apps (or doing some sort of backwards compatibility mode) would be worth it.

  16. Re:This is not a rhetorical question. by Fembot · · Score: 4, Insightful

    This would be incredibly useful in situations with LCD projectors projecting from behind the screen, so everything has to be mirrored for it to appear correct to people viewing it from the front

  17. Re:Just how bad is X? by rodgerd · · Score: 5, Informative

    They (essentially) use Display PDF, an evolution of Display PostScript. There is no X server. What they gain from that is, well, a pretty GUI. One that does not have many of the useful features of X (no remote windowing, which matters when you're seling Xserves). More importantly, it has none of the X software, which means people have had to hack a working X server onto the platform - Apple refuse to - and run them there. If all you want are the pretty effects you can get from Display PDF, you can go contribute to one of the projects adding Display PostScript to X. There's not much that uses it, but you can have it.

    Which means Apple may have a Unixish personality of their Mach core, but out of the box, no Unix GUI tools work.

    And if you think Apple, who routinely sue people for producing OS X look-a-like themes would stand for you cloning the Quartz API, you can pass me some of whatever you've got.

  18. Wow... by coene · · Score: 5, Insightful

    Finally X is getting the same features that most other operating systems have had for a decade... It may sound small, but these are the things that make systems easier to use for the average joe, and goes a long way in usability.

  19. Re:when, oh god when by rodgerd · · Score: 3, Informative

    You'll note if you read some of the correspondence around this that various members of the GNOME team (and presumably KDE) are adding a control-centre gadget to do exactly that.

  20. Re:when, oh god when by dr.badass · · Score: 3, Informative

    When, oh God, when, will people RTFA,
    or just the post, for christsakes.

    The feature you're asking for is exactly
    what this extention allows. ...fuckin' kids these days...

    --
    Don't become a regular here -- you will become retarded.
  21. Re:Just how bad is X? by jeremyhu · · Score: 3, Insightful

    I think that the long life of X speaks to how well it actually was designed. The modularity of the X core has allowed for over a decade of innovation to occur WITHOUT hindering backwards compatibility. Can you say that about the past 10 years of any MS code base?

  22. screenshots by Anonymous Coward · · Score: 5, Informative
  23. Re:KDE/Gnome by rodgerd · · Score: 3, Informative

    Your WM will want to understand it, and your toolkit should understand it. But if you read the paper, you'll see they have solutions to help apps that are unfamiliar with the extension cope with their world changing underneath them.

  24. Re:Just how bad is X? by Archie+Steel · · Score: 4, Insightful

    I can still see Gnome and KDE menus paint across the screen chunkily -- yes, this is on a P-4 machine with whizzy graphics cards, a gig of RAM, etc.

    Perhaps your setup is faulty. On my system (Athlon 900 with 1GB of RAM - granted I have a GeForce 4...) the KDE menu pops in, with no redraw at all. And this is in 1600x1200, 24bpp.

    Honestly, XFree86 has never seemed slow to me. It does seem to be the weak link as far as system stability is concerned, though: X has been involved in nearly every one of the (few) system hangs I've experienced.

    --

    Reminder: find a new sig
  25. Re:Just how bad is X? by JabberWokky · · Score: 5, Informative
    As a side note, just to toss in a fact, I clicked mine (PIII 700Mhz, Matrox G400), and I saw a split second of a blank rectangle before the menu painted in - a tiny, bare split second, but still there.

    I then reclicked it, and there is no perceptable painting whatsoever. It's either there or it isn't. I can click over and over on it, and it pops back and forth (if I do it quick enough, I get a flicker effect and I think I can see where it is painting, but I'm not sure if it's just a optical effect of flipping back and forth).

    KDE caches it's menu, and does a rebuild when you click it after n seconds of activity (the value is in a Properties panel somewhere, iirc). My guess is that the "repainting" is actually KDE rebuilding its menu after a period of inactivity.

    --
    Evan

    --
    "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
  26. Re:Just how bad is X? by aussersterne · · Score: 3, Informative

    You obviously don't know what you're doing, have misconfigured, etc.

    I have a set of boring-ass old PII/400 workstations with 128MB memory here running original GeForce256 cards using the NVidia driver. Everything in KDE -- window decorations, menus, anti-aliased text, scrolling content -- draws instantly, just as it does in Windows. There is none of the 'paint across the screen chunkily' problem you describe. Maybe it actually is the drivers. Did you ever think of that?

    And on this same network, there are two headless Slackware 8 servers on which I often log in to KDE remotely. This is only a 10 megabit network and yet the KDE desktop works wonderfully; there are no real slowdowns whatsoever compared to the Citrix clients I've used elsewhere on the campus network.

    Something is clearly broken on your setup.

    --
    STOP . AMERICA . NOW
  27. Re:Whats the point? by Yosho · · Score: 5, Insightful

    Reasons why this is good:

    Applications that work best in a specific resolution or color depth. Particular examples are any games; Most 3D games, such as Unreal Tournament or Quake 3, give you the option of changing the resolution or color depth; the obvious advantage to this is that if you have a low-end video card, setting the resolution and color depth low will increase the framerate. If you have a high end video card, you obviously will want a higher resolution for greater detail. I keep my desktop at 1280x960, but prefer to run games in 1024x768 with Quincunx antialiasing (I have a GeForce 3).

    Another important application is web design. A well-designed web site should look good at any resolution; however, since one can't intuitively know how a page will look at every resolution, when designing a page it is convenient to change your resolution on the fly and take a look at it.

    And then, of course, you have applications that *require* a specific resolution. This isn't as much of a problem with UNIX, but in the Windows world you will likely encounter programs designed for older setups that will fail to run if you don't have a specific bit depth or resolution. Even some more recent applications have this restriction; for example, the Windows SNES emulator zSNES requires that you run it with 16-bit color depth (at least, it did the last time I checked). Starcraft requires that it run at 640x480.

    So, just because you don't have any reason for this, don't say it's useless. I've been wanting this feature for ages.

    --
    Karma: Terrifying (mostly affected by atrocities you've committed)
  28. Re:Just how bad is X? by Chris+Burke · · Score: 3, Interesting

    "and now dynamic sizing/resizing in X."

    Everyone is treating this like it's some super great accomplishment. Windows has allowed this since Windows 95, and the Mac since System 7.x.


    Well, not exactly... What we're saying is that all the faults in useability/functionality that you may have been able to say X had are slowly and surely being whacked out. That they happen without disruption at all in compatability is a sign that there is no fundamental reason for these flaws, they are simply there because they haven't been done yet.

    True, but when Windows Terminal Server came out, that takes a back seat. Try running an X11 session over a slow network link vs. a Windows terminal server session (especially over Citrix ICA) and let me know how it goes.

    Depends... are we running it through ssh, telnet, or vnc? Vnc sessions are about as snappy as TS (minus the unfortunate remotely-rendered mouse of vnc). Of course Vnc suffers from the same advantage as TS, which is that it can render everything locally and compress and transmit the results.

    But certainly X could use improvement in this area. That doesn't mean it won't come, or that we need to -start over-. It could be as simple as another extension.

    --

    The enemies of Democracy are
  29. Re:Fix this by damiam · · Score: 3, Insightful

    Cut and paste has been fixed for years. Buttons aren't X's problem. If you have a problem with the button focusing behavior of your desktop, file a bug report.

    --
    It's hard to be religious when certain people are never incinerated by bolts of lightning.
  30. Let's all go to the article, by twitter · · Score: 3, Informative
    and get ourselves a treat:

    For example, you should be able to tell an application running on your handheld computer to use a nearby desktop display, keyboard and mouse, or a projector on the wall. This should not require stopping and starting the application. You should be able to go home, and decide to import applications you left running at work. There are obviously security, authentication and authorization problems left to work out, but these are generally independent of the base window system.

    Holly network is the computer, Batman! I gotta think about that one, but I'm sure it will not be comming to platforms that are still trying to extort per seat licensing and worry about more than one person running a word processor at one time. How's that for "ready" for the desktop"?

    MMM, don't like frame buffer, it's been slow. The article talks about this frame buffer being faster than other frame buffers, but that does not make it as good as non frame fuffered servers, no?

    Thinking over. Your turn.

    --

    Friends don't help friends install M$ junk.

    1. Re:Let's all go to the article, by Dwonis · · Score: 3, Informative

      Every display has a frame buffer, somewhere.

  31. Re:Proof of concept by mabinogi · · Score: 4, Insightful

    Actually, I think it just shows that up till now, it's not really been that much of a required feature...

    But now that we have more and more normal desktop users at least considering Linux, it's become more pressing.

    I think you'll find that from deciding to do the work, to actually finishing did not take very long at all, in the scheme of things....

    --
    Advanced users are users too!
  32. Re:Just how bad is X? by cehardin · · Score: 5, Informative

    Dude, you've got it all wrong. People often say that Quartz is almost like Display Postscript, but it's not at all. Display Postscript involved creating actual postscript code and sending it to a postscript intepretor for display on the screen. Quartz does not do that. However, it does share almost the same exact API as Display Postscript did, so I can understand the confusion.

    Anyhow, Display Postscript was not intended to be an extension to X11, that came AFTER it was implemented on NeXT. Remember OpenStep on Sun and HP, thise systems only had Xwindows, so a XDPS system was needed for them only.

    Another point, XRender works very similarly to how Quartz does. That is, clients draw in a pixmap and ask the Server to draw it (vs. asking the Server to just draw it). The WindowServer in OS X is kinda like a XRender only X11. Drawing commands are not sent to the WindowServer, only the client's pixmap of what their windows should contain is "sent" (shared really) to the Server. Hence, a lightwieght Window Manager.

  33. Mirroring by csnydermvpsoft · · Score: 4, Funny

    Mirroring support... I can imagine the pranks already...

    Unsuspecting boss: Eeeeek! My computer just got a virus! Fix it!

    Me: Sure... [types a command]... all fixed.

    Boss: That was amazing! What would I ever do without you?

    Me: About that raise I was asking about...

  34. Does this mean I get colour cycling in 32-bit? by Tommer · · Score: 3, Funny

    I'd really love to run XaoS in 8-bit mode and use colour cycling while still having a 32-bit visual
    for everything else. Is this good enough for that?

    --
    -- Tom Rathborne
  35. Re:XFree 2002 = Windows 95 by Anonymous Coward · · Score: 4, Insightful

    I find it amazing to be reading posts from people whose memory of computers start at 95B. The original 95 required a reboot after a screen change, slick...just like every version of Windows before it.

    I can see why this kind of feature would be important for Windows users. Afterall, if you had to reboot every time you changed your resolution you'd never get anything done.

  36. Clipboard (was Re:Fix this) by tialaramex · · Score: 5, Insightful

    Cut and paste faults are BUGS in individual applications or toolkits. The XFree86 maintainers cannot fix these bugs by changing X, because X already does the right thing.

    In every serious X app you should be able to do both of the following:

    1) Cut, Copy and Paste things through the system clipboard using menu options, keyboard shortcuts etc. as appropriate. e.g. Ctrl-X for cut in most GNOME, KDE apps. This works almost exactly like Windows.

    2) Quick copy using the middle mouse button, select text in any application, then press the middle mouse button to paste that text in any other application.

    If they don't work in your favourite apps, check for a new version. If that doesn't work either, file a bug, post to the mailing list, write to your democratic representative or complain ABOUT THE SPECIFIC APP on Slashdot. If you aren't specific no-one can help you.

    Caveats:

    Old KDE (pre 3.0) and Qt (ditto) apps (e.g. Opera and many installs of KOffice) don't work because Trolltech screwed up. Upgrade

    Venerable old xterm doesn't have Cut/Copy/Paste menu items (most users don't even know it has a menu) so you can't use the clipboard only the fast copy feature. Use one of the many other modern terminal apps if you /really/ care.

    Earlier (e.g. few months old) stable releases of Gnumeric make the same mistake as Qt2.x. Upgrade to the latest release.

    GNU Emacs (but not XEmacs) has totally bizarre clipboard behaviour unrelated to any standard, principle or sense of reason. Use XEmacs or complain to your favourite Emacs maintainer.

  37. Re:This is not a rhetorical question. by scotch · · Score: 5, Funny
    The rotation is also good if you fall over and can't get up. Change the rotation and keep on hacking as you lay otherwise helpless on the floor.

    --
    XML causes global warming.
  38. What a great feature! by TheSHAD0W · · Score: 4, Funny

    Coders everywhere can always use more R&R. This means we won't have to offer additional vacation time.

  39. Re:Just how bad is X? by cpeterso · · Score: 5, Funny


    Which means Apple may have a Unixish personality of their Mach core, but out of the box, no Unix GUI tools work.

    Good point. The Mac has no GUI tools and Unix's GUI tools are world-renowned. Mac users are clamoring to use those Unix GUI tools. or was that vice versa?

  40. it's not the same by g4dget · · Score: 5, Insightful
    Changing resolution or screen orientation on something like Windows or MacOS is a pretty simple and localized affair--something pokes around with the video hardware and applications get notified that something happened--not very hard, but not very powerful either. Individual X11 implementations have had that for many years as well.

    This extension, together with other X11 features, has a much grander vision: letting applications move seamlessly across displays and devices. This requires defining standard protocols by which different implementations can interoperate and communicate. It also means coming up with standards that work across a wide range of devices.

    I frankly don't know when, or even whether, X11 will be able to deliver on this vision--it's hard and there is still a lot of work left. But I do know that few other systems are even trying, and that functionally, X11 is already far ahead of the alternatives. For all their visual glitz, Windows and MacOS, for example, are just minor variations on the "applications running on my desktop" theme.

  41. This is important by foonf · · Score: 4, Insightful

    But, I think its impact is being overblown, at the cost of ignoring features which have existed in Xfree86 (and X11 in general) for some time.

    Of course, changing the display resolution itself has always been possible using control-alt-+/-, but without resizing the desktop.

    Full screen games can run at any resolution and color depth supported by the hardware, and included in the XF86Config file, regardless of the desktop resolution, on almost any recent card, if the program itself supports the existing DGA extensions.

    Real-time mode line (ie, refresh rate, dot clock, etc.) tweaking has always been possible with xvidtune and other utilities (the very nice PowerDesk tool with Matrox cards, for instance, which is GPL'd).

    What this does is allow resizing (and less significantly, rotation, reflection, and other similar permutations) of the desktop itself without restarting the X11 server.

    Moreover, this does not automatically mean that an easy to use Windows-style control applet will exist--this is a separate task, as it should be in the Unix tradition, but one which these extensions will make closer to possibility (notwithstanding, I can't see why some tool like this hasn't been developed already by one of the large commercial distributions using functionality already present--see the PowerDesk applet I mentioned above for an example of how this should work).

    --

    "(Man) tries to live his own life as if he were telling a story. But you have to choose: live or tell." --Sartre
  42. Re:Proof of concept by g4dget · · Score: 4, Interesting
    That mere fact that we had to wait so many years for a feature that has been available to Mac users for, like, 15 years, is the proof that X11 in general and XFree86 in particular, is the most bloated buggy unmaintainnable piece of software ever.

    The Mac solved a much simpler problem: given a proprietary GUI toolkit running on a single machine, let people rotate the screen. You can do that with a quick hack.

    X11 is a protocol, not an implementation. People can't just go in, hack the XFree86 implementation, and be done with it. If you add something to X11, it needs to be defined, discussed, and then implemented. People need to think about lots of different kinds of possible hardware and scenarios. That takes time.

    When will somebody free the world of X11 and write a light-weight fast and efficient graphics layer for Linux,

    Have you done a "ps" on your Mac lately? Have you done any kind of graphics benchmarks? X11 runs rings around the Macintosh display system, both in terms of performance and in terms of memory footprint.

    but I strongly believe 2/3 of the functionality of the X11 architecure is just a big waste of time and disk space

    Oh, and what functionality would that be? Please tell us.

    Besides, do you think that putting a PDF or Postscript interpreter into the display server is the epitomy of efficient design?

  43. Re:Just how bad is X? by AJWM · · Score: 3, Informative

    and now dynamic sizing/resizing in X.

    Everyone is treating this like it's some super great accomplishment. Windows has allowed this since Windows 95, and the Mac since System 7.x.


    Windows has never had -- and still doesn't -- rotation, which the XRandR also provides. Cool, now I can tilt my monitor on its side and view things in portrait mode.

    The Mac supported this with certain display hardware (the Radius Pivot comes to mind), but most Mac hardware (of System 7 vintage, anyway) didn't support any resizing, dynamic or otherwise.

    I can click the [Windows] start menu and it draws instantly. I can still see Gnome and KDE menus paint across the screen chunkily -- yes, this is on a P-4 machine with whizzy graphics cards, a gig of RAM, etc.

    Then something is seriously fucked up with your Linux/X server configuration. I'm typing this on a P-III 550 with 512 MB RAM and a Matrox 200 graphics card, and "instant" is the word I'd use for the graphics. On a P-166 with 64MB and cheap S3 ViRGE graphics, it's a little slower to start drawing a menu, but once it does start the menu appears quickly, none of this "chunkily" stuff.

    Makes you wonder why all those thin clients that boot Linux + X11 do it not to connect to an X server, but to run Citrix's ICA client for Linux to connect to a Windows 2000 server.

    Umm, maybe because Windows 2000 server doesn't speak X Windows? (So, how do I set the DISPLAY variable in Win2K?)

    --
    -- Alastair
  44. Re:This is not a rhetorical question. by jg · · Score: 5, Interesting

    Rotation is used, for example, on the iPAQ PDA,
    so that you can choose either landscape or
    portrait mode. It is also useful on tablets,
    some other circumstances.

    Keith and I discussed mirroring when we originally
    designed RandR, but couldn't come up with a
    plausible need.

    Then at a conference, someone came up to me and
    said they wanted to implement a Heads-UP display
    using a Laptop on their dashboard.

    I said: "Sold!".

    So we implemented it.
    - Jim

  45. Re:Just how bad is X? by cehardin · · Score: 3, Interesting

    I see, it is somewhat confusing because most people have never used a lightweight window manager. OS X has a 20K process called "Window Manager", all it knows how to do is keep track of where windows are, where the mouse is, keystrokes, etc. It is the clients responsibility to actually draw stuff. The client asks the Window Manager for a shared piece of memory to draw to. When the client is done it tells the server and the server then blits this pixmap and keeps it in memory for later use (double buffering). This is basically what Xrender does. Note that it is the client which also draws the window frame, decorations, etc, there is no "Window Manager" like there is on X11.

    Now, the clients do have access to PDF intepreters, but they run in the client only. no "code" is sent to the server. This is the fastest way to do this. ala XRender stuff. Of course, this type of graphics system does not work with remote connections.

    I thought XRender prevented remote display functionality?

    X11 is ok, but something like quartz does it so much smaller, simpler, and faster.

  46. Rotate and Resize by certron · · Score: 4, Funny

    OK, maybe there is something wrong with me, but all I can think of with rotate and resize is the following:

    Rotate screen to view centerfold...
    Resize pants.

    I'm a bad bad person. :-)

    --

    fair.org counterpunch.com truthout.com indymedia.org salon.com
    eff.org guerrilla.net debian.org gentoo.org
  47. Re:Just how bad is X? by Dalcius · · Score: 4, Interesting

    -1 Redundant
    +1 Well Deserved

    Do you have a habit of smoking somethign when you use X?

    I'm typing this on a Dell Inspiron 7000. Pentium 333, 190 MB ram, 4 MB ATI video card. Both Windows and X take a second to read the menus and render them the first time, but that time is nearly equivilant. Afterwards, X renders instantly.

    However, I don't notice a load-time on my other machine (XP 2000+, 768 MB DDR, MSI GeForce4 Ti 4400).

    Are you running an old version of Nautilus? I don't think even that would do it, but that's all I can think of.

    Sure, like everything, X has it's problems, but I prefer flexibility and configurability over the simplistic, inflexible crap from Microsoft that passes as a desktop.

    --
    ~Dalcius
    Rome wasn't burnt in a day.
  48. Re:Just how bad is X? by starseeker · · Score: 3, Insightful

    A very good article, but there are a couple of points I would like to make:

    Free software development has a different set of standards to work by than commercial software. What this article says is probably true for commercial software, but there the motivation is to make it work and sell it. Free software is different in that selling isn't a factor. Usage is nice, but the most skilled open source programmers are artists. And it shows! We may not have produced a full MSOffice clone, but I'm writting this from a Linux box in Galeon, using Mozilla. I don't have Windows on my machine, and don't want it - Linux is an excellent system. Mozilla is a tremendous piece of work - in my estimation, the rewrite has done a lot of good. Yes we had to wait, but in the end it produced results.

    Maybe the results are not so good for Netscape the company, but Netscape the browser is a lot better off. In free software, the program means more than the company, which is a very foreign mindframe to corporate types. Understandable.

    But that's why people are interested in a total redesign of X - we don't have to care whether or not it takes five years or ten, whether we will have enough market share to pay costs. It's developed as a hobby by people who love doing it. We aren't sweating timelines or market share. Berlin is very slow, and may or may not ever replace X, but so what? They like developing it, it undoubtedly has advantages and flexibility, and may someday change the world of free software. Same with GNU Hurd or EROS. Totally cool ideas, total rewrites of everything, not fully developed but really neat and potentially very useful.

    So while it wouldn't make sense IN A COMMERCIAL SETTING to replace X, in the artistic world of free software it does. And since both X and whatever replaces it can be maintained and work together (Both DirectFB and Quartz can handle X running alongside them, for example, and if Berlin can't yet it will surely be able to) we can be backwards compatible and functional while reaching for the stars feature and style wise.

    --
    "I object to doing things that computers can do." -- Olin Shivers, lispers.org
  49. Re:This is not a rhetorical question. by StringBlade · · Score: 3, Informative

    It's also possible that people may want to run XMAME and other such emulators on a monitor which has been rotated and placed inside a cabinet (or other display mount). While XMAME and other emulators may allow games to be rotated during emulation (usually one of the game's options), by allowing X to rotate the screen, it wouldn't depend on the emulated game to provide the rotation and it would provide consistancy among game orientations.

    --
    ...and that's the way the cookie crumbles.
  50. other boss pranks ... by taniwha · · Score: 5, Funny
    I used to work somewhere where we designed video cards for Macs - the engineering group was known for pranks and when it was your birthday you were fair game.

    Anyway it was the boss's birthday and the night before he carefully locked his office and set traps in the door so he could tell if anyone had been in .... the next morning he comes in, everything seems OK, he checks the door, his chair, his desk, doesn't find anything ... sits down to work with his computer .... nolthing happens .... about 1/2 an hour later he realises his screen is slowly getting greener and greener ... aha he thinks looks in his system folder, removes a couple of suspicious INITs and reboots, it comes right ..... about 1/2 and hour later kit starts going green again .... he pulls some more stuff, reboots again, but no luck .... he's just about to reformat his disk and reload the OS when lunch came around and we explained ....

    Of course reloading everything wouldn't have done him any good ... we'd burned him a custom ROM for his graphics card

  51. Re:This is Silly... by mosch · · Score: 5, Insightful
    Imagine if you will, a world where it's possible to hook your laptop up to a 1024x768 15" lcd panel, then switch to a 2048x1536 22" crt, then to a 3840x2400 high-res lcd panel.

    In that sort of world, it's a lot easier to specify how big you want things to be than to specify how many pixels anything should be.

  52. The anti-pro-X debate is missing the point! by Francis+Avila · · Score: 5, Insightful

    There are a lot of people whining about X (myself included). Most people say X is (take your pick) bloated, slow, obsolete, inefficient, or hopeless. Now some of these individual claims may have some truth to them, but the fact is that X despite its knarliness, works, and it works today. There isn't any real alternative, and it can continue to be extended for a long time.

    But people who say such things about X are missing the point. X is ugly, in the same way that x86 is ugly. I think the analogy is a very apt one. Both are rather old designs, both are the most prevalent, both have had to be extended numerous times (and successfully), and both work, and work quite well. But neither one will get any design awards: the only thing we're doing at this point with either of these is leveraging the existing code base (i.e., the millions of x86 binaries on the one hand and X applications on the other) and avoiding duplication of past work by building something from scratch. And frankly, I think both are beginning to reach the end of the line: the further we go, the more effort we need to expend for an increasingly marginal return.

    For the x86 example, Intel perceives this, and wants to jump ship now, even though its replacement is not as robust, fast, or powerful as its last top of the line. Once again, people who point this fact out are missing the point: Intel is laying down a roadmap, to service a broader goal of an architecture it can grow with for the next decade or more.

    Why can't we do the same with X? It's going to get harder and harder to grow with X, so lets lay some groundwork now for a window system we can grow with for the next decade or more.

    I am shocked and amazed that more comments are not mentioning Berlin, that is, Fresco. Do people not know about this? This is the only project I've found that has half a chance of being a suitable replacement for X. There's a framework there, a coherent vision, and even a basic running system. This isn't vapor, folks, or are these people a bunch of anti-X whiners with no code to back up their pointless bitching. They're not FUD-mongers; at least listen to their well-balanced (I think) justification as to why they're working on this project. It's quite easy to see that they're not at all motivated by hatred of X, but by a desire to design an elegant and network-transparent window system.

    Why don't we have more of that nowadays? Half the OSS movement seems to be driven by hatred of Microsoft (or simply closed-source software), rather than love of elegant, useful, robust code born of honest work. At some point someone is going to have to worry about more than simply getting things done as quickly as possible, be-damned-how-it-works, and think more about design and the way things should be. The former type of attitude breeds stuff like MS Windows. Is that really what you want your windowing system to become? If something isn't done before long, X is going to be just like Windows: pasted and taped together and building on a merely serviceable codebase. This, I think, would be a great injustice to X. Let it die a peaceful and honorable death now, rather than a violent and hate-filled one later when it becomes so horrible, so monstrous, that the issue of replacing it is forced upon us and we throw its head on the guillotine.

    Remember that at its inception X itself was merely a design framework by people who wanted to do a windowing system the right way. That X has served so well for so long is a testament to that foresight. But please, let us have the foresight to know when to design something new on that same basis, learning from what we have done. A rejection of the code does not mean a rejection of the vision or of the talent that bore that code.

    1. Re:The anti-pro-X debate is missing the point! by FooBarWidget · · Score: 3, Insightful

      Do Berlin/Fresco work? Do they support my graphics card? Are there any applications for those systems? Are they easy to setup?
      Until all those goals are reached, Berlin and Fresco are only useful to show off how l33t you are, but serve no practical purpose.

      It's funny how you praise Berlin. Berlin communicates via CORBA. And guess what all the anti-GNOME/anti-ORBit trolls and the KDE people say about CORBA? It's slow!

      And X was *designed* to be extensible. The designers back in the 80s realized that their work will once be outdated. Sure, there will be a day when X *must* be replaced, but that day is nowhere near today. X can be extended for a very long time.

    2. Re:The anti-pro-X debate is missing the point! by psamuels · · Score: 4, Informative
      Why can't we do the same with X? It's going to get harder and harder to grow with X, so lets lay some groundwork now for a window system we can grow with for the next decade or more.

      <eliza>Why do you think that it is going to get harder and harder to grow with X?</eliza>

      (For that matter, why do you think X is bloated, or ugly, or slow, or obsolete, or inefficient?)

      I suggest you check out the X extension mechanism. You know, the thing that makes possible such things as the RandR extension, which is what we're ostensibly talking about here. The original X11 design did not make any provisions for:

      • non-rectangular windows (see the SHAPE extension)
      • double buffering (see the DOUBLE-BUFFER extension)
      • 3D hardware acceleration (see the GLX extension)
      • miscellaneous input devices (see the XInputExtension extension)
      • idle timeout events (see the MIT-SCREEN-SAVER extension)
      • optimising the protocol for low-bandwidth transports (see the LBX extension)
      • eliminating the network socket overhead entirely (see the MIT-SHM extension)
      • setting the output resolution/refresh dynamically (see the XFree86-VidModeExtension extension, and now the RandR extension)
      • transparency and alpha blending, including font antialiasing (see the RENDER extension)
      • video framebuffer acceleration (see the XVideo extension)

      and much, much more. Yet these things all work fine today, without loss of any backward compatibility to older applications.

      I agree with Jim Gettys on this one: people who say X is bloated and/or outdated are usually underinformed - meaning they have not really evaluated the alternatives or tried to design their own alternatives. Either that, or they are looking for something with a lot less functionality, like a simple framebuffer for a PDA.

      (One thing I do think XF86 could still use is a widget set extension. I'm thinking individual toolkits like gtk2 or motif2.1, when installed on an X server, would register sub-extensions with it. The client-side libraries would use them if present, so most widget UI interaction would happen entirely on the server side. I think this would be very good for perceived UI latency. This is something I'd start investigating and hacking on if I had a lot more time than I do, but alas....)

      --
      "How can you claim that you are anti-crack, while still writing a window manager?" — Metacity README
    3. Re:The anti-pro-X debate is missing the point! by Caktus · · Score: 3, Interesting

      But neither one will get any design awards

      Of course the x86 won't get a design award. The x86 wasn't created with extensibility in mind. It has been handicaped from the very beginning. It wasn't designed thinking that they could use more registers in the future, or that it could end up using any register for any purpose. In contrast, the X system has been designed for extensibility, network transparency, multiuser systems and isolation from the kernel.

      Extensibility allows adding functionality to the system. The common example is the Renderer extension, but that is just a small example. They could have been created a widget set as an extension to reduce network traffic (not that it would be a good idea). The problem with extensions is not the proper extensions but standarisation. A non standarised extension is useless.

      Network transparency allows to use any machine (that uses X) from a single location. You can have a desktop with several apps from different machines. You can move to another location and use the same machine you used before.

      Multiuser systems allow various users to be logged into the same machine at the same time without interfering one to the other except for some level of resource competition. This allows to reduce the number of systems to be configured and mantained.

      Isolation from the kernel allows to execute the X server in a separate process. The implications of this are that if for any reason there is any operation that will cause a crash, it will only crash the X server and not the entire operating system.

      I understand that these features are of no use to the average user of a computer. In the other hand they are completely transparent to the user. I like it's design very much. What problems do people find in X?

  53. Who cares who did it first. by stefanlasiewski · · Score: 3, Insightful

    Who cares who did it first.

    What's important is that both KDE and Gnome will be able to support this feature in the next 0.x version, which is great!

    This isn't a friggen pissing contest...

    --
    "Can of worms? The can is open... the worms are everywhere."
  54. Re:This is Silly... by dvdeug · · Score: 3, Insightful

    Hey Limey, next time the Germans want to invade your asses we're gonna let 'em!

    Um, if I were a limey, I would be using metric. Americans are the only people still using Imperial units like inches.

  55. RandR not *that* big a deal. by 0x0d0a · · Score: 4, Informative

    You could do every single one of the things you mentioned with DGA in XFree86 4.0 already.

    Of course, you can't run in a windowed mode, but if you're running a game, it's a fair bet that you aren't running windowed.

  56. We need more extensions! by ProfessorPuke · · Score: 5, Interesting
    It's about time this came out. For a long time I've wondered why X11 (and XFree86 in particular) wasn't making lots of obvious, incremental usability improvements. Not only does it have the (much repeated) opensource advantage of "don't just complain, submit a patch!", but also the modular "extension" architexture, which should allow changes to be made without damaging backwards compatibility.

    However, centuries passed (of computer time, which is rapider than the Julian calendar) before this fundamental capability appeared. Microsoft Windows(tm) has done this since 1996 (or earlier?). Apple surely did it long before. The fact that it took so long led me to doubt the soundness of the X11 system design- either no one else noticed those obvious deficienies (unlikely!), or the vast complexity of the protocol prohibited the creation of new functionality without the developer first learning each little secret of the large xfree86 codebase.

    We now see that the latter interpretation was somewhat correct, as this paper explains that the creation of RandR was possible only due to new software (TinyX, etc) that isolated the RandR guys from needing to deal with all of the complexities of X itself. Of course, the relentless increase in processing speed (fruit of Moore's Observation) helped too.

    I hope that changes like this have "lowered the hackivation energy" enough so that XFree86 can quickly get some other useful improvements added- within a short time, it might be possible to regain a little Wow Factor over the Microsoft and Apple GUI interfaces. I'll list some improvements I'd like to see. The RandR writeup mentioned some of these, hopefully the same team is already planning work on them) Others of these things can be done already, but with awkward, unstable configurations, or through VNC. We need these capabilities in popular linux distributions, and without VNC's least-common-denominator slowness.

    • Migrate a program from one Xserver to another We should be able to use a utility program or a window-manager icon to select a window to send elsewhere. This should be possible from a remote command line login as well (so that if I wander into another person's office I can show him either a single program I'm running, or my whole desktop). It should be your option whether or not the program permantently relocates to the new server (or returns when the window is dismissed). This brings up another feature,
    • Run the same program on multiple X displays aka xfork. Operator's choice as to whether the remote display is read-only, or also accepts input. The default should be read-only, unless the toolkit has coded support for this feature, in which case it should default to allowing the remote to provided logically read-only input only (scroll around in the window, but not change the document).
      (I've heard Microsoft's Netmeeting software does something like this. Probably just a screen scraper, but still a workable feature.)
    • Lock your desktop without locking the Xserver When I run xlock, it shouldn't only allow MY password to reactivate the display- other persons should be able to walk over and login as well. I can either wait for her turn to be up, or find another Xserver and use the above features to migrate my display to my new desk. This is a natural match for X11's capabilities, but one that Microsoft got last year. *nix has to catch up quick!
    • Dynamically reassign input devices Now that a user can change his resolution without restarting X, he should be able to do the same with his input devices. Boot your computer without having any mice installed, get to X, run mozilla to see a web-page on how to configure your Wacom table, and get that working, without needing to restart. (Linux does this to some extent with things like symlinks in /dev and the /dev/input/mice devices, but it could be better).
    • Resurrect the multi-headed display In ancient times, one computer would run 16 interactive sessions on terminals attached to its serial ports. Those capabilities were lost as displays became more complicated and PCs and fat clients emerged. But now, with the rise of USB peripherals and multiple active PCI video cards, commidity hardware could again support this functionality. On an Athlon 1500, I should be able to install a 2nd video card, 2 usb mice, and one usb keyboard, and get a fully independent GUI desktop. (Yes, this usage is a geek stunt- its real-life utility will be bounded by the length of a VGA cable)
    • Support joysticks in X This should be an easy one, right guys?
    • And many more Any ideas?
    An interesting consequence of some changes like this is that users might tend to leave X11 programs running for weeks at a time, with virtual memory becoming like a form of application serialization/persistence. That could have negative implications for efficiency and design. ("Oh, I don't need to put XMMS in my startup folder, I just left it running from last year")
  57. Why aren't menus managed by the window manager? by vrmlguy · · Score: 3, Insightful
    From the article:
    Menus are an important special case as they are typically the only user interface elements not managed by the window manager.
    I've wondered about this since I first started working with X11 back in 1993. Menus should be managed by the window manager, just like the title bars. This wouldn't be hard to do, either.

    An application would define a property, WM_MENU, on any window that needs a menu. The property would be a list of menu items, each similar to the structs used in just about every windowing system, and allowing recursive definitions of other menus by pointing to other window properties. Applications wouldn't have to respond to the menu events, only to the final selection. The advantages would be many.

    • Applications could be smaller, since they won't have to manage the menus.
    • Applications, especially those running remotely from the display server, would seem more responsive to the user because the menu would be handled locally.
    • Best of all, window managers could offer more choice in menu bars.
    Right now, every X11-based system has to use Microsoft's look-and-feel for application menus. If the WM handled menus, the WM could offer choices, such as putting the menu bar along the top of the display. Or by changing one preference, you could implement pie-menus in all of your applications. Or someone could come up with something even better!
    --
    Nothing for 6-digit uids?