I just picked up a Pi 4 and imaged a new card with Raspbian Buster. I'm running this headless (using VNC) but noticed the resolution doesn't match what I've set via raspi-config
(which updates /boot/config.txt
).
I selected DMT mode 82 (1920 x 1080) and I can see /boot/config.txt
has:
# uncomment if hdmi display is not detected and composite is being output hdmi_force_hotplug=1 # uncomment to force a specific HDMI mode (this will force VGA) hdmi_group=2 hdmi_mode=82
That looks right. Then I check fbset --show
and it reads:
pi@tims-raspi4:~ $ fbset --show mode "1920x1080" geometry 1920 1080 1920 1080 32 timings 0 0 0 0 0 0 0 accel true rgba 8/16,8/8,8/0,0/0 endmode
So that also looks right. But I can clearly see the window is not as larger as my Pi 3B+.
I checked xdpyinfo
to see what X thinks it has for a display and the relevant section reads:
default screen number: 0 number of screens: 1 screen #0: dimensions: 1024x768 pixels (270x203 millimeters)
So that's a problem... X is using a lower display resolution than the frame buffer provides.
So finally, I used xrandr -s 1920x1080
to force X to use that resolution -- and this works! (yay!)
BUT puzzlingly... if I reboot, it's right back to the lower 1024x768 resolution despite the frame buffer being in 1920x1080 mode.
This is basically a generic Buster install (downloaded the image from Raspberrypi.org) and the only thing I've done to it is set a hostname, configured wi-fi, enabled ssh, and enabled VNC (same as I've done with my previous Pis).
Any ideas why X is coming up with the wrong resolution?
Note: I did test commenting the hdmi_force_hotplug
line. This did not work (it resulted in having no graphical frame buffer). I had to revert back. I'm wondering if there might have been some lingering settings from a previous OS that made the difference.