# Nicer console font?



## Toolforger (Feb 8, 2020)

My situation:

 No X, just the text console on a directly-connected VGA monitor.
25x80 is just too little, so I used vidcontrol to switch to 1600x1200 with 8x16 font. Works like a charm, but:
Characters touch horizontally. This is particularly annoying in text like "0x00000000", which is a pretty common thing I see on-screen.
Any advice on how to get a less-wide font activated?
I prefer simple approaches over complicated ones, both because I'm a FreeBSD newb and because complexity is the enemy of the machine's end purpose.


----------



## T-Daemon (Feb 8, 2020)

I assume you are using vt(4), try vidfont(1). If nothing there is to your liking then you need to find yourself BDF or HEX format font files and convert them to .fnt with vtfontcvt(8).
https://wiki.freebsd.org/Newcons (Font Support)


----------



## Toolforger (Feb 8, 2020)

Ah, I forgot to mention: I had to switch to sc to be able to switch video modes at all.
Or, let's say, I didn't even try because vidmode -i mode would give me an empty list.


----------



## memreflect (Feb 10, 2020)

Toolforger said:


> Ah, I forgot to mention: I had to switch to sc to be able to switch video modes at all.
> Or, let's say, I didn't even try because vidmode -i mode would give me an empty list.


`vidcontrol -i mode` on 12.1 gives me an empty list as well, but vidcontrol(1) mostly doesn't work with vt(4), so that's kinda expected (RIP uber-cool Beastie screensaver...)

That said, I'm rocking 1024x768 in vt if I use the UEFI framebuffer or load the i915kms graphics drivers installed by graphics/drm-kmod with `efi_max_resolution="1024x768"` and `kern.vt.fb.default_mode="1024x768"` configured in loader.conf(5).  For a nicer font, you'll also certainly want to use vt as the font output by vtfontcvt(8) for use by vt won't work with syscons due to a difference in file format (and no tool I'm aware of will work with the font format used by syscons).

If you're forced to stick with syscons, you might try a different video mode to get around your trouble with characters touching as I didn't experience that at any time when I tried switching video modes a few times to test, whether I used the default font or any of those I chose using vidfont(1).  Unfortunately, this means you may be stuck with a lower resolution and fonts that are not terribly pleasing to the eye.


----------



## Toolforger (Feb 12, 2020)

memreflect said:


> That said, I'm rocking 1024x768 in vt if I use the UEFI framebuffer or load the i915kms graphics drivers installed by graphics/drm-kmod with `efi_max_resolution="1024x768"` and `kern.vt.fb.default_mode="1024x768"` configured in loader.conf(5).



Are there instructions how to follow that framebuffer or graphics driver route?

I'm a bit reluctant experimenting with this, both UEFI and graphics drivers require specific hardware, and while I believe my machine should have it, I haven't tried, and I fear getting into an unbootable state by accident. (I can alway reinstall, but it involves opening the casing and swapping USB sticks.)


----------



## SirDice (Feb 12, 2020)

Toolforger said:


> Are there instructions how to follow that framebuffer or graphics driver route?


Configuring vt(4) doesn't require any specific hardware or boot method. 



Toolforger said:


> I'm a bit reluctant experimenting with this, both UEFI and graphics drivers require specific hardware, and while I believe my machine should have it, I haven't tried, and I fear getting into an unbootable state by accident.


Check the partitions on disk. If you have both efi and freebsd-boot partitions you can switch back and forth between UEFI and CSM boots without having to make any drastic changes to your installation. If you only have a freebsd-boot partition you cannot UEFI boot it (even if your machine supports it).


----------



## Toolforger (Feb 12, 2020)

`gpart show` shows only a freebsd-boot, no efi.


----------



## Toolforger (Feb 12, 2020)

So I guess I'm stuck with sc, right?


----------



## memreflect (Feb 12, 2020)

Toolforger said:


> So I guess I'm stuck with sc, right?


Not necessarily.  Remember to switch back to vt, then you can do the following.

Since you don't have UEFI available, you will need to go the graphics driver route.

To do that, you can install graphics/drm-kmod, assuming your GPU (integrated or not) is new enough.  Otherwise, you can install graphics/drm-legacy-kmod.  Bear in mind, however, that this is only for Intel and AMD GPUs.  Thread howto-setup-xorg-with-nvidias-driver.52311 is a guide for Nvidia; you can ignore the Xorg parts and just install the correct package.

If you want to test the driver before enabling the driver at boot time, you can simply use `kldload {driver}` as root to load the driver immediately.  Note that you may need to load /boot/modules/drm2.ko (drm-legacy-kmod) or /boot/modules/drm.ko (drm-kmod) before i915kms to avoid the issue described in Thread obsolete-abandonware-drm-legacy-kmod.70344.  In my case, I would load the i915kms driver using `kldload /boot/modules/drm.ko /boot/modules/i915kms.ko`, but you might load the amdgpu driver, the radeonkms driver, the nvidia-modeset driver, or the nvidia driver, depending on what GPU you have (see the link appearing as 'your GPU (integrated or not) is new enough' above).


----------

