#!/bin/bash set -eo pipefail . /etc/functions TRACE "Under /bin/setconsolefont.sh" # If the board ships setfont, and the console size is >=1600 lines tall, # increase the console font size. if [ ! -x /bin/setfont ]; then DEBUG "Board does not ship setfont, not checking console font" exit 0 fi if [ ! -f /sys/class/graphics/fb0/virtual_size ]; then DEBUG "fb0 virtual size is not known" exit 0 fi CONSOLE_HEIGHT="$(cut -d, -f2 /sys/class/graphics/fb0/virtual_size)" # Deciding scale based on resolution is inherently heuristic, as the scale # really depends on resolution, physical size, how close the display is to the # user, and personal preference. # # fbwhiptail starts using 1.5x scale at 1350 lines, but we can only choose 1x # or 2x (without shipping more fonts). Err toward making the console too large # rather than too small and go to 2x at 1350 lines. if [ "$CONSOLE_HEIGHT" -ge 1350 ]; then DEBUG "Double console font size due to framebuffer height $CONSOLE_HEIGHT" # Double the default font size by reading it out, then applying it again # with setfont's -d option (double font size) setfont -O /tmp/default_font setfont -d /tmp/default_font rm /tmp/default_font else DEBUG "Keep default console font size due to framebuffer height $CONSOLE_HEIGHT" fi