Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

  • Launchpad Entry: hardy-console

  • Packages affected: console-tools, kbd, console-setup, kernel


The switch to console-setup in 6.10 went quite well, but our console handling needs some further improvements.

Release Note

A number of bugs in the virtual console system have been fixed. In particular, switching to X and back to the console now reliably preserves the console font.


This specification cleans up a variety of bugs in the console layer, as part of the Hardy quality and robustness drive.

Use Cases

  • A speaker of a non-English language needs a different console font in order to display all the characters in his native language. When he switches to X and back to the console, the font should be preserved.


console-tools to kbd

The console-tools package is a modified version of kbd that has been maintained by Debian for some time. Recently (over the last year or so), maintenance of console-tools has fallen away and the kbd package has become maintained reasonably well again. Certain fonts are not supported by console-tools and require kbd. While Debian has not yet switched to kbd by default, it does not yet use console-setup either (to which we switched in Ubuntu 6.10), and console-setup strongly recommends kbd.

We will switch to kbd by default, which requires a brief audit of Ubuntu patches to console-tools, changing localechooser to install kbd, and switching their priorities in the archive.

Kernel console font handling

The vgacon driver does not save the console font anywhere other than video memory, which means that it cannot restore the console font when switching back from graphics mode and userspace programs such as usplash and X need to deal with this themselves; some X drivers fail to do this correctly. This is clearly suboptimal and consensus appears to be that vgacon should instead save and restore the font itself rather than requiring userspace to do it. The best place to do this seems to be in the vgacon_switch function.

We will check fbcon to ensure that it does not suffer from this problem. (There are other console drivers, but they are not interesting here.)

console-setup internationalisation

console-setup's debconf interaction should be fixed to be localisable; this work should be done in d-i upstream in order to take advantage of their translation infrastructure. At present, the model, layout, variant, and fontface questions are not marked translatable and may not necessarily handle distinguishing translated from untranslated text where appropriate. BryceHarrington has volunteered to work on this.

loadkeys compatibility fix

The loadkeys program used to support invocations such as loadkeys gb to select a British keyboard layout, but no longer does. Since this facility was convenient, we should reinstate it. In the case where loadkeys fails to find a keymap (in console-tools/kbdtools/loadkeys.y:yywrap or kbd/src/loadkeys.y:yywrap), it can fall back to using the output of ckbcomp -model pc105 LAYOUT VARIANT. LAYOUT and VARIANT will be gleaned from the keymap specified on the command line (the newly-invented syntax being LAYOUT[:VARIANT]). This will not provide perfect compatibility since some keymap names have changed, but it should be good enough for most purposes.

[Done in console-tools 1:0.2.3dbs-65ubuntu6 and kbd 1.12-19ubuntu2.]

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release.

This need not be added or completed until the specification is nearing beta.


HardyConsole (last edited 2008-08-06 16:18:38 by localhost)