Subject: Re: Why not track our xsrc with X11R6.6 from X.org?
To: Andrew van der Stock <ajv@greebo.net>
From: Greg A. Woods <woods@weird.com>
List: current-users
Date: 07/16/2001 18:30:55
[ On Saturday, July 14, 2001 at 19:20:49 (-0700), Andrew van der Stock wrote: ]
> Subject: Re: Why not track our xsrc with X11R6.6 from X.org?
>
> Realistically, I'd like it if people stopped getting on their hobby horses
> about XFree86 being PC-centric. If someone implemented the Xsun server as a
> module under XFree86, you'd not only get things like anti-aliased text for
> free, you'd use less memory, and your Xserver would be faster due to the
> modern server architecture. The only thing that XFree86 can be accused of is
> that it does seem to assume PCI or PCI-like (ie AGP) bus space if
> implementors don't override the init stuff. As 99%+ of all post-1995 video
> cards are indeed PCI or AGP based (by manufacturer and model; if by
> marketshare it is closer to ~100%), this is not an unreasonable default
> position to take.

I'm not a graphics programmer, and I've only ever written a small
handful of graphics card drivers (way back in the Xenix/286 days), but
it seems to me that XFree86 *is* _very_ PC-centric.

As I understand it nobody wants to pull the Sun sbus Xserver (for
example) into the XFree86 hierarchy because even though some of the
advantages you mention would result, there'd also be some tremendous
disadvantageous (including security implications), not to mention
enormous amounts of effort.

Yes workstation manufacturers are commonly using PCI and AGP interfaces
for their graphics adapters these days, but a brief examination of the
number of NetBSD ports seems to show a rather large number that have no
PCI or AGP slots.  Should I not run X11 on my Sun3 even though it's got
more than enough horsepower for the job?  What about some of the modern
set-top type boxes without PCI or AGP?

Why does XFree86 even have to know about the bus or whatever?  That
seems like a very bad design and a nasty violation of the normal device
driver layering model.  Isn't a driver just offers the hooks needed to
map pixel memory, lookup tables, accellerator registers, and the like,
into process address space using mmap() sufficient?  Why must XFree86
contain so many hardware-dependent but Xserver-specific drivers itself?
Yes I know that development and support of other graphics systems
(i.e. other than X11) has waned, but does that automatically mean that
the only way to access graphics hardware should be through the XFree86
Xserver?

I think there has to be some give and take on both sides if there's to
be any real success to XFree86 taking over the whole world of X11, or
even just the bits under xc/programs/Xserver.

Personally I think there's lots of room for active work on hardware and
OS graphics support other than the PC-centric model chosen by XFree86.
I just find it sad that vendors who work in this domain don't at least
push their older source code out to The X Consortium after the hardware
it's designed for has reached it's market EOL.  There are dozens and
dozens of Xserver modules that *should* be in the X Consortium release.

(of course it would be nice if vendors also publlished device driver
source and theory-of-operation documents for all their EOL hardware too...)

-- 
							Greg A. Woods

+1 416 218-0098      VE3TCP      <gwoods@acm.org>     <woods@robohack.ca>
Planix, Inc. <woods@planix.com>;   Secrets of the Weird <woods@weird.com>