Newcons

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

Obtaining vt(4)

Newcons is in HEAD as of r259016.

Testing

i386/amd64

To enable Newcons on i386 or amd64, remove the vga and sc drivers, and add vt and vt_vga to the kernel configuration file. If using the GENERIC kernel instead of a custom kernel, consider specifying KERNCONF=VT during the buildkernel stage.

#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

To enable Newcons on powerpc:

device         vt
#device        sc
#options       SC_OFWFB        # OFW frame buffer
#options       SC_DFLT_FONT    # compile font in
#makeoptions   SC_DFLT_FONT=cp437

SPARC64

To enable Newcons on sparc64 (only some ATI cards):

device         vt
#device        sc
#device        creator
#device        machfb
#device        splash

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)

Unknown

kbdmap(1) front end

Unknown

vidcontrol(1)

In progress (patch discussion)

vidfont(1) front end

Unknown

Switch to text when required

Works

ddb(4) debugger

Works

Integration with X11

Works

newcons(4)/vt(4) man page

Todo, see syscons(4)

double width character support

Done

CJK fonts

In progress

Update FreeBSD Handbook

Unstarted

Architecture / Hardware Specific

amd64

Works (VGA/i915kms/radeonkms)

ARM

Works Framebuffer.

i386

Works (VGA/i915kms/radeonkms)

IA64

Unknown

MIPS

Unknown

PPC

Works, no X11

SPARC

Works on some hardware (Ultra 5)

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

DONE

VESA driver

Unknown

Graphics driver that works with Intel and ATI/AMD

DONE

i386/amd64 nvidia driver

Unknown

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

DONE

Known Issues (Apr 7, 2014)

Fixed Issues (Apr 7, 2014)

Newcons (last edited 2014-04-07 11:18:19 by AleksandrRybalko)