##(see the SpecSpec for an explanation) ''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.'' ## Register at https://launchpad.net/distros/ubuntu/+specs * '''Launchpad entry''': [[https://features.launchpad.net/distros/ubuntu/+spec/setup-console-under-usplash|setup-console-under-usplash]] * '''Packages affected''': console-setup usplash gdm kdm == Summary == Modify packages so that the system console can be setup while usplash is running. == Rationale == We currently need to flip back to a text VT before starting the X display manager, in order to ensure the console keymap, font and unicodeness are set correctly for each of the VTs. This gives an ugly flicker in the boot, and prevents us from delaying the VT switch to the display manager until later. == Design == The `console-setup` script can now iterate an explicit list of VTs, we can exclude the X and usplash VTs from this list, thereby avoiding corrupting them. It appears that the new `setupcon` and `consolechars`/`setfont` tools are able to initialise a VT without it being active. == Implementation == The changes required are: * Remove the check for running usplash from `console-setup` now that we iterate a VT list. * Remove the call to the usplash script from `gdm`, `kdm`, etc. as it will now automatically terminate when X switches the VT away. * Remove the call to `console-setup` from the usplash script, now that it will have been performed already. 2007-01-15 ColinWatson: Unfortunately, it turns out that the kernel does not safely support changing the font on another virtual console; in particular vgacon only supports one font, and if you try to change it while X is running then the kernel corrupts video memory. The same seems to happen for at least some other console drivers. To work around this problem, I've made console-setup set the keymap and font in the initramfs, which is useful in any case for those with non-English keyboards trying to recover broken systems. We retain the `console-setup` init script with the usplash check for those not running initramfs. Splash corruption is now clearly not possible. == Unresolved issues == * Is it possible to avoid the explicit VT list by checking the KDGETMODE ioctl for KD_TEXT in `setupcon` and `consolechars`/`setfont`, and then just iterating all active VTs? ---- CategorySpec