on Tue, Sep 02, 2003 at 12:20:24AM +0200, Nicos Gollan ([EMAIL PROTECTED]) wrote:
> IMO the whole X(free) system needs a healthy kick in the butt. It's > one of the main factors in keeping Linux away from the desktop, not > just lacking in performance and features, but also a royal PITA to > configure with new problems cropping up every five minutes. Bollux. There are specific faults to X11. The technology as a whole is not broken, and any wholesale replacement would have to answer to a great many requirements. I hammered on this back in March at Kuro5hin, commente titled "So what the hell is wrong with X?", reproduced here: http://www.kuro5hin.org/comments/2003/3/21/141438/512/137#137 The Future Of XFree86 | 184 comments (150 topical, 34 editorial, 0 hidden) So what the hell is wrong with X? by kmself on Sun Mar 23rd, 2003 at 06:54:20 PM EST http://kmself.home.netcom.com/ I've just been engaged in a discussion of what's wrong with X and XFree86 [31]at zIWETHEY. Lightly adapted. I've seen a lot of instances of people grousing about X. I've seen few suggestions for improving the situation which seem to be both better and workable. In particular, cutting network transparancy from the graphics subsystem, or positing projects like Fresco as replacements, seem very poor alternatives. The suggestions in this discussion that problems with XFree86 with XFree86 be addressed by opening up the development effort (or possibly forking it), and by modularizing the system further, do seem like useful ideas. While (some of) the XFree86 folks seem to think that network transparency is irrelevant to "the majority" of desktop GNU/Linux users (that would be accomplished by 50%+1 users), I'd say that this isn's something I'd toss lightly. Network transparency is very useful, and lends itself to numerous neat hacks. Among them: * Dickless (diskless) workstations. Suck your apps over a remote link, display locally. * Local users sharing displays. * Multiple users sharing displays. * XNest. Running X-in-X sounds pointless...until you need to run at a different color depth, want to try another WM, or otherwise need to put a graphic environment in its own sandbox. * Display of remote apps on a local display. * Above. Tunneled through SSH. * Moving applications between displays (xmove). The main complaints I've seen articulated regarding X appear to be: 1. The development process has some lumps. This isn't an indictment of X, but of the XFree86 team. I won't say that this is fully independent of other aspects of development (e.g.: architecture, licensing, code quality), but it's a loose corrolary. 2. New hardware is supported slowly. I don't know enough of what's going on here to comment meaningfully. The problem appears to be, however, a mix of vendor fuckwittedness, XF86's own internal methods and conflicts, and fnord knows what. When support does emerge, it generally appears to be pretty good -- high resolutions, many colors, good refresh rates. Not sure if there are driver goodies that GNU/Linux doesn't see, but all I want is my 1200x1600 @32bpp, 85Hz. 3. Performance bogs. I don't run high-end enough video to note this. Peter's the gamer, and doesn't complain about this (and Peter is of course loath to complain about anything that doesn't suit him perfectly...) And Peter responds: Aside - On the same hardware, Windows XP's OpenGL performance is slower than that achieved under X. Test application is Quake III Arena. I get 100FPS at 1024x768x32 (full detail + trilinear + 2xAA) while I only hit 90-95 under Windows with the same settings. This is a dual boot box, so hardware parity is absolute :-) 4. Configuration. In particularly, on-the-fly reconfiguration of X resolution and refresh [Note: I've just learned of XRAND in this topic today, need to look into it]. Somewhat obviated by the ability to use XNest and multiple displays. I don't use the latest'n'greatest GNOME/KDE stuff, just Debian's dpkg-reconfigure xserver-xfree86, which walks through some pretty clear menu-driven options. I'll grant though that this remains a disadvantage, largely minimal though. [32]Knoppix addresses this by managing everything automagically -- even lets you specify your resolution and/or refresh at boot, and configures to spec. Well, sometimes. I've found resolution specs tend to be followed, but my refresh preference (85Hz) usually isn't. 5. Inconsistent interfaces. This speaks more to X's history, longevity, and success than anything else. X has Been Around the Block. And survived. There have been a number of different toolkits -- Athena, Motif, Gtk, Qt, Tk -- each being suited to its time. While there's a level of confusion and configuration complexity which results, this argument boils down to the premise "choice is bad". Sorry, I don't ride that bus. 6. Display postscript / AA fonts. Again, this appears to be something that's being addressed, possibly in piecemeal fashion. But there are now desktops with integrated DPS (e.g.: GNUStep) and AA font support (e.g.: KDE). 7. Programming interface. I hear a lot of grousing over this, but there are tons and tons of apps written for X. I can't speak to this as I'm not a programmer, but the problem hardly seems insurmountable. Anything else I'm missing? Any replacement for X would have to address several issues: * Backward compatibility. X apps would have to be runable. Preferably transparently, not in a separate box ("unmanaged mode", in the typical lingo of X server vendors). There's a huge library of existing X apps, and none for any of the potential replacement system. It's suggested that this can be addressed in a replacement system. Possibly, but this creates a hornet's nest. Andrew Grygus writes: In any case, I see no reason why people who need the capabilities of X can't continue using X, but for "normal desktop users", much of the X stuff isn't useful, but raw performance, smoothness and ease of programming are very useful for a number of application types. If apps need to be specifically targetted at one system or the other, and if Fresco doesn't provide network transparency in a model at least superficially similar to X (e.g.: client -display host:0), this isn't sufficient, as there's now the very significant threshold barrier of either writing network-transparent apps, or apps for the system which aren't backwards-compatible to X. I see this as a killer. And Peter Whysall notes: Microsoft are starting to wedge ideas from X into Windows - witness the emergence of RDP and, on a more useful level, the ability of Citrix Metaframe XP to throw a single application window across the network. [Network transparancy is] irrelevant to most users, my arse. Irrelevant to *home* users, I'd buy. App servers and Citrix products are starting to become common again in corporate computing. Gryge - one bloke's disillusionment with a dead development model is NOT an insightful comment into the state of the art of graphical user interfaces. Andrew again: "Choice" is what open source is supposed to be about, and if a good measure of compatibility can be maintained between two environments designed for users with different needs, I think that would be excellent. Absolutely. I don't think you're interpreting my comments as opposing choice or dictating X. I'm not doing either. Rather, I'm indicating that any alternative will be dead in the water until it addresses (or overcomes by other means, e.g.: massive cash infusions from elsewhere) these structural / systemic issues. * Network transparency. The new system will have to be network transparent. Otherwise, you're writing apps for either X or the new system. And network transparancy is sufficiently useful (see above) that it's going to persist, or the replacement won't be adopted. The issue of apps being bidirectionally compatible may be an issue as well. More significantly: network transparency is most valued by skilled, technical, and power users. These are the same folks who do the bulk of development. This will impact uptake and architecture in no small way. * Seperation of mechanism and policy. X is a useful model for developing displays for many types of platforms -- the GNU/Linux-based handhelds, for example, run X. If GNOME is overkill for a 260x140mm display, rather than rewriting all your apps, you just slap a different WM on top of it. And despite the prevalence of GNOME and KDE, there are many people who prefer different window managers (I'm highly partial to [33]WindowMaker. Tilly likes FVWM2, Peter was fond of XFCE, but he changes desktops faster than I swap grilfs). Of course, seperation of mechanism/policy is one of the frequently iterated criticisms of X. Grossly misplaced. Uniformity buys, well, uniformity. At a huge loss of flexibility. Approximately 100% * It most be overwhelmingly superior. Free software vastly favors incremental enhancement, particularly over core, and deeply-integrated components, over revolutionary development. Even where options can be fairly painlessly swapped out, say filesystems, migration is slow. Look at the uptake of journaling filesystems. This changes virtually nothing in the day-to-day use of a GNU/Linux system, but I'd still warrant use of ext2fs is the majority. Switching to ext3fs is transparent (well, with kernel support). Reiserfs offers more benefits for a one-time copy-off-and-restore penalty. My bet is this: $100 says X11 is still the basis of the predominant GNU/Linux desktops in ten years. Too much inertia, too few benefits, too much uncertainty. And I really am interested in responses, commentary, criticisms, or corrections. I keep seeing this matter raised. I see little clear articulation or benefit from alternatives I've seen posed though. References 31. http://z.iwethey.org/forums/render/content/show?contentid=90399 32. http://www.knopper.net/knoppix/ 33. http://www.windowmaker.org/ -- Karsten M. Self <[EMAIL PROTECTED]> http://kmself.home.netcom.com/ What Part of "Gestalt" don't you understand? Defeat EU Software Patents! http://swpat.ffii.org/
pgp00000.pgp
Description: PGP signature