Re: Draining the Swamp: A Technical User's Experience



Alan,

Keith Packard and I make exactly this point to the XFree86 community:
we're on this wavelength exactly, down to being able to remove the
configuration file and have things work (as Keith's TinyX server does
already), and as many commercial X implementations have done in the past.
Not all agree, however...  Sometimes I think people find editing
the silly XF86Config file a rite of passage...

The XF86Config file, while needed in the past due to brain-dead PC
hardware, should become the exception, rather than the rule, and only
used to select among multiple valid configurations the user might want,
rather than messed with otherwise.

There are some nits below, which I will note...

Help in general to get this done would be a great help; Keith and
I know what needs to be done, but don't have enough hours in the day...

If some of the work the distro vendors do to try to cover up the 
configuration sins of XFree86 went into getting XFree86 configuration 
fixed once and for all, that would help.  Right now, RedHat, Mandrake, 
SuSE etc. are spending too much time (trying to) clean up things downstream 
and help fixing it properly upstream would help, I expect.  

Please do note that XF86 runs on other things than Linux, so this has
to be done with some care.

			- Jim

> Sender: foundation-list-admin gnome org
> From: Alan Cox <alan lxorguk ukuu org uk>
> Date: Mon, 6 May 2002 16:50:24 +0100 (BST)
> To: rms 1407 org (Rui Miguel Silva Seabra)
> Cc: foundation-list gnome org
> Subject: Re: Draining the Swamp: A Technical User's Experience
> -----
> > In the case of configuring X's HS and VS, you could probably ruin your
> > graphics card or you screen if you pushed it a little too far...
> 
> Newer cards are supposedly a lot better. With the virus writers lobbing the
> occasionally destructive special out its becoming important that hardware
> cannot be destroyed by a virus. Unfortunately they are still taking baby
> steps so the current situation is right now not terribly good.
> 
> > Yes, X is not the easiest thing to make particular weird configurations,
> > but wouldn't that be something somewhat more uncommon to do? Jim, you
> > can tell us best, probably, is it common? How can we make that better?
> 
> Much of this is that X (and the config tools) take a very aggressive and in
> your face approach to configuration.
> 
> I expect to be able to type
> 
>         rm /etc/X11/XF86Config
>         startx
> 
> and have it work
> 
> Lets go through the configuration item by item:
> 
> 
> ServerLayout - easily defaulted to 1 mouse, 1 keyboard, 1 screen

Yup.  But multiple mice, keyboards and screens should "do the right
thing too, IMHO.  Certainly on Digital UNIX, if you plugged in another
screen, it "just worked" out of the box.  I see no reason to settle
for less (we never dealt with multiple keyboards and mice, since they
more or less never happened in those days).

> 
> Fonts -
>         Try and connect to the standard font server paths and check they
>         are root owned and work.
> 
>         Failing that scan the default places fonts are installed (maybe even
>         query the package manager) - and you have a workable set of font
>         paths. Compile in "fixed" as a last resort

Server side fonts are one of X's major sins: in fact, font servers are
a bad idea, and we need to wean people away from them entirely.  If fonts
are to be shared, they should be shared via distributed file systems.

I cover the arguments for client side fonts in my upcoming Freenix
paper in June...

Render and Xft make server side fonts and font servers a thing of the
past: but we have alot of work to get everything converted over
(including updating the X server and font servers to use the same
configuration mechanism as client programs. so that there is only
one thing to configure (and as I noted before, FontConfig tries to
"do the right thing" and discover new fonts without requiring
reconfiguration.)

> 
> Modules -
>         Scan the default Xserver directory, against the list of items
>         we know are needed. Load those that match. We already know if we
>         need font server or font modules

Yup.  Though you should be able to configure modules out of the server
if needed.

> 
> InputDevice -
>         Keyboard is boiler plate
> 
> Mouse -
>         Linux default /dev/mouse and then query it using the code from
>         gpm or kudzu. Kudzu can find and set up almost all mouse
>         arrangements except some more obscure ones

We have code in TinyX that does mouse flavor recognition: it needs to
be mainlined.

GPM is wrong: you don't want another process schedule between you and
the cursor.

> 
> Monitor -
>         Query it directly. If that fails 640x480 VGA mode with VESA modes
>         also list for ctrl-alt-+/-

Yup.  But some monitors actually return bad information, as usual
(hardware vendors seem unable to reliably get such information right,
whether it be graphics chips, monitors, etc).

> 
> Video Card -
>         Xconfigurator/Kudzu has code that gets almost all cases right - for
>         hard cases pick VGA16. When memory size is not autodetectable
>         assume and wire for the worst case setup.
> 

Yup.  Though again, some hardware is too braindead for this to work,
it will work a large fraction of the time.

--
Jim Gettys
Cambridge Research Laboratory
Hewlett-Packard Company
Jim Gettys hp com




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