Setting the video mode on the Pi4 works a little bit different than on the older Pi’s and as documented.
I usually set a fixed video output mode for all devices that i deploy because i often have to work with broken screens as well as video mixers that don’t send proper EDID information.
In the past i used to do this using the file
Unfortunately this does not work on the Pi4. It briefly works during boot but as soon as the setup is loaded it switches back to automatic detection.
I can manually fix this by ssh-ing into the box and running the
tvservice binary (i.e.
tvservice -e "CEA 33"). After that i also have to restart the infobeamer binary to fix the OpenGL screen size. Of course this workaround is far from being feasible - especially since the video output resolution is reset whenever a new setup gets assigned to the device.
After some tinkering i found out that it is possible to force the resolution on the Pi4 by writing something like this
/config/userconfig.txt. So everything is basically fine now but i still have some questions:
- What’s the preferred way to force the output resolution on the Pi4? The documentation tells me to use
/config/tvserviceand does not mention
- Are there any drawbacks to use
/config/userconfig.txt? I did some testing with a Pi3, a PiZero W and a Pi1. All of which used the correct resolution once i added the above settings to the file.
- Is it problematic if i just use both
/config/userconfig.txt? Since i’m using ansible to generate the
/config/directory on the SD cards the extra work to do both is not really an issue.