mirror of
https://github.com/linuxboot/heads.git
synced 2024-12-24 07:06:42 +00:00
98fc0cb81a
Based on feedback, 1440p displays can benefit from 2x console as well. Err toward a font too large rather than too small and lower the threshold to 1350, which is the threshold fbwhiptail uses for 1.5x. Signed-off-by: Jonathon Hall <jonathon.hall@puri.sm>
39 lines
1.3 KiB
Bash
Executable File
39 lines
1.3 KiB
Bash
Executable File
#!/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
|