vt(4) (previously known as Newcons)

The idea of the Newcons project is to implement a new console driver (called vt(4)) that has the following features:

Feature Comparison with syscons(4)

vt(4) currently has the following features compared to syscons(4). Note that additional vt(4) features will be implemented; this table does not represent the end goal for vt(4).

Feature

syscons(4)

vt(4)

splash screen support

Yes

Limited

ASCII encoding

Yes

Yes

UTF-8 encoding

No

Yes

Encodings other than ASCII/UTF-8

Yes

No

Double-width characters (for CJK)

No

Yes

VGA text mode font changing

Yes

No

VGA vesa

Yes

No

screensaver

Yes

No

Kernel Modesetting (KMS) integration

No

Yes

More than 256 distinct characters on screen

No

Yes

support for hardware mouse cursors

Yes

No

Obtaining vt(4)

Newcons is in HEAD as of r259016 and enabled in GENERIC on amd64/i386 as of r268045.

Testing

i386/amd64

To enable Newcons on i386 or amd64, set the loader tunable kern.vty=vt.

If using a custom kernel configuration ensure that the vt and vt_vga devices are enabled. The sc and vga devices may be omitted.

#device        vga             # VGA video card driver                 
#device        sc                                                      
device         vt                                                              
device         vt_vga                                                          

To test Newcons with KMS on Intel driver

kldload i915kms

on ATI/AMD Radeon driver

kldload radeonkms

vt_vga defaults to graphics mode. A loader tunable hw.vga.textmode can be set to use text mode instead. To enable text mode add the following to /boot/loader.conf:

hw.vga.textmode=1

PowerPC

Newcons is enabled by default in GENERIC in -CURRENT.

SPARC64

To enable Newcons on sparc64 in -CURRENT, set the loader tunable kern.vty=vt.

If using a custom kernel configuration ensure that the vt device is enabled. The sc device may be omitted.

#device        sc                                                      
device         vt                                                              

Font Support

The vtfontcvt(8) tool can convert BDF and HEX format font files for use by the vt(4) console.

For example, a 16x32 version of the terminus font can be created as follows:

  1. Obtain the latest Terminus font distribution and extract it

  2. Convert it to a vt(4) .fnt file:
    % vtfontcvt -w 16 -h 32 ter-u32n.bdf ter-u32b.bdf ter-u32.fnt
  3. Load it from a console window:
    % vidcontrol -f ter-u32.fnt

TODO

Feature

Status

Generic terminal layer for the kernel

DONE

Core of the vt driver, screen buffering, drawing, etc

DONE

Make the keyboard layer accept Unicode

DONE

Migrate syscons to xterm, to ease switching between vt(4) and syscons

DONE

Make kernel mode setting work: to be investigated.

DONE

Scrollback

Works

Moused support

Works

kbdcontrol(1)

In progress.

+--- kbdmap load

Works.

+--- kbdmux control

In progress. (pr191306)

kbdmap(1) front end

Works.

vidcontrol(1)

In progress

+--- Font load

Works

+--- Font console attributes

Works

+--- Colormap

Not yet

vidfont(1) front end

Unknown

Switch to text when required

Works

ddb(4) debugger

Works

Integration with X11

Works

vt(4) man page

DONE

double width character support

Done

CJK fonts

In progress

UTF-8 keymaps

DONE

Update FreeBSD Handbook

Unstarted

Keyboard and char map support for other than Unicode UTF-8

Unstarted

Architecture / Hardware Specific

amd64

Works (VGA/i915kms/radeonkms)

ARM

Works Framebuffer.

arm64

Unknown

i386

Works (VGA/i915kms/radeonkms)

IA64

Unknown

MIPS

Works

PPC

Works

SPARC

Works

VGA driver that supports at least 80x25 text mode and 640x480 graphics mode

DONE

VESA driver

Unimplemented

Graphics driver that works with Intel and ATI/AMD

DONE

i386/amd64 nvidia driver

Works

Xbox framebuffer driver (as a test, because it's easy to do so)

DONE

DRM notification on panic/reboot/shutdown/debugger

DONE

Screen saver

Unstarted

Known Issues

(updated on April 14, 2015)

Search for PRs tagged with the vt keyword

Fixed Issues

Credits

Significant contributors to vt(4) include:

Newcons (last edited 2015-05-14 16:07:56 by EdMaste)