X11 Chrome Reportedly Outperforms Windows and Mac Versions
An anonymous reader writes "In a curious contrast to conventional wisdom, there are reports of X11 Chromium being faster than Windows or Mac versions. In the thread titled 'Why is Linux Chrome so fast?,' a developer speculates that it is due to the use of X11 capabilities: 'On X-windows [sic], the renderer backingstores are managed by the X server, and the transport DIBs are also managed by the X server. So, we avoid a lot of memcpy costs incurred on Windows due to keeping the backingstores in main memory there.' Has the design of X11 withstood the test of time better than people tend to give it credit for?"
"Has the design of X11 withstood the test of time better than people tend to give it credit for?"
Yes of course it has. X11 is great and anyone who thinks otherwise doesn't understand it properly, or have an accurate idea of what it's genuine problems are actually due to.
Interesting comment from one of the developers:
We could also just move process creation to a background thread. An unused process might just get swapped out and be no cheaper to "make live" than it would be to create a new process.
Surely this reusing of a process would negate the supposed security benefits of Chrome/Chromium's multi-process spawning architecture?
Does anybody know if it's possible to compile a version of Chromium for X11 Mac?
No. It's MacOS 10. OS X is just stupid intentionally confusing terminology.
We already had a GUI called X. It was around for about 20 years before Apple decided to start it's Microsoft-esque nonsense.
A Pirate and a Puritan look the same on a balance sheet.
X11 has never been a bottleneck in performance on the desktop. Many people have been confusing X11 with the desktop system/kernel/applications and wrongly blamed X11 for any slowness.
HTTP/1.1 400
Uh. Maybe you don't understand what I am saying....
I KNOW that MacOS 10 is OS X.
I'm asking if anybody has compiled a version of Chromium to use X11 instead of using Cocoa.
I like how you took a bunch of graphics and video related words and threw them together in a post that sounds coherent, yet is totally wrong.
From the later discussion on that topic, it seems the conclusion was that windows had a large history in the profile and may be bitblt'ing the first draw operation from main memory. Both of which have an impact on how slow it feels to the user.
09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
After doing a fresh install on both systems the guy determined that it was just some sort of freak occurrence. He had one laptop with a 2.0ghz processor and another with a 2.4ghz processor and after the reinstall on both systems, VOILA...it was only roughly a 20% difference...
TFA - just keep reading further and further down the usenet post
Framebuffer is an unaccelerated bitmap display, X11 is an accelerated graphics layer (that can use a framebuffer)
something that writes directly to a framebuffer is going to need a lot of additional programming in order to be as fast as X11 is.
Paying taxes to buy civilization is like paying a hooker to buy love.
So in other words, those who programmed on X when X was the only big player are now older where you lose hair and sexual virility.
Colour me surprised.
Meanwhile X is still working better than Mac or Windows as a GUI framework.
Thing I don't get is why so many guys have a hard-on for dissing X.
Why?
"X window system" not "X window"
Secure messaging: http://quickmsg.vreeken.net/
This doesn't say it's optimized for Linux - it says that it runs well on *X11*. X11 is used on almost all Unix derivatives, not just Linux. Most importantly though, all indications are that while Google intends to use Linux (the kernel) for ChromeOS, they have made some statements that would indicate that they likely will not use X11.
"People who think they know everything are very annoying to those of us who do."-Mark Twain
If you choose your abstraction carefully, you can hide expensive details from user space.
In the short term it may not gain you anything.
But if the abstraction lives and thrives, then much can go on behind the scenes to improve the situation.
Java is another example of this: they carefully designed the language so that it would be possible to make vast simplifiying assumptions and implement optimizations that really improve performance without impacting the "other side" of the wall. Originally java was slow, but hard work behind the scenes means that your java programs run much faster now, without any extra effort on the part of the application developer.
X Windows is a great example of this. Originally we had dumb frame buffers with no acceleration at all. And yet X provides an abstraction that allows lots and lots of hardware optimizations to take place.
The Windows and OSX abstractions for the display don't provide an API that allows these sorts of optimizations to be done behind the scenes. We have incredible display hardware with awesome features that go unused in these environments because the display abstractions do not allow for them.
But the 4.X beta runs incredibly fast on my dual core Windows workstation. If the Linux version is significantly faster in rendering, I would be very surprised.
I'm pretty sure that the biggest slowdown for Chrome isn't the memcpy/bitblitting for the display - it's probably something to do with the insanely big history files it generates as part of it's searchable history.
Files you can't limit in size, can't compress, can't optimise. Instead all you can do is to delete them and loose all your precious history information.
It also has the bonus of providing a searchable address bar that performs significantly worse than firefox's searchable address bar !
I use both firefox and chrome simultaneously at home and at work, dedicated each browser for different tasks I do. It's a real shame that Chrome is being seriously degraded over time by this fault - I've started switching back to firefox because of it as my laptop just struggles too much with it now...
Yeah, at least the first one was succinct.
If you can take risk of re-compiling every X related app/library in case you give up in future, try the semi official/unofficial at http://xquartz.macosforge.org/ , it is newer than the Apple bundles. Install anything with the help of Fink/Macports like Konqueror from KDE 3 and see the amazing GUI speed, scroll speed, widget drawing speed.
I don't understand, as an OS X user, why a modern x.org on a good, supported hardware should be surprising to give better results. Also remember the insane things x.org has to do on OS X like using Aqua layer.
X11 is not bloated nor slow, GTK is both. Put 100 or so spinedits on one form in Win32 and in GTK. On netbook or anything other than quadcore machine, you will see significant difference in speed. And it is not because of the graphics. Sometimes I think GTK render fractals somewhere just to keep processor busy. Meanwhile, when I draw 100 spinedits using only cairo, it is almost as fast as Win32 while giving the same output as GTK including shadows, gradients, etc... I've being noticing this GTK behavior since forever.
GTK folks, please fix it.
bullshit. my digital clock stopped and now its never right.
rewriting history since 2109
And you know this because? Oh, you're just wildly speculating and don't actually know anything at all.
Until Chrome starts supporting NTLM, I know it will not get any respect at my firm, and likely many others....
Maybe it's because Chrome is based on Webkit that is based in KHTML that was developed mainly on Linux
How about a Qt build of Chromium as opposed to a GTK build of Chromium? I'd be real curious to see how it performs.
I was also saddened to see the port team bitch and complain initially that they had to use GTK, because GTK is "the standard toolkit" for Linux, while in the same paragraph complaining that Linux doesn't simply have one standard toolkit. Last time I checked, Windows has a bevy of toolkits and APIs to choose from as well. They also complained that writing audio in Linux was difficult.
If they had written a Qt app from day one, porting would be minimal, they wouldn't have to maintain this huge separate trunks, it would have worked from day 1 on Solaris, Mac, Linux, Windows, BSD, etc. Audio would have been very easy to code with Phonon.
I'm curious to see if Chrome (the browser and OS) are indeed both developed with GTK, then will they both need some retrofits when GTK 3.0 ships, further complicating the matter?
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
Yeah. As opposed to tests made by Microsoft and Apple paid "impartial and reliable" entities.
\sarcasm
It's been called X-Windows for a long time. Longer than the term "X11" has been around. It's not a misuse of Microsoft's Windows® brand name.
I've been using the daily Chromium PPA builds for a couple months now (updated weekly usually), and Chromium is by far more responsive than Firefox on my Ubuntu 9.04 laptop. For some reason FF just seems to get laggy in the UI dept, and if I open up a handful of tabs, especially if there is Flash involved, the whole thing chokes and the app turns grey. Chromium seems to perform much better.
That said, it still feels very much incomplete. I don't think printing is working still, although I haven't tried it in awhile. For some reason there are no "arrow button clickers" on scrollbars...not sure why that is the case. I can't open a file download directly or inline - for example to view a PDF I have to save it somewhere first, THEN open it. FF lets me choose what to open it with without having to save first. 99% of my browsing on Chromium is super fast, except for the Gizmodo.com RSS feed through Google Reader. I don't really know why, but it seems like it has something to do with the adds loading or something...does FF pre-fetch or cache things or something?
I've switched back and forth off and on for awhile now. I"ll get tired of the UI laginess in FF, or I'll break it on a nightly update, and then use Chromium for some time. Eventually I'll miss some features or speed in the RSS reading of Firefox (I wonder how much of that is due to Adblock?), and then return. All in all both browsers are good, and I'm looking forward to Chromium becoming a full fledged option on Linux.
The font rendering settings are locked in. There are some Google Groups discussions about why this is so, but it was all white noise -- every other application can use .fonts.conf (even if it is a workaround to do so) and Chrome can't/won't for a while, so it got promptly uninstalled.
I'm wary of any real old legacy code.
I also know that graphic displays and inputs are vastly different today than they were 10 and 20 years ago.
Do I know that X11 is inefficient? No, but I sure read plenty of other people making those claims. However, I suspect that X11 wasn't developed initially with today's needs in mind. I do know that the X team keeps promising features, cutting them, and then still shipping six months past their projected release dates.
Novell has guys working on Mono, Evolution, OOo, KDE, Gnome, the kernel, etc. What I don't see a whole lot of is major distro companies (Red Hat, Novell, Canonical) paying for major upstream development with X. Maybe it just needs a little more love, some deprecation of old cruft, and a new forward-thinking design. There seems to be somewhat of a future direction (GEM, DRI2, MPX), but perhaps X needs a revolution.
Is Wayland a step in the right direction?
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
Give the guy a break. He's only trying to create synergy among web-enabled paradigms.
As a non-GUI developer, what's the Mac and Windows equivalent to X11? Would it be Quartz on the Mac? I don't know what it would be on Windows, since I avoid developing windows-specific things and have always viewed Windows as a monolithic, integrated mess.
The more people I meet, the better I like my dog.
No. It's MacOS 10. OS X is just stupid intentionally confusing terminology.
X is the Roman numeral for 10. It's "Mac OS X", which I pronounce as "Mac oh-ess ten".
well... ChromeOS ~= google Chrome / Chromium, right? just add some way of running Chromium and your done!
I read TFA and all there is are feelings of some people that its faster, no numbers. I guess that is what "reportedly" means. Weasel words.
I call DIBs on the X server. Especially if it sucks.
"The body may heal, but the mind is not always so resilient." -- Deus Ex: Human Revolution
I had the same problem with Google Desktop. It was a great tool and worked well for a while, but eventually its little database file was immense and was dragging my system down with it.
- Michael T. Babcock (Yes, I blog)
He wasn't responding to your post...
MS Windows = Explorer.exe Linux = X11 MacOS = Quartz
A loop, by its nature, continues. If that didn't make sense, start reading this sentence again.
Tell that to my Casio, I'll let you know when we get to 88:88
Calling someone a "hater" only means you can not rationally rebut their argument.
Windows has the GDI and DirectX, neither of which are remotely comparable to the X window system.
- Michael T. Babcock (Yes, I blog)
I haven't noticed any degradation of performance, but yeah, the history files are 900mb for me for only 9 months of use and the thumbnails are 300mb. That's pretty big.
s/then/than/g
Ubuntu is an African word meaning 'I can't configure Debian'
Which is the same for any other program that indexes the text inside different types of files...
The idea behind file/text-indexing is to generate that searchable index trading searching-time with hard disk space.
Ubuntu is an African word meaning 'I can't configure Debian'
"I also know that graphic displays and inputs are vastly different today than they were 10 and 20 years ago."
Really what is so different other than the number of pixels on the display?
"I suspect that X11 wasn't developed initially with today's needs in mind."
Then perhaps you should read about the original goals of the X window system.
That logic makes significantly less sense than the fact that it's ultimately based on Konqueror, which was designed for X11 (and Linux) to begin with.
Funny, but the real answer is GDI.
http://en.wikipedia.org/wiki/Graphics_Device_Interface
Buckle your ROFL belt, we're in for some LOLs.
ORLY X?
Mod me down, my New Earth Global Warmingist friends!
Do you even know what the fuck you are talking about? Do you know what XAA, EXA, UXA, etc are? You need beaten with a clue-stick!
Over-the-top Response Guy! Giving "Over-the-Top Responses" since 1970.
No - ChromeOS is looking to be an actual honest to goodness OS built around the Linux kernel with a Google-developed graphics subsystem. They are mainly targetting it towards running their own web applications rather than bundling apps with it as is the case with most other OS's, so the only INCLUDED app might be Chromium, but all indications are that developers will be able to write/port other applications to the system if they desired.
Personally I'm interested in seeing it. It's just an opinion, but most Linux distributions just have far too much legacy code and ways of doing things stacked on top of each other these days. I want an open source OS, but I think we kinda need to toss out a lot of what we currently use and start anew. Unfortunately it's not easy to do that without commercial backing, but Google pushing such an effort would really help things along.
"People who think they know everything are very annoying to those of us who do."-Mark Twain
With all due respect, it sounds like you want to blame everything negative about Chrome on one feature you don't like. Just sayin', the developers might have a reason to think that the rendering speed has something to do with the windowing system - they're a lot less likely to be just guessing and calling their guess "pretty sure".
But for the sake of argument - if the history files are the big slow-down for Chrome, why is that slowdown less pronounced on the X11 version?
"For whatever reason, Linux drivers have NEVER taken advantage of this, and that is why Linux often looks clunky compared to Windows on the same hardware."
This is just BLATANTLY WRONG.
All you need to do is read the feature announcements for the nVidia and ATI display drivers, which you apparently DON'T DO.
nVidia's REAL target market is the folks who work at animation companies, and the hard-core data visualization people. Their products are designed to fly in THIS environment. This market is VERY HEAVILY tilted toward Unix. That is WHY you can get such EXCELLENT display support under Linux. The rest of us are just piggybacking off of this.
Or just "X". But then again, I've been modded -5 Pedantic Prick because I had said it's called either "X" or "X Window System". Kind of weird, because people would probably correct me if I would say "Windows Vistas" or "Mac OSeX" :-)
8 of 13 people found this answer helpful. Did you?
Is there a particular reason that you begin with misinformation?
"His name was James Damore."
What is this "X11" of which you speak? It sounds like some sort of Windows(tm) imitator. How can that be? Our wise leaders at Microsoft told us that using Lunix forces you to live in the command line!
Tired of FB/Google censorship? Visit UNCENSORED!
Quote: 500+ tabs open simultaneously
You are shitting us? How the hell can you get anything done with 500+ tabs open simultaneously? I don't think its memory leaks thats your problem. I think its the sound of the entire OS deciding enough is enough and its going to take a break.
I don't know about Chrome being faster on Linux than Windows, but I do know that it cleans the plate vs. Firefox on Linux. I'm using the Ubuntu version at "deb http://dl.google.com/linux/deb/ stable main" and I can finally pull Slashdot stories up in a second tab without locking up the browser while it loads. Scrolling and rendering are also noticeably faster .
once more into the breach
The equivelent to X11 on Mac OS X is a program known as "WindowServer". This program could be argued to be part of the Quartz Compositor, it could be argued that the Quartz Compositor is part of this program.
The second interpretation would argue that the Quartz Compositor creates and generates the images to be displayed, and provides them to WindowsServer for it to place them into video memory. That is not the official interpretation as far as I know. I believe the official interpretation is that WindowServer is a component of Quartz Compositor. That bakes Quartz Compositor both a compositing window manager and a windowing server.
For Microsoft Windows I've been unable to determine what program is closest in nature to X11.
All of this is complicated by the fact that there are X11 for both MacOS and Windows that instead of driving the video card(s) directly like X11 does on Linux, it uses the Windowing servers the host OS, and also provides the option of using the Host OS's window manager as an X11 window manager.
Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
IOW, MacOS 10.
X is just a "fancy" way of writing 10.
It also has the "added benefit" of possibly being confused with the Unix "GUI".
A Pirate and a Puritan look the same on a balance sheet.
X has it's problems. It also has it's advantages. Some of those
advantages aren't so much a matter of X itself but side effects
of the old school Unix way of approaching a problem.
Seeing MacOS going through vnc side by side with X apps being
run remotely (and viewed locally) certainly gives me no
burning desire to get rid of X.
A Pirate and a Puritan look the same on a balance sheet.
Funny, but the real answer is GDI.
As opposed to the Brotherhood of Nod?
Ignore this signature. By order.
Really? I thought he was trying to leverage the cloud architecture to optimize his software services enterprise based on open standards.
Today's Sesame Street was brought to you by the number e.
I know X is kinda old, but was under the impression that roman numbers were even slightly older. ;-)
OS X does have a "GUI" called X, which is the same as the one that's been around for 20+ years. It also has a GUI called Aqua.
The operating system as a whole is called OS X, probably in no small part because it's easier for some reason to trademark a series of letters "OS X" than it is to trademark a version number "OS 10." Also, X is the Roman numeral for "10."
You seem to be the only one confused.
No.
Explorer is a cross between your shell and your window manager, its like the Gnome or KDE window managers except most of the window manager functions are the responsibility of process itself in Windows, although they are provided by the standard libraries, which us things like the uxtheme.dll and company to provide a consistent interface until the app goes well out of its way to do otherwise. You can use cmd.exe in place of explorer and apps won't notice the difference unless they interact with explorer, such as things that put items in the notification area (systray to most). Apps do not talk to explorer to display windows any more than apps on Linux talk to Gnome or KDE, or Finder on OS X. None of them have to be installed or work in order for Windows to be displayed. You can kill all explorer.exe processes in windows and you just won't have a start menu or clickable desktop until it restarts. You can not kill the X11 client and do the same, all processes using it will be disconnected and exit or crash.
Quartz is a toolkit/API used within the 'window_server', like DirectX to some extent on Windows. It is not the generic low level API like GDI is on Windows.
'window_server' would be almost the direct equivalent of X11 on OS X in native applications, if you exclude X11 for OS X, which acts as a translator basically between X11 servers (applications) and your X11 client (the gui you see) and passes that along to the window_server process to display.
In reality, all three of these systems use a different mix of the way these components interact and at which layer things are done due to their different designs. There isn't a 1 to 1 relationship between any of the components.
I do not recall which process on Windows handles the GUI, but it is more or less untouchable, unlike in OS X and traditional UNIX where you can easily kill the gui portion, doing so in Windows traditionally would result in a blue screen, this is no longer strictly true in the Windows 6.x versions (Win2k8/Vista/Win7), but I don't recall what process owns that part of the system off the top of my head.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
If you want a bunch of features to tweak, you shouldn't be using Chrome. Its not intended to be full of a bunch of crappy features that 3 people use and 1200 extensions to make it run like crap. Its meant to be lean and mean.
Chrome supports cleaning up the history with a few options, you can delete the last day, last week, last month, or entire thing. If you want more options, you're using the wrong browser. More features bring more bloat, which is why Firefox has become such a pig. Please don't try to make Chrome another Firefox, then we'll just have to start ANOTHER browser to get back to where it runs fast.
Use Firefox if you want feature rich and bloated. Use Chrome if you don't want a toolbox, an Application development environment, the kitchen sink, and more code than needed to power some small countries.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
But the 4.X beta runs incredibly fast on my dual core Windows workstation. If the Linux version is significantly faster in rendering, I would be very surprised.
Just because it runs quite fast on your machine in no way precludes it from running faster on a setup that's more optimized and/or with less overhead (ie. X11/Linux). And just because things happen in nearly the blink of an eye doesn't mean that relatively they couldn't be significantly faster...it just means that you'd be nearly unable to notice a difference and thus wouldn't be inclined to care ;) "Whoo, this webpage loaded in 0.16 seconds instead of 0.20, I'm so glad I switched operating systems!"
(P.S. at this point, isn't dual-core the new single core? It's almost less "this system is so fast" and more "maaaan, this program is so non-bloated that it runs fine on a mere dual-core; suck it, Crysis!" I kid, I kid).
I remember sigs. Oh, a simpler time!
Actually, I think the window system in windows might reside in the kernel itself.
By the way, the wikipedia page says this about GDI: "GDI is similar to Macintosh's QuickDraw and Linux Xlib."
Apple has "Mac vs PC", Microsoft has "Laptop Hunters", Linux has recession
Explorer.exe is the equivalent of GNOME's nautilus. It's not a window system.
Apple has "Mac vs PC", Microsoft has "Laptop Hunters", Linux has recession
No, if you want them to use OS X then they must also just use 'Windows Vista' or 'Windows 7', along with 'Ubuntu Linux 9.10' or 'Mandriva Linux 2009.1'. If they're just saying 'Windows' and 'Linux' then they should also just be saying 'Mac OS'...and personally I don't think anyone is gonna confuse 'Mac' and 'Mac OS' in this context.
What you're saying is equivalent to saying that they should be talking about HP, Sony, and tro 1000 for the hardware. (tro being half of 'Vostro')
The company is Apple, the product is Mac OS, and the version is X.
Mac, Windows, and X11 all are client/server window systems with a separate user process for rendering. X11 was designed from the ground up for that model, while both the Mac and Windows started off with different models and tried to retrofit an X11-like model onto their existing APIs. It's not surprising that they don't do it so well.
People tend to overestimate Windows and Mac performance for a couple of reasons. For example, Macs cache a lot more stuff than other platforms (and use a ton of memory to do it). And the X11 back-ends for cross platform libraries and ports are usually not very well written, and people blame X11 when they should be blaming those libraries.
By the way, the wikipedia page says this about GDI: "GDI is similar to Macintosh's QuickDraw and Linux Xlib."
Whereas the Hitchhikers Guide to the Galaxy refers to it as: "The result of a lost weekend of binge drinking by a group of wankers who will be first up against the wall when the revolution comes."
XML is a known as a key material required to create SMD: Software of Mass Destruction
MS Windows = Explorer.exe
Linux = X11
MacOS = Quartz
That this is marked up as informative really shows how bad slashdot has become. You losers are even shitty at being computer nerds.
Mod up.
Most of what they've listed is as the reasons its faster on X are entirely possible in Windows. Specifically, things like letting the GUI handling backing stores have been there since at least Win95, I don't know about before that, but I doubt Win 3.x or earlier had them. Sadly, it is not the default. Of course, X doesn't do it by default either.
At a low level, I found coding for X enjoyable, but requires more work for trivial tasks. But for writing any sort of complex app, just the dependency tree alone gets to be a headache compared to how lazy you can be in OSX and Windows and still get good performance and feature balance.
They are different environments, if you focus or code towards the style of one, the others are going to suffer. Its just as easy to code towards the Windows way of doing things and end up with some REALLY shitty X performance.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
The operating system as a whole is called OS X, probably in no small part because it's easier for some reason to trademark a series of letters "OS X" than it is to trademark a version number "OS 10." Also, X is the Roman numeral for "10."
And just like Intel did with the Pentium, once they figured out how to trademark a version number, they stuck with that same number for ages and ages. Intel eventually got over it, but I think only due to the fact that they were making different processors aimed at different markets.
Yeah, I know it wasn't completely accurate, as you can run in circles with these APIs, especially on Linux where Windows GDI is most like libcairo, but then libgdiplus depends on libcairo (I believe).
But the point of it all is that GDI is the lowest level graphics API that is clearly delineated on Windows, and so it kind of fit with the previous post which mentioned Quartz. The fact that X11 does drawing AND windowing/events sort of makes it hard to find a one-word equivalent.
Buckle your ROFL belt, we're in for some LOLs.
We need more minerals!
Oh wait, wrong game.
You should just ask them why they keep talking about the Media Access Control address.
Apparently you want BeOS. Why not just dig up a CD copy of it and run with it?
None of that nasty 'legacy' to get in the way of your fresh new look. And even a handful of applets to run, since there are almost no third party apps.
When you're handling WM_PAINT event in Windows, you use GDI to draw your custom widget.
When you're handling drawRect: on OS X, you use Core Graphics/Quartz to draw your custom widget.
So I'd like to know the reasoning for not equating GDI with Quartz - in the typical scenario, they're used for the same thing and have similar calls.
Buckle your ROFL belt, we're in for some LOLs.
explorer.exe does more than that. It is also the handler for the Windows equivalent of gnome-panel. That's why when (in 2k and XP, at least) your file manager in Windows freezes and you tell it to force quit that window, your entire startbar/desktop vanishes for a few seconds.
I think you got it backwards -- the applications are the clients. They use the X server to receive input and get their windows displayed.
Let's just say you're wrong and I've seen flickering on plenty of Mac OS desktops.
And with X11, the flickering you get is more likely due to the program ignoring X backing store and "doing their own thang". Well guess: their failure isn't the fault of X11, is it.
"To be fair to X, managing compositing et al isn't it's job---but it should be!"
Compiz: It IS!!!
Sheesh.
And Enlightenment had compositing freaking YEARS ago.
" Between X's by-design paucity of features"
You mean like C's "paucity of features" that means libraries that do whatever you damn well want?
There is no "by-design paucity": by design X11 is extensible. See X extensions.
"Had X been designed a little more smartly (eg, for actual people and not for computer scientists) this probably wouldn't be such a problem."
Uh, what design WOULD have been for "actual people"? This statement, bald as it is, makes no sense.
X11 is designed for the task it has to solve: drawing a GUI.
One program: one purpose. Expose capability and don't impose process: someone may think of a use you never considered when writing it, so don' t write a program that will hate them for it.
The UNIX way.
Which, oddly enough, Apple have embraced to a large extent since bringing out Ten.
"By comparison, again, we have MacOS X's system, which again just works, even if in theoretical terms it's a little slower."
Two problems: the dissing of X is how slow it is. So Ten's system being slower should be more dissed, yes?
Secondly, ten's system doesn't just works else there would be no problem with "But Mac can't support clones, they have to have a limited selected hardware to deliver the eXPerience!". Ignoring that this just works meme is wrong. I've seen it often just stop a lot.
"The UNIX Hater's Handbook, which is a little bit out of date now, goes into the design errors of X "
And here we see where you've been misled.
The UNIX paradigm is extensibility. Policy is set by the use of the program. not by its programming. And the UNIX haters hate UNIX so hate the UNIX paradigm. Ergo they hate X too.
Maybe they're just a little bit predisposed to a priori conclusions...
And it's not the "why does X drive people nuts" it's why do people get a stiffy when the opportunity comes to diss X?
(oh, and a quick look at that, hmm, *discourse* seems to be a person who gets a real big boner over getting to rant and rave about how X is teh devil. Could he be any less coherent?)
You can thank your beloved Apple marketing gurus for that one.
"Hello, I'm a Mac."
"And I'm a PC."
"Alcohol, Tobacco, Firearms, and Explosives" should be a convenience store, not a government agency.
There are lots of people named Linus, this is likely not who you think it is unless you find yourself disagreeing with a Mr. Upson regularly.
The Windows kernel is like X and Linux in one. Explorer is just a file manager with multiple windows as multiple instances, with a special window that is the taskbar. So of course killing it doesn't kill you apps (well End Process Tree can). It's not like X at all. In Linux, if you kill X, you are killing graphics. The closest thing to killing Explorer on Linux would be to kill Thunar/nautilus and kill xfce4-panel/gnome-panel. None of which will take out all your applications either.
I'm not sure how far I go with making X save everything and restart on a X panic... But X is in the middle of some interesting developments, and this kind of thing will be easier on the other side of those developments, but X crashes should be reduced as result of X being simplified, so maybe it won't be needed... The only problem is the closed graphics drivers people not joining in....
But didn't someone mention earlier that in X11 terminology, client and server were reversed, or has it been swapped around to make it more logical?
They praise the DIB perfomance. In other news Wine still needs a DIB engine because graphics with X is so slow.
http://browser.garage.maemo.org/news/10/
One of the architecture mistakes in the Google browser was *not* using Qt.
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
I've noticed that X unfortunately gets a lot of metaphorical rotten vegetables thrown at it from Linux users; even people who apparently are fans of Linux in every other respect.
In my own opinion, however, X qualifies as one of the greatest pieces of software ever written. Put it in perspective, here; the system has been in continual use and evolution since 1984. That's 25 years this year. Granted, its' configuration process in particular has needed radical reform, and fortunately it has recently got it.
I don't understand why people criticise its' stability, either; for me it has always been rock solid, particularly on FreeBSD.
I'm also not really surprised that Chrome might run faster under X than under Windows or the Mac. If there's one thing that's always been true of UNIX in general, it's that the system doesn't include unnecessary frills. When you're wanting to be optimised for speed in particular, that can only be a good thing.
I love X.
The only terminology I have ever heard of calls the X server "server" and applications using it "clients". Perhaps you are referring to the fact that the X server typically executes on the client computer (the user's computer), because that's where the keyboard and screen is, while the application (client) sometimes executes on a server computer, to which the user might have connected using a remote shell (such as SSH).
That's not what he's talking about. OS X is a BSD-based system and as such, can run almost any Unix program, including X11. Apple has been including XQuartz (X + a bunch of libraries + hooks so it works nicely with the rest of OS X) since Leopard.
http://xquartz.macosforge.org/
Nicely? I never thought it worked that nicely... Though maybe they've improved things since 10.4 "Cheetara"...
Bow-ties are cool.
- As to overwriting. This occurs because the update events follow behind the UI. The problem is resolved by the composite extension, or by enabling backing store -OR- by increasing network bandwidth. Some old X Servers didn't have backing store (and certainly no compositing), AND ran over constrained pipes. It hasn't been a problem with desktop X for years.
- X is extensible by design. Multiple display support, accelerated 3D, video playback and compositing do work. For $DEITY sake, I use these features on my stinky little Acer Aspire One using Linpus! No particular problems -- "it just works" (tm). I don't like transparent windows, so I just don't bother, but it does work. Why the hell would a user want to know about the alphabet soup? Just use a packaged OS. The alphabet soup comes about because the development of X is an open process.
- And, in comparison with the Mac, you do notice that Apple packages an X Server with OS X? When running in a heterogeneous environment, it's necessary.
- Finally, you bring up the Unix Hater's Handbook. Ok, let's break it down:
1 - xload, xterm and xclock are possibly among the LEAST used programs under modern X based systems. They weren't
even installed on my Acer when I got it.
2 - Motif isn't used anymore.
3 - Cut and Paste really isn't an issue anymore, either.
4 - ssh -Y is usually used to remote X servers - authentication isn't an issue anymore either.
5 - Gnome and KDE provide the "customization methods"; since xterm isn't used anymore (or xcalc, or xedit),
the xresources issues are also gone.
6 - imake has been deprecated for YEARS.
7 - Pretty much nobody uses raw X protocol or XLib anymore either.
8 - NeWS was "killed" because IBM and DEC didn't want a repeat of NFS - they didn't want to send SUN any more money. So, they marketroids forced the issue. I agree the superior technology didn't win, but X is still around. Sucks to be the customer when they get what they have been told to ask for.
The UGH was relevant in the early '90s. No longer.
The "MAC UI Experience" could be planted on top of X. I am disappointed that Apple isn't driving that. It would involve developing several extensions that would be useful to X users. But, if Apple doesn't want to do it, others will:
http://www.freedesktop.org/wiki/Software/CompositeExt
http://en.wikipedia.org/wiki/XRender
http://keithp.com/~keithp/talks/randr/randr/
http://en.wikipedia.org/wiki/X_video_extension
http://docs.sun.com/app/docs/doc/801-6662/6i1196cd6?l=ja&a=view
The first four are generally implemented. The last is not (X/DPS). But, MAC OS X only implements a subset of X/DPS anyway (and, of course, it isn't compatible).
Just another "Cubible(sic) Joe" 2 17 3061
Actually I loved BeOS, and it was a PRIME example of how to do an OS right from a technical standpoint. If you compared BeOS to your average Linux distribution of the time you'd notice that BeOS literally ran friggen circles around Linux when it came to a desktop user experience. Alas, it doesn't meet the open source part of my statement (making it impossible to still maintain support on modern hardware), nor does it any longer have the commercial backing I mentioned.
I AM anxiously following Haiku, but without the commercial backing, I think ChromeOS has a better shot at success - and with success comes good third party app support.
"People who think they know everything are very annoying to those of us who do."-Mark Twain
Analogous perhaps from the infrastructure perspective, but not from the application perspective. I wouldn't tell a Windows application developer that he has to learn DirectX to do GUI programming in Windows.
Buckle your ROFL belt, we're in for some LOLs.
No. It's MacOS 10. OS X is just stupid intentionally confusing terminology.
X is the Roman numeral for 10. It's "Mac OS X", which I pronounce as "Mac oh-ess ten".
I pronounce it "Mac O'Sucks"
Bow-ties are cool.
Thanks for the inane and completely uninteresting reply. Creating an index file that cripples system performance is not actually that helpful though. Eventually the trade-off isn't one anymore and the system is too slow maintaining the index to be usable.
- Michael T. Babcock (Yes, I blog)
How much of the graphical user interface evolution on UNIX has been put back because the varying WMs and toolkits?
It's better now that we're down to X.org and GTK or Qt, but years were wasted because you couldn't write an app that took advantage of, say, Display Postscript or multi-head or decent colour-correction or a given GUI toolkit without restricting your market.
For a very long time---and ending not so long ago---state of the art, cross-platform GUI toolkits on UNIX started and ended with Motif. That's horrible.
That doesn't really speak to the question of whether the window manager should be built-in...
I mean, I don't want to sound like the situation is all roses here. Yes, as you say, there's been a lack of focus that has detracted from the overall experience. But, you gotta look at the bright side, too. Suppose Motif and/or mwm had been integrated tightly into the X server... Where would we be now? We'd still be stuck with it, probably... Would we really be happier knowing that a clear direction had been chosen, if that clear direction sucked?
I think the lack of focus is an unavoidable consequence of a system that's developed without clear-cut, authoritative leadership. That's a down-side of using a system that's not been designed by a single group like Microsoft or Apple. But the up-shot is that a system like that is open to experimental ideas. The result isn't a true meritocracy of software (that is, no matter how good a piece of software you might write for a particular task, there are still practical problems in terms of getting people to invest themselves in using it) but there are always options...
Going back to the question of tighter integration of the wm with the X server - I remain unconvinced. I could see how X could benefit from better compositing support and other features to make wm's behave better, but I don't see what the benefit would be of having the wm built right in to the X server. It seems like running it on the local machine is just as good...
Bow-ties are cool.
They didn't create the 'definition' of PC, they're just using terminology that is already mainstream. Would've been kinda stupid not to, don't you agree?
"Hi, I'm a Mac."
"And I'm an AT-compatible Intel-based computing platform running the Microsoft Windows Operating System"
I think the term 'PC' and its association with MS Windows predates the Mac vs. PC ads, just slightly.
Intel pay for a lot of X devs at the moment who do upstream development as well as Intel driver development: Eric Anholt, Jesse Barnes, Keith Packard (of at least Xrandr and COMPOSITE fame), Ian Romanick, Carl Worth...
Red Hat employ some upstream X devs too: Dave Airlie, Peter Hutterer, Adam Jackson, Kristian Høgsberg (who made Wayland) spring to immediate mind (I think they also used to emply Jesse and Carl)
Novell employ Matthias Hopf.
Nokia employ Daniel Stone.
There's an (incomplete?) list of xorg devs on ohloh. Just because you haven't heard of them doesn't mean they aren't out there hacking away...
Just saying but Roman numerals have been with us for about 3000 years before X "the display" existed.
I don't know about the Mac, but I don't think there's anything in Windows that corresponds with a network protocol with GUI functions in "a bag on the side".
Comment removed based on user account deletion
Explorer is a cross between your shell and your window manager, its like the Gnome or KDE window managers
Actually, it's a file manager, hence like GNOME's Nautilus or KDE's Konqueror (the file manager part) or Dolphin. It might also provide functionality of various bars on the edges of the screen (task bar, etc.) and the desktop; I'm not sure which parts of GNOME and KDE implement those.
You can not kill the X11 client
...by which you mean the process/program that the X11 developers call "the X server" (because, with the model of "clients connect to a server and ask it to do things for them", that's the role it serves, confusing though that terminology might be for those who have a model of "a client is something like your desktop machine, a server is a machine in the machine room" nonwithstanding).
Us losers? Are you implying that somehow you are exempt from being a loser while still posting to slashdot just because you are anonymous?
An anonymous coward who knows what he or she is talking about is far more valuable than a poster with an account who doesn't.
The window manager should have been part of X from the get-go.
The window manager should NOT be part of X. Choice of window managers is a good thing. And what is even better is choosing and changing window managers without logging out. Or running them in different windows (really handy sometimes.)
99% of users don't do that you say? I don't care. It's nerdy goodness, and this is news for nerds.
It took the rest of the world a long time to realize that engineers and scientists like network-centric computers. But X's design isn't useful to a few people out there, so it was quickly brushed aside by Mac and Windows fans as being archaic, obsolete, slow, etc.
“Common sense is not so common.” — Voltaire
X is the name of the thing. It is a window system. There should be no 's' at the end. "Window" is not part of the name. Look at any copyright notice, or any related site, like: http://www.xfree86.org/ "Home of the X Window System." The display server is an X Server, not an X-Windows Server. the clients are X clients, not X-windows clients. Look at the wikipedia article, it refers to the X protocol, X terminals, ad nauseam ...
So yeah, there should darn well better be a [sic].
I think it's only the persons that call the terminology reversed are the ones that are backwards. It's very logical to me.
"OK great, how do I get this display from that PC to that one over there"
You just switch the cables.
Seriously, how many PCs of the Windows 3.1 era even had network cards. Most Unix guys really have no understanding of the limitations of early PCs and embedded systems.
10 would be the fancy way, what with it being harder to make circles in stone with chisels vs. making crosses.
Jesus was all right but his disciples were thick and ordinary. -John Lennon
Eventually the trade-off isn't one anymore and the system is too slow maintaining the index to be usable.
That is a problem with the design of your selected indexing program (Google Desktop Search from your previous post). Try something like Copernic Pro for a change. There is also PocketSearch which is free.
Ubuntu is an African word meaning 'I can't configure Debian'
No, he said it very clearly: He's trying to render a framebuffer OS GUI like bitmaps when instead he should be using vector based information, using a Synergy2 client with cloud-based actionscript pseudo-code, reverse-compiled on a middle-endian pdp-12 zipdisk array. You thought Web-2.0 was easy. Don't be so condescending....
There is a fine line between being a cultivated citizen and being someone else's crop. - A. J. Patrick Liszkie
Who cares, when a Youtube Flash video is eating almost 100% of your CPU because it's idiotic use of X11? Playing a plain MPG video in mplayer uses almost no CPU.
My complaint was specifically about Google Desktop. It was related to the parent's comment about a design inefficiency in Google's Chrome.
At no point did I complain that I wanted a better desktop search option, nor did I say I hadn't found one if I was. My comment was solely and quite obviously interconnecting the two as a Google database inefficiency in their desktop db design.
Please learn to read context before replying.
- Michael T. Babcock (Yes, I blog)
And just like Intel did with the Pentium, once they figured out how to trademark a version number, they stuck with that same number for ages and ages. Intel eventually got over it, but I think only due to the fact that they were making different processors aimed at different markets.
And the X Window System has been stuck at version X11 for over 20 years now, so long that hardly anybody calls it "X Window System" anymore instead of just X11. When will they get over that?
Lars T.
To the guy who modded me down from perfect to terrible Karma - Apple haters still suck
Both of your points are 100% correct.
I know better on the X11 client/server side, and in my haste made sure to reverse what how I wrote them, which of course is wrong on my part. My dyslexia broke my dyslexia.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
If you use 'nx' on both the server and client machines, you will find x applications running much faster.
The nx application intelligently caches x commands.
# yum info nx
Loaded plugins: refresh-packagekit
[...]
Installed Packages
Name : nx
Arch : x86_64
Version : 3.3.0
Release : 38.fc10
Size : 12 M
Repo : installed
From repo : updates
Summary : Proxy system for X11
URL : http://www.nomachine.com/
License : GPLv2 and MIT
Description: NX provides a proxy system for the X Window System.
#