Linked by Thom Holwerda on Sat 15th Aug 2009 17:55 UTC
X11, Window Managers Over the past couple of months, and especially over the past couple of weeks, I've been working very hard to write and complete my thesis. I performed all the work on Windows 7, but now that the thesis is finally done, submitted, and accepted, I installed Ubuntu - and immediately I was reminded of why I do not do any serious work on Linux: the train wreck that is X.org.
Thread beginning with comment 378624
To read all comments associated with this story, please click here.
More anti-X bullcrap from the peanut gallery
by siride on Sat 15th Aug 2009 18:35 UTC
siride
Member since:
2006-01-02

It's funny, most of his complaints have nothing to do with X at all.

- Evolution crashing is obviously Evolution's fault (no surprises there).

- The XVideo crash is clearly a driver problem, which could happen on any system (and not infrequently does). I use XVideo and now textured video and I don't have crashes when I resize windows.

- It's a little known fact that the X server crashing does not require all X apps to crash. They can actually disconnect and reconnect if they so choose. None of the toolkits, however, support this. So...the problem is, as usual, with the toolkits. On Windows XP and Mac OS X, if the windowing system crashes, apps are toast (and on XP, the whole OS is toast since the window manager, etc. live in kernel space).

X only lacks polish. The fundamental design and architecture is quite sound and is followed by most other windowing systems. Driver bugs, delays in getting new features developed and debugged, and lack of manpower are killing X right now.

Reply Score: 17

Thom_Holwerda Member since:
2005-06-29

The XVideo crash is clearly a driver problem, which could happen on any system (and not infrequently does). I use XVideo and now textured video and I don't have crashes when I resize windows.


You couldn't have missed the point more if you were on venus.

It could be a driver problem, and just as I said, this could happen on any system. It's just that on other systems, such as Vista and 7, a graphics driver crash has zero impact because of proper isolation - as I detailed in the rant/article.

And yes, it's anecdotal, but that's besides the point. This article isn't about the bug - it's about the consequences of said bug.

Reply Parent Score: 6

siride Member since:
2006-01-02

This could be solved by having toolkits make good use of the session management features of X (and the ability to disconnect and reconnect). Then, if the server crashed due to a driver bug (or a kernel oops with KMS), the server could restart and the session manager could reconnect all the applications and it would have the same effect as what you describe with Windows 7.

Reply Parent Score: 3

leech Member since:
2006-01-10

Someone may have already stated this, since I don't feel like reading through all 100+ comments.

But this is some serious crap coming from "It doesn't do anything in vista / 7" I have had a full on BSOD from a graphics driver in both of them.

