Jason Stelzer on 19 Jan 2009 07:47:56 -0800

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] closed-source video drivers (and Mac dealers?)

On Fri, Jan 16, 2009 at 10:52 PM,  <jeffv@op.net> wrote:
> On Fri, 16 Jan 2009 16:55:58 -0500
> "Jason Stelzer" <jason.stelzer@gmail.com> wrote:
>> Graphics on linux is a bag nailed to the side of it.
> so you don't like it then?
> :)

Not really, no. X was created at MIT to run xterm, xclock and xload.
There was a guy there familiar with W who wanted to write a
distributed graphical display server and he did so as academic
research. It was adopted on unix as a UI because it existed and it was
free and unix had no UI at all.

Oh, then they bolted in a window manager. There were no standards and
no policy. In fact, X's entire point is mechanism not policy. Right
around this time in X's evolution Motif was created. Its goal was to
give X the window management capabilities of HP's 1998 window manager
and the visual elegance of microsoft windows (not kidding. Also keep
in mind that windows at that time had big chunks of assembler in it).

So, now we have widgets, a GUI and still no policy. So that remote app
can feel free to pop up a modal dialog, steal focus and not raise
itself. After enough people got fed up with crap exactly like that,
standards were bolted onto the side. Not sane, reasonable standards.
No, this is unix. There might be someone with a valid technical reason
to steal focus, not raise a window and spin for a while. No, the
standards that went into ICCCM (or Inter Client Communication
Conventions Manual, or I37L (short for "I, 37 letters, L") are a mess.
It tries to accommodate everything from session management, colormaps,
focus... all the things that should have been designed in from the
start are nothing more than a glorified RFC. Its dense, it's easy to
get wrong and it should not have to exist.

Sit down at a public computer and try to use it. If it's windows or a
mac, I'm sure you'll be fine. If its my ratpoison desktop or some
tricked out E17 eye sore, you may not be able to use it at all. But
hey, you're free to be unproductive trying to figure out what
alt-meta-click combination brings up a menu you can use. Never mind
the fact that copy/paste in X works great for text. That's it. Just
text. Anything else and you're going to be very disappointed.

I dont think I even need to go into what a debacle the whole 'remote
display' thing is. Anyone who's fumbled around with xauth will know
what I'm talking about. Yes, ssh will 'do it for you', but that
supposes you want/need to encrypt everything.

So right... graphics. I dabble with things like Ogre3D now and then.
It's a cross platform scene graph rendering system. DirectX and
OpenGL. You can pretty much use it on linux if you're using an nvidia
card. Other than that, well... its not so hot.

Even if you have an nvidia card, the current state of things with DRI
is a mess. Compiz completely screws up rendering for applications that
want full access to the card. You have to switch modes or X gets
really confused. I'm not doing anything crazy. I'm doing things that
are perfectly fine to do on windows or mac 8 years ago (maybe longer).
I'm not exactly a cutting edge wizard doing the unheard of. I'm just
tinkering. This is also why I eventually gave up on graphics
programming on the linux side and switched to mac for it. I still get
the unix internals, but the desktop works.

The issue really isn't linux. The issue is X11. A big part of me
wishes NeWS took off. Or that DirectFB takes off. Give me a native
desktop where you can actually make use of the hardware over an
abstracted, network aware all in one speed bump any day.

> You put forth valid arguments, which are not generally tolerated here.
> Can't you rant like a loon instead?  Make a few snide comments about Windows?  Take a poke at Mac users? (I had to stop picking on Macs when they went x86 and BSD but Mac *users* are still fair game :)

There, there's my rant. Have fun.

Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug