NetBSD 7.1 (GENERIC.201703111743Z) amd64

In TTY without gui , the better screen resolution is set at boot time but the font is really to small.
So how to change that

On debian dpkg-reconfigure console-setup
in grub GRUB_GFXMODE=800x600

I find wsconscfg with a example :

wsconscfg -t 80x50 -e vt100 3

but I get

wsconscfg: WSDISPLAYIO_ADDSCREEN: Device not configured

I look at man wsconscfg wsconsctl wscons wsdisplay vga etc..
All of them link to the other but I can't find a way.

2 Answers 2


Look in /etc/wsconf.conf. It allows you to configure the terminal environment that is used at boot time, including using different fonts. On PC hardware, you're limited to a few text sizes: 80x25, 80x43, and 80x50. 80x50 is the smallest font (but you can fit 50 lines on the screen, so it's very useful.)

If you use 80x50 mode (mentioned in your example) you need to first load the 8-pixel high font; the configuration for which is found near the top of the file I mentioned. You can also use the wsfontload command to load the font from the shell.

Note, I've never configured a NetBSD system for 80x43 mode. I think it might require the 8-pixel high font as well.

  • Thanks for reply but i try all of that. With setvar ttyE2 font latin2, I get ttyE2: wsconsctl: WSDISPLAYIO_SFONT : Invalid argument. I think I miss a step somewhere but I can't find it. Always I try wsconscfg with -t and a size, I get wsconscfg: WSDISPLAYIO_ADDSCREEN: Device not configured
    – ctac_
    Commented Aug 19, 2018 at 19:26
  • I think you need the ws support compiled into your kernel.
    – RichN
    Commented Mar 24, 2020 at 20:04

In case anyone's looking for better clues I'll post my /etc/wscons.conf for reference. This doesn't enable latin2 (but instead enables 80x50 screens), but that can be done by commenting out a couple of lines, and uncommenting a couple of other lines.

#   $NetBSD: wscons.conf,v 1.19 2011/07/22 19:06:23 christos Exp $
# workstation console configuration

# fonts to load
# Note that not all wsdisplay(4) driver implementations are capable of
# loading fonts.
# Note:  You must uncomment the 'font ibm - 8' line to get a useful font for
#        any 50 line screens on vga(4) screens, and otherwise you may get what
#        appears to be a black-on-black display.
# - 50-line screens need fonts with a height of 8 pixels
# - 40-line screens need fonts with a height of 10 pixels.
#   name    width   height  enc file
font    ibm -   8   ibm /usr/share/wscons/fonts/vt220l.808
font    ibm10   -   10  ibm /usr/share/wscons/fonts/vt220l.810
font    ibm16   -   16  ibm /usr/share/wscons/fonts/vt220l.816

# You could use the '80x50bf" screen type and also load the "pcvt08" font into
# the upper half of the extended character set, but doing so limits the number
# of colours to 8 instead of the standard 16.
# Note: the upper half of the "pcvt" encoded fonts are only useful
# with the "*bf" screen types of the "vga" driver.  The kernel must be
# compiled with the option "WSCONS_SUPPORT_PCVTFONTS" turned on.  See
# vga(4) and wsfontload(8).
#font   pcvt    -   -   pcvt    /usr/share/wscons/fonts/vt220h.816
#font   pcvt    -   8   pcvt    /usr/share/wscons/fonts/vt220h.808

# Font for central european languages (ISO 8859-2).
#  Uncomment to load. Needs to be explicitly enabled (see below).
#font   latin2  -   16  iso /usr/share/wscons/fonts/latin2.816

# screens to create
# Available emulations depend on which wscons(4) WSEMUL_* kernel
# options have been used.  "vt100", "sun" and "dumb" are the ones
# currently supported in the driver, and which are available by
# default depends on which architcture is in use.
# Note the "vt100" emulation should be used with the "TERM=wsvt25" or
# "TERM=wsvt25m", especially for applications using NetBSD curses(3).
# See ega(4), vga(4), etc. for supported screen types.
# Note: You must uncomment the 'font    ibm' line above to get a useful
#   font for any 50 line screens.
#   index   type    emul
# Screen 0 is already configured as console in most cases.
#  Uncomment if a serial console is used.
screen  0   80x50   vt100
screen  1   80x50   vt100
screen  2   80x50   vt100
screen  3   80x50   vt100
screen  4   80x50   vt100
screen  5   80x50   vt100
# leave the last active one as 80x25 just in case the font load fails
screen  6   80x25   vt100
# Screen 7 is for the X11 server started by xdm (on vt08) to attach to
screen  7   -   -

# Keyboard and mux are automatically configured if they are the console.
#  Uncomment the next two lines if a serial console is used.
#keyboard   auto

# Select a kernel builtin keyboard map by uncommenting the following line and
# altering the country code to your requirements
# (choose from user, us, uk, be, cz, dk, nl, fi, fr, de, gr, hu, it, jp, no,
# pl, pt, ru, es, sv, sf, sg, ua)
# See wsconsctl(8), pckbd(4), ukbd(4) etc. for more details.
#encoding sv
# N.B.:  you will want to disable swapctrlcaps if using VirtualBox on
# a host which already has had the swapping done on it!
# Also N.B.:  the virtual console swapping may still use the "real" Ctrl-L key
encoding us.swapctrlcaps

# Redefine individual keys from a file containing "keysym" and/or "keycode"
# entries.
# See wsconsctl(8) and /usr/share/wscons/keymaps for more details.
#mapfile /usr/share/wscons/keymaps/pckbd.sv.svascii

# Set arbitrary wscons variable using specified control device
#   ctldev  var     value
#setvar ttyE0   font        ibm
#setvar ttyE1   font        ibm

# Uncomment for ISO 8859-2 support
#setvar ttyE0   font        latin2
#setvar ttyE1   font        latin2
#setvar ttyE2   font        latin2
#setvar ttyE3   font        latin2

# Change keyboard repeat speed to faster settings.
#setvar wskbd   repeat.del1 250
#setvar wskbd   repeat.deln 30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .