Port-sparc64 archive

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

Re: X on XVR-100



>>>>> "ml" == Michael Lorenz <macallan%netbsd.org@localhost> writes:

    ml> X apparently switches the console back to
    ml> WSDISPLAYIO_MODE_EMUL after some driver setup, at this point
    ml> radeonfb restores its video mode

    ml> I'm not sure how exactly to fix this yet,

I still haven't been convinced away from my old idea, which is that
the right way to deal with this whole mess is:

 * the console needs to be able to draw into all the framebuffer modes
   and pixel-packing formats used by X, SDL, direct-whatever.  If you
   use a mode in X that the console doesn't understand, the console
   will just have to be messy when X returns.  

   It's permitted to leave the console broken---lots of stuff is
   already broken---but if you decide to fix the particular
   problem-mode, then there should be only two permitted ways: make X
   stop using the problem mode, or make the console understand it.
   Adding more mode-change gymnastics is not a permitted way.

 * any program running on the machine anywhere, X or otherwise, which
   changes video modes, needs to make calls into wscons to inform it
   the new framebuffer shape right after it makes the change.  The
   kernel framebuffer does not need to do all the mode programming by
   proxy, nor need to understand how to undo any arbitrary
   programming.  it only needs to listen when it's told the screen
   shape has changed.  In WSDISPLAYIO_MODE_EMUL you can repaint the
   screen and send SIGWINCH after this call, and in
   WSDISPLAYIO_MODE_GRAPHICS you can do nothing, just remember it
   happened.

 * the kernel should never program a video mode.  It should only be
   informed what the current mode is, and in two different ways:

   + once, at boot

   + by any userland program that changes video modes.

 * the console is not working unless ddb and printk are working.  On
   systems that run X, the console is **FOR** ddb.  This is not just
   some extra gravy feature, it is the main feature.  If you want a
   console just for testing different X config files, use ssh instead.
   If it is too much work to fix the console, then leave it broken.  A
   console that works until the first time X is started, and never
   again, is still useful.  But do not fix the console for everything
   except ddb/printk, then say ``I've fixed it''---you've done nothing
   but given people a way to edit X config files, sometimes, and
   probably waste a bunch of your own valuable time for something
   mostly-useless and architecturally stupid.

I must be missing something fundamental because this approach seems
like so much more function for so much less work.

Attachment: pgpVhCylq4Wby.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index