Hi,
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 /config/tvservice
.
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
hdmi_group=1
hdmi_mode=33
to /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/tvservice
and does not mention/config/userconfig.txt
. - 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/tvservice
and/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.
regards
christian