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."
Now this is starting to look good for all Free *nixes! Finally...
--
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.
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?
That would be wonderful, but could be difficult to implement. I am shooting from the hip here, but...
1) couldn't different resolutions be a problem
2) different colour depths
3) network latency
And I am sure there are more problems that I haven't thought of (seeing how I am not a xfree programmer).
Wouldn't it be great if you could have your desktop up and running... all the applications open, then "save" your desktop's state which would leave all the programs running but sent to some sort of null xserver, then you fire up another xserver somewhere else attached to the network and wa-la you are sitting at the same desktop.
You know, this probabally hasn't been implemented because things like VNC exist....
> 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.'
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.
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
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.
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.
My server
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
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.
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
MacOS's window server isn't that great. It's whole purpose is to support fancy transparency effects at the cost of inordinate amounts of memory (hundreds of megs) and massive speed hits. Quartz "Extreme" proves the faults of the design. It's the first major extension to Quartz, and is very half-assed because it uses OpenGL only to accelerate window effects, not actual 2D rendering. Why? Because the design is so tied to DisplayPDF that replacing the render core with an OpenGL accelerated version would be a huge amount of work. Yep, real great architecture, chokes on its first major extension...
A deep unwavering belief is a sure sign you're missing something...
What about those of us that don't use kde/gnome? Will it be implemented as a program? Or will someone have to write an interface for it?
http://phreakinb.com
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?
Now this is the kind of interaction I like to see between RedHat and KDE. Redhat (and SuSe and Compaq) develop an X extension, KDE immediately adds support for it. That's it. Come on guys, it's all software libre, let's all be friends. There are enough unfriendly people (your favorite MonopoliStic link here) out there :-)
I'd be happy if they fixed cut & paste in Linux/X-Windows, and button focusing behaviour. User input is not treated with enough "respect" at the moment, such that it is often lost and has to be repeated. Not good.
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
I can get how it might be useful to rotate the screen for a presentation on a projector. But why does everyone bitch about changing the resolution on the fly and makeing it easy to do??? Personally, i set my resolution and color depth *ONE TIME* no matter what OS i am using, and that is it! How often do you people need to change your display properties???
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!
But how does having remote windowing/etc help an "average user"? (I personally like having it, but I don't think it would bug me if a system like MS Terminal Services had to be used instead)
My server
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.
Hmm. Well then, you believe wrong.
Anyone who comes directly to Linux and assumes that XF86 is a reasonable implementation of X11 seems to fall into this trap.
The fact is that X11 is a lovely and elegant platfrom-neutral graphical layer. XF86 is a botched implementation of it. Linux itself isn't particularly well suited to a clean implementation of X11, and the managers that run on top of XF86 in Linux are horrid bits of bloatware (albeit, nifty ones).
Go find an old SunOS system, and discover just how effect the X11 architecture is. Look at how well it runs on something comparable to a 80286. THEN come back to XF86 and wonder why they messed it up so horribly.
"People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
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.
/really/ care.
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
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.
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.
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
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
it's for LCDs that can pivot on their base, so that you can turn the screen the right way after rotating the monitor.
The Matrix is going down for reboot now! Stopping reality: OK. The system is halted.
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
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.
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.
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."
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.
Resurrect the multi-headed display
err X supports this now and has done for quite some time. I've had my work box with 2 gfx cards, 2 mointors but onoy using one mouse and one keyboard. the 2 displays ran different window managers at different resolutions (not running xinerama) and I just dragged the mouse from one screen to the other. worked as it should.
iirc the only thing I couldn't do was to drag an already running app from one X display to another.
dave
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?