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

Re: XDM... source level




Þann 01-Mar-98 skrifar Erik Walthinsen:
> 
> I was actually thinking of keeping XDM running even if the X server fails
> Once RemoveDisplay(d) is run, XDM won't start that server again, so we have 
> the console back.  Since XDM is still running, any other servers (XDMCP
> stuff) can keep running, say if the user has a X terminal for whatever
> reason (they're cheap, and relatively 'easy' to set up).
> 
  I was thinking in the lines, where after I stop the display and remove
it from list of displays, to actually run through the list and see if the
XDM is the only entry left up standing, and remove it if so.  But I see
that your thoughts are better, the user doesn't have to restart XDM
only tell it (through killall -HUP xdm) to reread it's configuration,
and XDM will try and restart the display... that's smart.

> Say we have a scenario where the user just upgraded (or downgraded, say
> their card fried) their video card.  They turn on their machine, XDM
> starts, and the X server freaks.  .._0.startAttempts would be set to 2 or
> 
  This is my current scenario, I just upgraded my machine from a 486
to a K6-200 (new mainboard), and the mainboard has an integrated SiS 5598
chip, with VGA graphics.  Here, I've seen a great flaw in X, bigger than
the loop of death.  If my card, doesn't have a driver, it's unusable.

  The generic VGA driver, built into X, can only use 64K ram memory.  It can
in 16 color modem, use color planes giving 256K.  But as a SVGA driver
that is left out, and the option is only 64K which roughly is only a
320x200x8 resolution.  Under Windows, you can select 800x600x8 under the
term generic SVGA.  And I don't see the user opening his machine to look
at the sign on the chip, or looking for the booklet that came with the
card and tells what type it is.  Most of the time, the user will have a
machine with a card, delivered to him in a single piece... and the only thing
(s)he knows, is that it is a VGA or Super VGA graphics.

  As an absolute minimum, the generic driver in X should be able to do
equivalent to Windows, and run a generic VGA or SVGA card in 800x600 with
4 or 8 pixel depth

> or something similarly low, and once it fails out completely, the console
> would be freed up.  A program could then be run to start up a VGA or NVidia
> server with a single recovery client, which would just be the X
> configuration program from the installer with the 'recovery' flag set, so
> the user can try to fix things.
> 
  XDM could either access a file to register the failure, or possibly even
call a program to do the configuration if it's the local device that
fails.  Ideally, this should be the XF86_VGA16 server, started in a
VESA mode resolution of 640x480 or XF86_MONO if the user has a monochrome
monitor.  Either of these two, should always be present on a system for
fallback purposes, I'd think.

> As far as the X server trying to drop resolution in stages until it finds
> something, that's part of most (all?) servers anyway.  Or close to it. 
> think it takes each modeline that matches the highest config and a 
> dotclock, and tries to set it. If that fails, it starts down the list of 
> similar (same res/depth) modes, then drops one res in the "Modes" list to
> loop through again, etc.
  All servers will do a calculation, and figure out from the data wether
the given resolution will work or not.  If a modeline gives a resolution that
requires a horizontal or vertical frequency outside the monitors capabilities,
it will drop that modeline and pick the next.

> 
> This should really be the first concrete thing this group produces.  It's
> relatively simple, but very far-reaching.  This in place, we can get a 
> couple people concentrating on a X configuration system.
> 
  I've already plaied a little with X, created my own X server for EGA
graphics, and I'm now making X work with my SVGA graphics :-)  Unfortunately
X is so huge, that I can't have it all on my system.  I just run to funet in
Finland to get the components I need (they have an untarred tree there),
and have link kit to build a server.  When I'm done, I'll have figured a way
to have the X server do these modes (Even if I have to patch the kernel
to jump into the 16 bit BIOS for it :-) and when I'm done with that I'm going
to collect some modelines from the Monitor and Device files to collect
some VESA modelines, there is a pretty complete list there I think.

----------------------------------------------------------------------------
Orn Einar Hansen                         oe.hansen@oehansen.pp.se
                                          oehansen@daimi.aau.dk
                                        voice+fax; +46 035 217194