1) Be upwards compatible with the existing fbdev drivers. This lets us
avoid rewriting the 90 existing drivers. New drivers shouldn't break
any old apps.
2) Address the long outstanding issue of multi-seat at the console
level. My solution to this is the one device per CRTC model.
3) Eliminate the need for a root priv controlling process. Get rid of
the potential for a security hole.
4) OOPS should always display even if in a graphics mode
5) Support Secure Attention Key (SAK).
6) Eliminate the existing VT swap driver free for all. I would compile
out the VT layer and replace it with a compatible API that enforces
some sanity.
7) Support Unicode on the console
8) Allow multiple user space graphics systems to run. These user space
systems should not touch the hardware, instead they ask the kernel
driver to manipulate the hardware on their behalf. Of course the
kernel driver is only the minimum code needed to arbitrate control of
the resources - it doesn't do things like implement drawing
algorithms.
No problems.
9) Booting on non-VGA hardware still needs to work.
10) Support things like cloning and output device selection.