Display resolution hack?

Hey John,

you could do the following:

  1. Open a terminal window on the controller (by typing <Ctrl>+t <Ctrl>+c), or ssh into the controller (as user “bbmc” with password “onefinity”).
  2. Then enter the following commands:
sudo -i
mount -o remount,rw /boot
cd /boot
cp -ai config.txt config.old
nano config.txt

Inside nano editor, jump at the end of file and add the following lines:

hdmi_group=2
hdmi_mode=82
# Note: HDMI mode 82 is 1920 x 1080p, 60 Hz

Note: This setting will set the display resolution to FullHD with 60 Hz. For other resolutions see the link below.

Exit nano with saving file by doing <Ctrl>-x, y, <Enter>. Then enter the command:

reboot

Note: Be sure that in /boot/config.txt, there is no line active that says hdmi_safe=1

Explanation: The default behaviour at boot is that the video core requests the monitor’s capabilities like maximum resolution using EDID. This may fail in case the monitor is not ready at boot and result in a fallback to VGA resolution. Forcing a HDMI Mode in /boot/config.txt works around the problem by avoiding EDID auto-detect. This way I never have to worry to turn on monitors first. I even have raspis that are connected to a KVM switch which see no monitor at all, but with this method they always boot with the right resolution. The only disadvantage is that the resolution is fixed by configuration then, so you got to remember to alter this setting in case you replace the monitor by one with a different resolution.

I use ‘hdmi_mode’ in /boot/config.txt in all my raspis, since I rarely change the monitor that they are conntected to.

Further reading

2 Likes