Headless Raspberry Pi + VNC: useful resolution

Breadboards of Canada …

I just set up a Raspberry Pi Zero to be a little breadboard computer. Running a headless machine only through SSH gets a bit dull at times, so the inclusion of VNC Connect in Raspbian is handy.

Only problem was that the default screen size — something like 720×480 — was too small for most dialogue windows. Here’s how to enable a more useful resolution of 1024 × 768.

All of these are enabled from the raspi-config tool, so open a terminal and start it with:

sudo raspi-config

Enable Boot to Desktop

Select 3 Boot OptionsB1 Desktop / CLIB4 Desktop Autologin:



Enable VNC on Startup

Select 5 Interfacing OptionsP3 VNC, and answer Yes to Would you like the VNC Server to be enabled?:


Set Screen Resolution

Select 7 Advanced OptionsA5 ResolutionDMT Mode 16 (1024×768) …:


Once you’ve enabled all of these, raspi-config will ask if you wish to reboot your Raspberry Pi. Once it has rebooted, you should have a usable remote desktop.

(All of the above screenshots were taken from a headless Raspberry Pi Zero via VNC.)

Before & After

These were taken later on a Raspberry Pi 2 I’m setting up for a maker festival booth:

decidedly smol: 720×480
fix it to 1024×768 …
so much better!

8 comments

    • What did you try?
    • What went wrong?
    • Are you running Raspbian at the latest version?

    I just ran through this, and all the options are in the right places still.

  1. Rats, it looked promising but had no effect on my Raspberry Pi 4 either. After reboot, the VNC server came back still offering 1024×768, even though when I went back in to raspi-config, it showed the 1280×1024 option I had chosen as still selected. There must be something else overriding this.

  2. What I ended up having to do in order to get this to work was find the following lines in /boot/config.txt and uncomment the last two. Change the values to whatever works for you, I liked width=1280 and height=1024.

    # uncomment to force a console size. By default it will be display’s size minus
    # overscan.
    #framebuffer_width=1280
    #framebuffer_height=720

  3. Thanks for this.,
    I have a gaggle of pi4s, a pi3, loads of Zeros and I have had to use RDP for all of the work on the GUI from a windows machine.
    Now I can use my desktop pi4s and VNC as necessary and build this into the heagless builds for all of the SD cards

Leave a comment

Your email address will not be published. Required fields are marked *