[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
I386 USERS PLEASE READ: wscons
Earlier this evening I moved OpenBSD/i386's default console driver from
PCVT to wscons (the console driver framework that came from NetBSD).
IMPORTANT: I advise everyone to refrain from upgrading your boxes at least
for a few days until all of the issues are ironed out. In particular, you
won't be able to get X going (at least, not the mouse).
Here are some of the improvements we gain from this switch:
1) Native USB keyboard/mouse support.
2) Ability to enable USB support by default (because of (1)).
3) More consistency between platforms (i386/alpha/powerpc all use wscons)
4) Better internationalization support via new keymaps.
5) Solve problems with KVM switches (hopefully).
6) Input device multiplexing capabilities.
7) Greater extensibility for new features (console frame buffers?)
8) Smaller footprint yielding extra space on single-floppy install disks.
Now let's try to discuss each of these items in detail.
Up until now, systems with USB-only keyboards have worked only because
most BIOS's have the option to emulate a legacy PS/2 keyboard. However, as
soon as the operating system configures the USB controller, the BIOS backs
off and expects the OS to take over support of the keyboard natively. This
is why we've waited so long to enable USB by default. I just tried my
wireless Logitech USB keyboard with the new wscons stuff and it works.
wscons is machine-independent. As long as a lower-level driver exists to
handle the actual hardware manipulations (for example, the vga(4) driver),
wscons can do the rest, regardless of the architecture it is running
on. This is more modular, less error prone, and gets rid of a lot of
redundancy. Bug fixes to the console driver now help many platforms.
Ok, I'm actually assuming things in item 4). I have not really looked into
the internationalization stuff yet. At first glance it looks nicer than
what PCVT had.
As for KVM switches, they've often been a hot topic of this mailing list
since they didn't cooperate very well with PCVT. Often times people would
switch back to their OpenBSD box only to find the keyboard unresponsive. I
am fairly confident wscons is much more forgiving about losing the kb and
mouse. Hmmm, actually, I'm remembering csapuntz@ committed some sort of
fix to the mouse driver that may have helped in this regard. At any rate,
things should be better in this arena.
Number 6) is really cool. wscons can handle an arbitrary number of
keyboards and mice simultaneously. I had my PS/2 and USB keyboards hooked
to my machine at the same time. I could type on either and OpenBSD would
acknowledge my keystrokes. Some of you have probably already thought of a
practical use for this.
So, now that the console driver has been abstracted into several managable
individual pieces, we can start looking at funkier stuff. I'd like to
implement support for VESA modes and/or console frame buffers so you can
run your console in higher resolutions. No ETA on this, I haven't looked
at it yet.
And finally, Theo has discovered that by switching to wscons, we actually
gain more space on the install floppies permitting more drivers and such
to be stuffed on there. We go to ridiculous lengths to keep the install
disks at a single floppy. So y'all better appreciate it. :-)
Before anyone asks, no, we do not lose those cool PCVT extensions like
scrollback support or console mouse. Scrollback support is already
there. It is a bit different now in that you currently cannot change the
size of the buffer. You will notice though, for example, that after
booting your machine you can now SHIFT+PGUP all the way back to the BIOS
messages. Console mouse support for wscons is not committed yet, but I
hope to have that ready within a couple days.
That is all. I will inform the list when things are somewhat complete.
---
Aaron Campbell (aaron@monkey.org || aaron@openbsd.org)
http://www.biodome.org/~fx