I haven't had X crash in many many moons. Even on my HP Touchsmart TX2 I don't have any Xorg crashes running Debian Sid with the fglrx driver (even though it throws up a lot of errors, since it's not made to work fully with kernel 2.6.30)

Problems with Evolution crashing? Have you been using the same configuration files for a long time? I always use Evolution, and it stays open for days on end, with only a very random crash.

Couldn't say the same for Outlook, which will just randomly stop receiving / delivering email and most times just requires a reboot of the entire computer to work again....

Most things (like OpenOffice.org, Firefox, Evolution) has a recover feature.

You probably are running an ATI video card, which has notoriously BAD drivers, yet you blame X.org? My video playback is generally much smoother using Compiz and a nVidia driver than it is under Vista/7. Not to mention that PowerDVD constantly crashes. If it weren't for having a blu-ray drive, I'd not use it. Compiz works great with Video, yet Aero gets turned off every time I start a movie?

It seems to me that the only thing that improved with Vista and 7's new graphics driver model is that you generally can use the driver right after installing, instead of needing to reboot... but only to a certain extent.

Pretty much most of this commentary on the inadequacies of X.org are really down to a closed source driver that the X.org developers have NO control over.

Fix your evolution config (you know you can remove the .evolution, but save out your inbox folders first. Or better yet, use Imap so you don't lose your email.) And change your video card (or driver) and stop your complaining. Sometimes you come off as a whiny little child, Thom.

Reply Parent Score: 6

reduz Member since:
2006-02-25

Hi! I'll clear up this myself. I'm one of the few guys that likely have enough experience programming X11 directly.

The main issue to solve in being able to restart the server is server memory.. you may have pixmaps and other info stored in the server (in video ram), so if X crashes all that is lost. What windows does is keeping a copy of all the video resources in system ram (then is kind of needed anyway if you need to page video ram in and out for stuff like opengl/direct3D). Of course, windows uses more memory for this, because it keeps copies of everything instead of using a paging system, but allows it to restart cleanly.

This is probably not something good to resolve at toolkit level if you want to keep the client/server nature of X11 (it's a lot of work and wasted ram for the client), though maybe it could either exist as someting like an intermediate layer between the applications and server (not so difficult to do). Windows has no client/server nature so it's a non-issue. It's probably not hard to do, but being honest, i had zero X crashes in years and i think most people doesn't either so it's kind of a low priority..

Reply Parent Score: 6

dragossh Member since:
2008-12-16

- The XVideo crash is clearly a driver problem, which could happen on any system (and not infrequently does). I use XVideo and now textured video and I don't have crashes when I resize windows.


Yet Windows keeps all your apps open.

- It's a little known fact that the X server crashing does not require all X apps to crash. They can actually disconnect and reconnect if they so choose. None of the toolkits, however, support this. So...the problem is, as usual, with the toolkits. On Windows XP and Mac OS X, if the windowing system crashes, apps are toast (and on XP, the whole OS is toast since the window manager, etc. live in kernel space).


Why talk about XP? It’s an almost 10 year old OS, talk about 7. On OS X the windowing system doesn’t crash because the drivers are written by Apple and tested.

For Thom it doesn’t matter where the problem lies. He needs things to work. And they need to be fixed.

Reply Parent Score: 4

siride Member since:
2006-01-02

Okay, that's fine. I agree. The drivers are often shit.

The problem is that Thom is making an invalid accusation: saying that X.org itself is a pile of crap and needs to be done away with, when in fact all of his problems are not X problems, but instead driver problems or toolkit/app problems. If you are going to make that kind of accusation, at least get your facts straight.

Reply Parent Score: 3

aaronb Member since:
2005-07-06

- It's a little known fact that the X server crashing does not require all X apps to crash.


That point does not really matter when you are taken back to the login screen and the applications are not running any more.

I use Ubuntu 9.04 as my main OS and only occasionally have issues. But this "technically working" crap is a bit delusional.

Reply Parent Score: 4

siride Member since:
2006-01-02

Yes, I am aware of the fact that almost no apps take advantage of the ability to reconnect or use session management to save state. That doesn't change the fact that the fault lies with the toolkits and the apps for not being fault tolerant, and not with the X server for occasionally crashing (which is true of any piece of software).

Reply Parent Score: 4

galvanash Member since:
2006-01-25

All your points are valid, assuming they are all correct. I don't know all that much about how X works under the hood so I'm taking you on your word. But I don't think this invalidates Thom's point.

Although there are types of crashes in Vista/7 that can still bring the whole desktop down, the footprint of the critical components that can lead to a system crash has been drastically reduced relative to pre-vista versions of Windows. Saying that the problem in X is the video driver doesn't really shift the responsibility - video drivers in Vista/7 can have bugs and can crash too. The difference is that the majority of the driver code is now restartable and the system can recover from such crashes most of the time with no adverse affect on running applications (not always, but most of the time).

X may support applications reconnecting after a recycle, but until the toolkits implement it that feature of X is basically useless... I personally don't take Thom's rant as a rant against X specifically. He may have meant it that way, I don't know, but he did say "X stack" which I interpret as the whole thing including drivers.

The point is that he is pointing out a specific and legitimate problem with desktop X systems, and it is a perfectly valid complaint. No amount of finger pointing changes the fact that it still sucks in this particular area. I personally don't advocate getting rid of X, but it is a problem that needs to be addressed I think - sticking our heads in the sand won't make it get better.

Reply Parent Score: 2

Dima Member since:
2006-04-06

It's a little known fact that the X server crashing does not require all X apps to crash. They can actually disconnect and reconnect if they so choose. None of the toolkits, however, support this.


Does Xlib support disconnects and reconnects? No it doesn't. It also makes it impossible for a higher-level toolkit, such as Qt or Gtk+, to handle this. So whose fault is it now?

Reply Parent Score: 1

siride Member since:
2006-01-02

XEmacs can disconnect and reconnect. If there is a bug in XLib causing abort()s for a disconnect, that can easily be changed (very easily). Now your point is moot.

Reply Parent Score: 2

thecwin Member since:
2006-01-04

I believe error handling was one of the things XCB better supports. Xlib was a terrible API with known severe problems for a long time, but most things are switching to Xcb now.

Reply Parent Score: 3

raboof Member since:
2005-07-24

it's a little known fact that the X server crashing does not require all X apps to crash. They can actually disconnect and reconnect if they so choose. None of the toolkits, however, support this. So... the problem is, as usual, with the toolkits. X only lacks polish. The fundamental design and architecture is quite sound.


So if all the fundamentals are in place, why aren't we seeing crash-resilience yet? Is it too hard for toolkits to use it? Is the documentation lacking? Or just laziness?

Whatever the reason, the end-result is still that we don't have crash-resilience yet...

Edit: KDE seems to have considered it and found X lacking infrastructure: http://bugs.kde.org/show_bug.cgi?id=157354 . Were they wrong/ignorant or is there something else going on?

Edited 2009-08-16 14:59 UTC

Reply Parent Score: 1

siride Member since:
2006-01-02

The one sentence reply in that bug report is not really indicative of much of anything. The only truly useful thing he said was that it was beyond the scope of Qt to handle it (which is partially true as X must fully support, in a bug-free fashion, the ability to restart connections).

Reply Parent Score: 3