Continuation of Newcons project

Continuation of Newcons project

Continuation of Newcons project

Newcons project aimed to replace old graphic virtual terminal named “syscons”. Its main points is: support UTF characters and to move away dependence from fixed graphic modes (VGA, VESA) and from machine’s built-in services like BIOS. Project originally started by Ed Schouten, and in 2013 was already have:

  • UTF font with Latin, Cyrillic and some more simple character sets;
  • UTF output support;
  • Graphic mode support;
  • Text mode support;
  • Sysmouse (w/o copy-paste);
  • Many more …

New implemented items:

  • History - ability to scroll via terminal history. Old, separate history buffer was removed;
  • History circle buffer - no buffer overflow, “unlimited scroll”;
  • VT_PROCESS mode - Way to hold terminal from switching (f.e. Xorg use it to prevent terminal switching);
  • drm2/fb_helper driver - A.K.A. KMS driver. Bind Newcons to framebuffers “made by” drm2 covered video drivers (i915/radeon);
  • Dynamic VT driver attachment, vt_allocate(…) - allow to attach console video driver later, at point where framebuffer owner will be initializing. (KMS and devices w/o early graphics support).

Supported startup modes for KMS:

  • Start w/o VT graphics drivers, then load KMS (kldload i915kms or radeonkms);
  • Start w/ VGA, then load KMS;
  • Preload KMS, then KMS driver will be attached as output;
  • Preload KMS, start w/ VGA, then KMS driver will replace VGA output.

Any help on testing are welcomed!!! This project is being sponsored by The FreeBSD Foundation. Many thanks to Ed Schouten, who start Newcons project and did most work.

  • Generic Framebuffer interface - simple interface to give FB access to userland (/dev/fb*) and automatic handling by Newcons VT(9);
  • Mouse support - Copy/Paste using sysmouse;
  • Improve locking;
  • Bug fixes;
  • HEAD Integration;
  • 10.0 Integration;
  • Mapping non-ASCII characters to UTF on keyboard input;
  • Adapt existing screen savers.


Please use project branch it close enough to HEAD (at least now, 10 Oct 2013) or HEAD with Patch to HEAD (r256148).

In case you want to play with KMS on ATI Radeon video, you have to apply Jean’s patch too: Radeon KMS framebuffer patch

Oleksandr Rybalko a.k.a. Ray
Oleksandr Rybalko a.k.a. Ray
SRE/DevOps/Engineer SW/HW

The man who love HW and SW. And know!